/* BBMALYA Stream Theme v3.0.0 - Precision patch layer (loaded last) */

:root {
    --bb-fixed-offset: 108px;
    --bb-adminbar-offset: 0px;
    --bb-fixed-offset-mobile: 92px;
}

body.admin-bar {
    --bb-adminbar-offset: 32px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --bb-adminbar-offset: 46px;
    }
}

/* Keep header predictable and avoid desktop overlap */
.bb-bar {
    min-width: 0;
    flex-wrap: nowrap;
}

.bb-nav {
    min-width: 0;
    overflow: hidden;
}

.bb-menu {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: clamp(10px, 1.15vw, 20px);
}

.bb-menu > li {
    flex: 0 0 auto;
}

.bb-menu li a {
    font-size: clamp(12px, 0.82vw, 14px);
}

.bb-right {
    flex: 0 0 auto;
}

.bb-search.is-open .bb-search-input {
    width: min(220px, 24vw);
}

/* Compact header states are applied by JS only when needed */
@media (min-width: 1025px) {
    .bb-header--compact .bb-logo-text {
        font-size: 16px;
        letter-spacing: 0.06em;
    }

    .bb-header--compact .bb-menu {
        gap: 12px;
    }

    .bb-header--compact .bb-menu li a {
        font-size: 12px;
    }

    .bb-header--compact .bb-right {
        gap: 10px;
    }

    .bb-header--ultra .bb-search {
        display: none;
    }

    .bb-header--ultra .bb-menu li:nth-last-child(-n+2) {
        display: none;
    }

    .bb-header--ultra .bb-menu {
        gap: 10px;
    }

    body:not(.home) .bb-main,
    body:not(.home) #content,
    body:not(.home) .site-content,
    body:not(.home) main:not(.auth-main) {
        padding-top: calc(var(--bb-fixed-offset) + var(--bb-adminbar-offset)) !important;
    }
}

@media (max-width: 1024px) {
    body:not(.home) .bb-main,
    body:not(.home) #content,
    body:not(.home) .site-content,
    body:not(.home) main:not(.auth-main) {
        padding-top: calc(var(--bb-fixed-offset-mobile) + var(--bb-adminbar-offset)) !important;
    }
}

/* Admin bar compatibility */
body.admin-bar .bb-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .bb-header {
        top: 46px;
    }
}

/* Hero polish for wide screens */
.bb-hero {
    min-height: clamp(560px, 85vh, 980px);
}

@media (min-width: 1920px) {
    .bb-container {
        max-width: 1800px;
    }

    .bb-hero-content {
        max-width: 680px;
    }
}

/* Accessibility */
.bb-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    background: #fff;
    color: #000;
    padding: 10px 14px;
    z-index: 3000;
    border-radius: 0 0 8px 0;
    font-weight: 700;
}

.bb-skip-link:focus {
    left: 12px;
    top: 12px;
}

.bb-menu a:focus-visible,
.bb-icon-btn:focus-visible,
.bb-btn:focus-visible,
.bb-avatar-btn:focus-visible,
.bb-hamburger:focus-visible,
.bb-dropdown a:focus-visible,
.bb-dropdown button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
