/* FKS Core v0.12.0 — narrowly scoped frontend hotfixes. */

/* 1) First-party social/profile brand art. */
.fks-core-v012 .fks-v012-social-link .fks-v012-social-logo {
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    vertical-align: middle !important;
    flex: 0 0 auto !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}
.fks-core-v012 .fks-v012-social-link .fks-v012-replaced-logo { display: none !important; }
.fks-core-v012 .fks-v012-social-link.fks-v012-icon-only {
    font-size: 0 !important;
    line-height: 0 !important;
}
.fks-core-v012 .fks-v012-social-link.fks-v012-icon-only .fks-v012-social-logo {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
}
.fks-core-v012 .fks-v012-social-fallback {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 28px !important;
    padding: 0 7px !important;
    border: 1px solid currentColor !important;
    border-radius: 7px !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}
.fks-v012-social-page-contact .fks-v012-social-link .fks-v012-social-logo { width: 42px !important; height: 42px !important; }
.fks-v012-social-page-music .fks-v012-social-link .fks-v012-social-logo { width: 38px !important; height: 38px !important; }

/* 3) Media Kit — Companies & Ventures should use horizontal space, not a long vertical rail. */
.fks-core-v012 .fks-v012-companies-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
    gap: clamp(12px, 2vw, 22px) !important;
    width: 100% !important;
    max-width: none !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    margin-inline: 0 !important;
}
.fks-core-v012 .fks-v012-companies-grid > .fks-v012-company-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: stretch !important;
}
.fks-core-v012 .fks-v012-company-card img {
    display: block !important;
    width: auto !important;
    max-width: min(100%, 110px) !important;
    max-height: 58px !important;
    margin-inline: auto !important;
    object-fit: contain !important;
}

/* 4) Homepage Light Mode hero portrait — remove the washed/faded layer only in Light Mode. */
html[data-theme="light"] body.home.fks-core-v012 .fks-v012-hero-img,
html[data-theme="light"] body.home.fks-core-v012 .fks-v012-hero-media {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
}
html[data-theme="light"] body.home.fks-core-v012 .fks-v012-hero-img {
    position: relative !important;
    z-index: 8 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}
html[data-theme="light"] body.home.fks-core-v012 .fks-v012-hero-media::before,
html[data-theme="light"] body.home.fks-core-v012 .fks-v012-hero-media::after {
    opacity: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* 5) Homepage About image — keep the face in-frame on desktop and mobile. */
body.home.fks-core-v012 .fks-v012-about-media { overflow: hidden !important; }
body.home.fks-core-v012 .fks-v012-about-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

/* 6) Reverse only the AS FEATURED IN marquee. Selected Organizations keeps its original direction. */
body.home.fks-core-v012 .fks-v012-featured-track {
    animation-direction: reverse !important;
    -webkit-animation-direction: reverse !important;
}

/* 8) Mobile menu behavior — desktop navigation is untouched. */
.fks-core-v012 .fks-v012-mobile-menu { display: none; }

@media (max-width: 780px) {
    /* 7) Mobile-only hero enlargement. Desktop hero geometry is intentionally untouched. */
    body.home.fks-core-v012 .fks-v012-hero-media {
        overflow: visible !important;
    }
    body.home.fks-core-v012 .fks-v012-hero-img {
        transform: scale(1.28) translate3d(5%, 1%, 0) !important;
        transform-origin: right center !important;
        max-width: none !important;
    }

    body.home.fks-core-v012 .fks-v012-about-img {
        object-position: center top !important;
    }

    .fks-core-v012 .fks-v012-companies-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .fks-core-v012 .fks-v012-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        min-height: 40px !important;
        padding: 8px 12px !important;
        border: 1px solid rgba(127,127,127,.28) !important;
        border-radius: 999px !important;
        background: color-mix(in srgb, var(--fks-surface, #fff) 92%, transparent) !important;
        color: var(--fks-text, currentColor) !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.07) !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: .12em !important;
        line-height: 1 !important;
        text-decoration: none !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 10002 !important;
    }

    .fks-core-v012 .fks-v012-mobile-menu {
        display: block !important;
        position: fixed !important;
        inset: 68px 14px auto 14px !important;
        z-index: 10001 !important;
        padding: 12px !important;
        border: 1px solid rgba(127,127,127,.24) !important;
        border-radius: 18px !important;
        background: color-mix(in srgb, var(--fks-surface, #fff) 96%, transparent) !important;
        color: var(--fks-text, #111827) !important;
        box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-8px) scale(.985) !important;
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    }
    body.admin-bar.fks-core-v012 .fks-v012-mobile-menu { inset-block-start: 114px !important; }
    body.fks-v012-menu-open .fks-v012-mobile-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) scale(1) !important;
    }
    .fks-core-v012 .fks-v012-mobile-menu-links {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 8px !important;
    }
    .fks-core-v012 .fks-v012-mobile-menu-links a {
        display: flex !important;
        align-items: center !important;
        min-height: 44px !important;
        padding: 10px 12px !important;
        border-radius: 11px !important;
        color: inherit !important;
        background: rgba(127,127,127,.07) !important;
        text-decoration: none !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }
    .fks-core-v012 .fks-v012-mobile-menu-links a:hover,
    .fks-core-v012 .fks-v012-mobile-menu-links a:focus-visible {
        background: rgba(127,127,127,.14) !important;
        outline: none !important;
    }
}

@media (max-width: 520px) {
    .fks-core-v012 .fks-v012-companies-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .fks-core-v012 .fks-v012-social-link .fks-v012-social-logo { width: 30px !important; height: 30px !important; }
    body.home.fks-core-v012 .fks-v012-hero-img {
        transform: scale(1.34) translate3d(7%, 0, 0) !important;
    }
}

/* Brand-mark slots discovered outside their profile links (Contact/Music cards). */
.fks-core-v012 .fks-v012-brand-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 38px !important;
}
.fks-core-v012 .fks-v012-brand-mark .fks-v012-social-logo {
    margin: 0 !important;
}
@media (max-width: 780px) {
    html[data-theme="dark"] .fks-v012-mobile-menu {
        background: rgba(15, 23, 42, .96) !important;
        color: #f8fafc !important;
        border-color: rgba(255,255,255,.14) !important;
    }
}
