
/* ==========================================================
   SOON FOOTER V15 — EXACT USER-UPLOADED SOCIAL ICONS
   - Uses the actual SVG files uploaded by the user.
   - Detects Instagram etc. from either platform name OR URL.
   - Absolute centering prevents glyphs drifting to circle edges.
   ========================================================== */

.footer .brand-foot img{
    width:128px !important;
    height:128px !important;
    object-fit:contain !important;
    margin:0 0 10px 0 !important;
}

.footer .footer-contact-col{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:5px !important;
}

.footer .footer-contact-col > strong{
    margin:0 0 3px 0 !important;
}

.footer .footer-contact-col > .footer-contact{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* One strict row */
.footer .footer-contact-col > .footer-socials{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:11px !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    margin:10px 0 0 0 !important;
    padding:0 !important;
}

/* Outer premium red circle */
.footer .footer-grid .footer-contact-col .footer-socials > a.footer-social{
    position:relative !important;
    box-sizing:border-box !important;

    display:block !important;

    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;

    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;

    flex:0 0 42px !important;

    margin:0 !important;
    padding:0 !important;

    border:1.2px solid #ed1c24 !important;
    border-radius:50% !important;

    background:transparent !important;
    overflow:hidden !important;

    direction:ltr !important;
    white-space:normal !important;
    line-height:1 !important;

    transition:
        background-color .24s ease,
        border-color .24s ease,
        transform .24s ease,
        box-shadow .24s ease !important;
}

/* Exact uploaded icon centered mathematically */
.footer .footer-social .social-uploaded-icon{
    position:absolute !important;
    top:50% !important;
    left:50% !important;

    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    min-height:23px !important;
    max-width:23px !important;
    max-height:23px !important;

    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;

    margin:0 !important;
    padding:0 !important;

    transform:translate(-50%,-50%) !important;

    pointer-events:none !important;
    transition:filter .24s ease, transform .24s ease !important;
}

/* Some uploaded SVGs include their own round badge, so keep a consistent visual size. */
.footer .footer-social:hover,
.footer .footer-social:focus-visible{
    background:#ed1c24 !important;
    border-color:#ed1c24 !important;
    transform:translateY(-2px) !important;
    box-shadow:
        0 6px 18px rgba(237,28,36,.22),
        0 0 12px rgba(237,28,36,.10) !important;
}

/* On hover turn the actual uploaded artwork white */
.footer .footer-social:hover .social-uploaded-icon,
.footer .footer-social:focus-visible .social-uploaded-icon{
    filter:brightness(0) invert(1) !important;
    transform:translate(-50%,-50%) scale(1.04) !important;
}

/* Unknown platform fallback */
.footer .social-fallback{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:8px !important;
    height:8px !important;
    border-radius:50% !important;
    background:#ed1c24 !important;
    transform:translate(-50%,-50%) !important;
}

/* Designer credit */
.footer .designer-credit{
    font-size:12.5px !important;
}
.footer .designer-credit a{
    color:#fff !important;
    font-weight:800 !important;
}
.footer .designer-credit a:hover{
    color:#ed1c24 !important;
}

/* Mobile */
@media(max-width:640px){

    .footer .brand-foot img{
        width:106px !important;
        height:106px !important;
        margin:0 auto 8px !important;
    }

    .footer .footer-contact-col{
        align-items:center !important;
    }

    .footer .footer-contact-col > .footer-socials{
        justify-content:center !important;
        gap:9px !important;
        width:auto !important;
        min-width:0 !important;
        max-width:100% !important;
        margin-top:8px !important;
    }

    .footer .footer-grid .footer-contact-col .footer-socials > a.footer-social{
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;

        height:38px !important;
        min-height:38px !important;
        max-height:38px !important;

        flex:0 0 38px !important;

        border-width:1.1px !important;
    }

    .footer .footer-social .social-uploaded-icon{
        width:21px !important;
        height:21px !important;
        min-width:21px !important;
        min-height:21px !important;
        max-width:21px !important;
        max-height:21px !important;
    }

    .footer .footer-social:hover{
        transform:none !important;
    }
}
