/* Site preferences sit outside the navigation. Existing mobile header fixes stay intact. */
body.vibe-site .vibe-preference-dock {
    position: fixed; z-index: 1015; inset: 44% max(12px, env(safe-area-inset-right)) auto auto;
    display: grid; width: 54px; padding: 5px; gap: 3px;
    border: 1px solid hsl(18.3 35.8% 89.6% / 1); border-radius: 19px;
    background: #ffffffef; color: hsl(21.7 42.4% 37.5% / 1); box-shadow: 0 6px 24px hsl(25.5 65.6% 18.2% / 0.12549019607843137);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
body.vibe-site .vibe-preference-dock > button {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: 44px; height: 48px; gap: 4px; padding: 4px 1px; border: 0; border-radius: 12px;
    background: transparent; color: inherit; font: 650 9px/1.2 system-ui,sans-serif; cursor: pointer;
    transition: background-color .18s ease, color .18s ease;
}
body.vibe-site .vibe-preference-dock > button:hover,
body.vibe-site .vibe-preference-dock > button[aria-expanded="true"] { background: hsl(20.6 69.2% 94.9% / 1); color: hsl(22.1 55.4% 47.5% / 1); }
.vibe-preference-dock > button > svg { width: 19px; height: 19px; }
body.vibe-site .vibe-language-code { letter-spacing: .08em; font-size: 10px; }
.vibe-preference-dock .vibe-language-chevron { display: none; }
.vibe-preference-dock .vibe-theme-button { border-top: 1px solid hsl(17.3 31.6% 92.5% / 1); border-top-left-radius: 0; border-top-right-radius: 0; }
.vibe-preference-dock .vibe-mode-sun { display: none; }
html[data-vibe-mode="dark"] .vibe-preference-dock .vibe-mode-sun { display: block; }
html[data-vibe-mode="dark"] .vibe-preference-dock .vibe-mode-moon { display: none; }
body.vibe-site .vibe-language-menu[hidden] { display: none !important; }
body.vibe-site .vibe-language-menu {
    position: absolute; z-index: 2; top: 0; right: calc(100% + 10px); width: 228px;
    max-width: calc(100vw - 90px); max-height: calc(100dvh - 180px); overflow: auto;
    padding: 8px; border: 1px solid hsl(18.3 35.8% 89.6% / 1); border-radius: 18px; background: #fff;
    color: hsl(14.8 33.3% 23.5% / 1); box-shadow: 0 18px 54px hsl(25.0 69.0% 13.9% / 0.2);
    animation: vibe-language-reveal .16s ease both;
}
.vibe-language-caption { padding: 9px 10px; color: hsl(12.7 17.3% 49.8% / 1); font: 650 10px/1.3 system-ui; text-transform: uppercase; letter-spacing: .14em; }
.vibe-language-menu [role="menuitemradio"] {
    display: grid; width: 100%; min-height: 44px; grid-template-columns: 28px 1fr 16px;
    align-items: center; gap: 10px; padding: 8px 10px; border: 0; border-radius: 10px;
    background: transparent; color: inherit; font: 500 13px/1.3 system-ui,sans-serif; text-align: left; cursor: pointer;
}
.vibe-language-menu [role="menuitemradio"]:hover,
.vibe-language-menu [role="menuitemradio"]:focus-visible,
.vibe-language-menu [aria-checked="true"] { background: hsl(20.9 100.0% 95.7% / 1); color: hsl(20.6 52.4% 40.4% / 1); }
.vibe-language-option-code { color: hsl(19.4 37.0% 49.8% / 1); font-size: 10px; font-weight: 750; letter-spacing: .04em; }
.vibe-language-check { width: 16px; height: 16px; color: hsl(22.4 52.5% 56.3% / 1); visibility: hidden; }
[aria-checked="true"] > .vibe-language-check { visibility: visible; }
.vibe-preference-dock button:focus-visible { outline: 2px solid hsl(21.1 66.8% 59.8% / 1); outline-offset: 2px; }
body.vibe-site:is(.vibe-player-expanded,.vibe-search-open,.vibe-chat-open,.modal-open) .vibe-preference-dock,
body.vibe-site:has(#navbarCollapse.show,.vibe-player-popover:not([hidden])) .vibe-preference-dock { visibility: hidden; pointer-events: none; }
@keyframes vibe-language-reveal { from { opacity: 0; translate: 5px 0; } to { opacity: 1; translate: 0 0; } }
/* One search entry in 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; }
    body.vibe-site #navbarCollapse .navbar-nav.me-auto { flex: 1 1 auto; margin-right: auto !important; }
    body.vibe-site #navbarCollapse .navbar-nav.sm-icons { flex: 0 0 auto; }
}
@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 (max-width: 1399.98px) {
    body.vibe-site .vibe-preference-dock { width: 46px; padding: 0; right: max(2px,env(safe-area-inset-right)); }
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.vibe-site .navbar .navbar-nav.me-auto > .nav-item > .nav-link { font-size: 13px; padding-inline: 7px !important; }
}
@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 .vibe-preference-dock { top: auto; bottom: calc(126px + env(safe-area-inset-bottom)); }
    body.vibe-site .vibe-language-menu { top: auto; bottom: 0; }
    body.vibe-site:has(#main form:focus-within) .vibe-preference-dock { visibility: hidden; pointer-events: none; }
}
/* Small tablets retain the existing collapsible navigation. */
@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 hsl(355.3 35.1% 22.4% / 1); border-radius: 14px; background: hsl(355.3 52.6% 7.5% / 1); color: hsl(351.4 100.0% 66.7% / 1); }
    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 (max-height: 500px) {
    body.vibe-site .vibe-preference-dock { top: 105px; bottom: auto; }
    body.vibe-site .vibe-language-menu { top: 0; bottom: auto; max-height: calc(100dvh - 120px); }
}
@media (prefers-reduced-motion: reduce) {
    body.vibe-site .vibe-language-menu { animation: none; }
    body.vibe-site .vibe-preference-dock > button { transition: none; }
}
