/* Vibe Radio: language button and its scoped disclosure menu. */
body.vibe-site .navbar-nav > .vibe-language-item {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    align-self: center;
    margin: 0 12px 0 24px;
    padding: 0 0 0 20px;
    border-left: 1px solid rgba(255,255,255,.16);
    list-style: none;
}
body.vibe-site .vibe-language-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    padding: 0 11px;
    border: 1px solid rgba(170,188,255,.22);
    border-radius: 12px;
    background: linear-gradient(145deg, #1b2232, #11151f);
    color: #edf1ff;
    box-shadow: inset 0 1px rgba(255,255,255,.05);
    font: 650 12px/1 system-ui, sans-serif;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease;
}
body.vibe-site .vibe-language-button:hover,
body.vibe-site .vibe-language-button[aria-expanded="true"] { border-color: #738be2; background: #242e47; }
body.vibe-site .vibe-language-code { letter-spacing: .06em; }
body.vibe-site .vibe-language-globe { width: 16px; height: 16px; color: #a9b9f5; }
body.vibe-site .vibe-language-chevron { width: 13px; height: 13px; color: #a9b9f5; transition: transform .18s ease; }
body.vibe-site .vibe-language-button[aria-expanded="true"] .vibe-language-chevron { transform: rotate(180deg); }
body.vibe-site .vibe-language-menu[hidden] { display: none !important; }
body.vibe-site .vibe-language-menu {
    position: absolute;
    z-index: 1050;
    top: calc(100% + 14px);
    right: 0;
    width: 216px;
    padding: 8px;
    border: 1px solid #353e54;
    border-radius: 16px;
    background: #11151f;
    box-shadow: 0 16px 44px rgba(0,0,0,.4);
    color: #f3f5ff;
    animation: vibe-language-reveal .16s ease both;
}
body.vibe-site .vibe-language-caption { padding: 8px 10px 10px; color: #96a3bf; font: 650 10px/1.3 system-ui; text-transform: uppercase; letter-spacing: .14em; }
body.vibe-site .vibe-language-menu [role="menuitemradio"] {
    display: grid;
    width: 100%;
    min-height: 40px;
    grid-template-columns: 28px 1fr 16px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #e7ebf6;
    font: 500 13px/1.3 system-ui, sans-serif;
    text-align: left;
    cursor: pointer;
}
body.vibe-site .vibe-language-menu [role="menuitemradio"]:hover,
body.vibe-site .vibe-language-menu [role="menuitemradio"]:focus-visible { background: #252d42; }
body.vibe-site .vibe-language-menu [aria-checked="true"] { background: #222c48; color: #fff; }
body.vibe-site .vibe-language-option-code { color: #a0b4fb; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
body.vibe-site .vibe-language-check { width: 16px; height: 16px; color: #a0b4fb; visibility: hidden; }
body.vibe-site [aria-checked="true"] > .vibe-language-check { visibility: visible; }
body.vibe-site .vibe-language-button:focus-visible,
body.vibe-site .vibe-language-menu button:focus-visible { outline: 2px solid #9bacff; outline-offset: 3px; }
@keyframes vibe-language-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
/* One search entry for each navigation layout. */
@media (min-width: 992px) {
    body.vibe-site .navbar .vibe-global-search-mobile-item { display: none !important; }
    body.vibe-site .navbar .vibe-global-search-nav-item { display: flex !important; }
    /* Let the language control share the free space equally between the
       final navigation link and the first visible social/search action. */
    body.vibe-site #navbarCollapse .navbar-nav.me-auto { flex: 1 1 auto; margin-right: 0 !important; }
    body.vibe-site #navbarCollapse .navbar-nav.sm-icons { flex: 0 0 auto; }
    body.vibe-site #navbarDropdown { margin-right: 0 !important; }
    body.vibe-site .navbar-nav > .vibe-language-item {
        flex: 1 0 auto;
        justify-content: center;
        margin: 0 !important;
        padding: 0 8px !important;
        border-left: 0;
    }
    body.vibe-site .vibe-language-menu { left: 50%; right: auto; margin-left: -108px; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    body.vibe-site .navbar .navbar-nav.me-auto > .nav-item > .nav-link { padding-inline: 10px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.vibe-site .navbar-nav > .vibe-language-item { margin-left: 14px; margin-right: 8px; padding-left: 14px; }
    body.vibe-site .navbar .navbar-nav.me-auto > .nav-item > .nav-link { font-size: 13px; padding-inline: 7px !important; }
    body.vibe-site .vibe-language-button { height: 36px; padding-inline: 9px; gap: 6px; }
}
@media (max-width: 991.98px) {
    body.vibe-site #navbarCollapse { max-height: calc(100dvh - 70px); overflow-y: auto !important; overscroll-behavior: contain; padding-bottom: calc(100px + env(safe-area-inset-bottom)); background: #000 !important; }
    body.vibe-site #navbarCollapse .navbar-nav.me-auto { background: #000 !important; }
    body.vibe-site .navbar .vibe-global-search-nav-item { display: none !important; }
    body.vibe-site .navbar .vibe-global-search-mobile-item { display: block !important; }
    body.vibe-site .navbar-nav > .vibe-language-item { align-self: stretch; margin: 12px 0 0; padding: 14px 0 4px; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
    body.vibe-site .vibe-language-button { min-height: 44px; padding-inline: 14px; }
    body.vibe-site .vibe-language-menu { position: static; margin-left: 12px; flex: 1; width: auto; padding: 5px; border-radius: 12px; box-shadow: none; }
    body.vibe-site .vibe-language-menu [role="menuitemradio"] { min-height: 44px; }
    body.vibe-site .vibe-language-item:has(.vibe-language-menu:not([hidden])) { align-items: flex-start; }
}
/* Small tablets use the existing collapsible navigation, rather than
   squeezing translated labels into a desktop row. */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.vibe-site .navbar > .container-fluid { display: block; padding-inline: 24px !important; }
    body.vibe-site .navbar > .container-fluid > .navbar-brand.d-md-block { display: none !important; }
    body.vibe-site .navbar > .container-fluid > .d-flex.d-md-none {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 90px;
        align-items: center;
        height: 56px;
        position: relative;
    }
    body.vibe-site .navbar .navbar-toggler { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; color: #fff; }
    body.vibe-site .navbar .navbar-toggler .close-icon,
    body.vibe-site .navbar .navbar-toggler.open .notes-icon { display: none; }
    body.vibe-site .navbar .navbar-toggler.open .close-icon { display: block; }
    body.vibe-site .navbar .mobile-logo { width: 74px; height: 44px; object-fit: contain; }
    body.vibe-site .navbar > .container-fluid > .d-flex.d-md-none > .navbar-brand { position: absolute; left: 50%; top: 50%; margin: 0 !important; transform: translate(-50%, -50%); }
    body.vibe-site .navbar > .container-fluid > .d-flex.d-md-none > .d-flex:last-child { grid-column: 3; width: 90px !important; min-width: 90px !important; justify-self: end; }
    body.vibe-site .vibe-header-community--mobile { display: grid; width: 90px; height: 44px; grid-template-columns: repeat(2, 44px); padding: 0; gap: 0; }
    body.vibe-site .vibe-header-community--mobile .vibe-header-community-action { width: 44px; min-width: 44px; height: 42px; padding: 0; }
    body.vibe-site .vibe-header-community--mobile .vibe-header-community-label { display: none; }
    body.vibe-site #navbarCollapse {
        display: none !important;
        position: absolute;
        top: 100%; left: 0; right: 0;
        width: 100%; height: auto !important;
        padding: 12px 24px 120px;
        border-top: 1px solid #262626;
        transition: none;
    }
    body.vibe-site #navbarCollapse.show,
    body.vibe-site #navbarCollapse.collapsing { display: block !important; }
    body.vibe-site #navbarCollapse .navbar-nav.me-auto { flex-direction: column; width: 100%; padding: 0; margin: 0 !important; }
    body.vibe-site #navbarCollapse .navbar-nav.sm-icons { display: none !important; }
    body.vibe-site .navbar #navbarCollapse .navbar-nav.me-auto > .nav-item > .nav-link { padding: 13px 0 !important; font-size: 18px; margin: 0; border-bottom: 1px solid #202020; }
    body.vibe-site #navbarCollapse .dropdown-menu { position: static; margin: 0; width: 100%; }
    body.vibe-site .vibe-global-search-trigger--menu { display: grid; grid-template-columns: 24px 1fr; align-items: center; justify-items: start; gap: 12px; width: 100%; height: 52px; padding: 0 16px; border: 1px solid #25414d; border-radius: 14px; background: #09171d; color: #55d7ff; }
    body.vibe-site .vibe-global-search-trigger--menu > span { position: static; width: auto; height: auto; clip: auto; overflow: visible; font-size: 17px; color: #fff; }
    body.vibe-site .vibe-global-search-trigger--menu::after { display: none; }
    body.vibe-site .navbar .vibe-global-search-mobile-item { padding-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    body.vibe-site .vibe-language-menu { animation: none; }
    body.vibe-site .vibe-language-button, body.vibe-site .vibe-language-chevron { transition: none; }
}
