/**
 * Social Icons Pro - Frontend Styles
 * Responsive social media icons display
 */

/* ==========================================================================
   Base Container
   ========================================================================== */
.sip-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sip-icon-spacing, 10px);
    padding: 10px 0;
    align-items: center;
}

/* Alignment */
.sip-social-icons.sip-align-left {
    justify-content: flex-start;
}

.sip-social-icons.sip-align-center {
    justify-content: center;
}

.sip-social-icons.sip-align-right {
    justify-content: flex-end;
}

/* ==========================================================================
   Icon Links
   ========================================================================== */
.sip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--sip-icon-size, 32px);
    height: var(--sip-icon-size, 32px);
    min-width: var(--sip-icon-size, 32px);
    min-height: var(--sip-icon-size, 32px);
    max-width: var(--sip-icon-size, 32px);
    max-height: var(--sip-icon-size, 32px);
    background-color: var(--sip-brand-color, #333);
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.sip-icon img,
.sip-icon svg {
    width: 60% !important;
    height: 60% !important;
    max-width: 60% !important;
    max-height: 60% !important;
    object-fit: contain;
    filter: brightness(0) invert(1);
    transition: all 0.3s ease;
}

/* ==========================================================================
   Icon Styles
   ========================================================================== */

/* Circle Style (Default) */
.sip-style-circle .sip-icon {
    border-radius: 50%;
}

/* Square Style */
.sip-style-square .sip-icon {
    border-radius: 0;
}

/* Rounded Style */
.sip-style-rounded .sip-icon {
    border-radius: 20%;
}

/* Flat Style */
.sip-style-flat .sip-icon {
    background: transparent;
    border: 2px solid var(--sip-brand-color, #333);
}

.sip-style-flat .sip-icon img {
    filter: none;
}

/* ==========================================================================
   Hover Effects
   ========================================================================== */

/* Scale Effect */
.sip-hover-scale .sip-icon:hover {
    transform: scale(1.15);
}

/* Rotate Effect */
.sip-hover-rotate .sip-icon:hover {
    transform: rotate(360deg);
}

/* Bounce Effect */
.sip-hover-bounce .sip-icon:hover {
    animation: sip-bounce 0.5s ease;
}

@keyframes sip-bounce {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-8px); }
    50% { transform: translateY(0); }
    75% { transform: translateY(-4px); }
}

/* Glow Effect */
.sip-hover-glow .sip-icon:hover {
    box-shadow: 0 0 20px var(--sip-brand-color, rgba(0, 0, 0, 0.5));
}

/* Fade Effect */
.sip-hover-fade .sip-icon {
    opacity: 0.7;
}

.sip-hover-fade .sip-icon:hover {
    opacity: 1;
}

/* ==========================================================================
   Monochrome Mode
   ========================================================================== */
.sip-social-icons[data-color="monochrome"] .sip-icon {
    background-color: #333;
}

.sip-social-icons[data-color="monochrome"] .sip-icon:hover {
    background-color: #555;
}

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */
@media (max-width: 768px) {
    .sip-social-icons {
        gap: calc(var(--sip-icon-spacing, 10px) * 0.8);
    }
}

@media (max-width: 480px) {
    .sip-social-icons {
        gap: calc(var(--sip-icon-spacing, 10px) * 0.6);
    }
}

/* ==========================================================================
   Accessibility
   ========================================================================== */
.sip-icon:focus {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.sip-icon:focus-visible {
    outline: 2px solid var(--sip-brand-color, #4f46e5);
    outline-offset: 2px;
}

/* Screen reader text */
.sip-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .sip-social-icons {
        display: none;
    }
}
