@media (min-width: 992px) {
    .logo-desktop {
        display: inline-block !important;
        height: 150px !important;
        width: auto !important;
        vertical-align: middle;
        transition: height 320ms ease, max-height 320ms ease;
    }
    .logo-mobile {
        display: none !important;
    }
}

/* ------------------------------
   Ensure combobox/dropdown UI is above overlays
   ------------------------------ */
/* Make overlay and mobile panel z-index explicit (kept here for clarity).
    Ensure the site overlay is behind the navbar (navbar uses z-index: 9999).
    Keep the mobile nav panel above everything. */
.site-overlay { z-index: 1020 !important; }
#mobile-nav-panel { z-index: 11150 !important; }

/* Make common dropdowns/combobox widgets sit above the panel/overlay */
.navbar .dropdown-menu,
.dropdown-menu,
.select2-container .select2-dropdown,
.select2-container .select2-results,
.choices__list--dropdown,
.choices__list,
.choices__list--dropdown .choices__item--selectable,
.flatpickr-calendar,
.picker__holder,
.picker__frame {
    z-index: 99999 !important;
}

/* Native/select widgets open state helpers */
.select-open,
.select-open .select-dropdown,
.select-open select {
    z-index: 99999 !important;
}

/* Add any additional custom combobox selectors here if needed */


/* Reduce desktop logo height when navbar has .scrolled */
@media (min-width: 992px) {
    .navbar.scrolled .logo-desktop {
        height: 100px !important;
    }
}

/* Also target the desktop navbar logo by id to ensure transition applies */
@media (min-width: 992px) {
    #navbar-logo-desktop {
        height: 150px !important;
        transition: height 320ms ease;
        max-height: 150px;
        width: auto !important;
    }
    .navbar.scrolled #navbar-logo-desktop {
        height: 100px !important;
        max-height: 100px !important;
    }
}

/* Hide desktop logo visually on tablet/phone but keep in layout if needed */
@media (max-width: 991px) {
    .logo-desktop, #navbar-logo-desktop {
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
    }
}
@media (min-width: 992px) {
    .logo-desktop { display: inline-block !important; }
    .logo-mobile { display: none !important; }
}
/* (Removed separate mobile close X - the hamburger toggler becomes the visual X) */
/* Style pour la langue sélectionnée dans le menu mobile: white outline for selected (French by default) */
@media (max-width: 991px) {
    /* No outline on flags by default */
    .mobile-section .lang-flags a,
    .mobile-section .lang-flags a img,
    .mobile-section .lang-flags .flag-icon {
        outline: none !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* Visual indicator for the selected language: white outline */
    .mobile-section .lang-flags .flag-icon.selected {
        border: 2px solid #ffffff !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.35) !important;
        background: transparent !important;
    }

    /* Make sure labels/text are hidden for flags-only UI */
    .mobile-section .lang-flags span,
    .mobile-section .lang-flags .lang-label {
        display: none !important;
    }
}
/* Affichage horizontal des drapeaux de langue dans le menu mobile */
@media (max-width: 991px) {
    .mobile-section .lang-flags {
        display: flex;
        flex-direction: row;
        gap: 16px;
        justify-content: center;
        align-items: center;
        margin: 12px 0 0 0;
    }
    .mobile-section .lang-flags a {
        padding: 0 !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        min-width: unset !important;
    }
    .mobile-section .lang-flags .flag-icon {
        display: inline-block !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        border-radius: 50% !important;
        box-shadow: 0 1px 4px #0003;
        transition: box-shadow 0.2s;
    }
    .mobile-section .lang-flags span,
    .mobile-section .lang-flags .lang-label {
        display: none !important;
    }
}
.flag-icon {
    width: 24px !important;
    height: 16px !important;
    object-fit: cover !important;
    vertical-align: middle !important;
    margin-right: 12px !important;
    border-radius: 2px !important;
    box-shadow: 0 1px 3px #0000004d !important;
    transition: none !important;
    transform: none !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: #ff0000 !important;
    border: 2px solid #00ff00 !important;
}

.navbar {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: translateY(-100%);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    background-color: transparent;
    --navbar-grad-opacity: 0;
}

.navbar::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: var(--gradient-primary);
    opacity: var(--navbar-grad-opacity);
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.navbar.scrolled {
    --navbar-grad-opacity: 1;
    outline: 1px solid #fff4;
    box-shadow: 0 4px 12px #0000004d;
}

.navbar.navbar-visible {
    opacity: 1;
    transform: translateY(0);
}

.navbar.nav-hide-down {
    opacity: 0;
    transform: translateY(-100%);
}

.navbar-nav .nav-item { margin-left: 1rem; margin-right: 1rem; }

.navbar-brand {
    margin-top: 15px;
}

.navbar-brand img { 
    height: 115px; 
    width: auto; 
    filter: drop-shadow(0 0 15px #000000cc); 
}

#navbar-logo { 
    height: 150px; 
    width: auto; 
    filter: drop-shadow(0 0 15px #000000cc); 
    transition: height 1.5s ease;
}

/* Desktop logo (SVG) shown on wide screens */


.navbar.scrolled #navbar-logo {
    height: 80px;
}
.navbar-nav .nav-link:not(.dropdown-toggle):not(.dropdown-item)::after,
.navbar-nav a:not(.dropdown-toggle):not(.dropdown-item)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 1px;
    background-color: white;
    transform: translateX(-50%);
    transition: width 0.15s ease-out;
}

.navbar-nav .nav-link:not(.dropdown-toggle):not(.dropdown-item):hover::after,
.navbar-nav a:not(.dropdown-toggle):not(.dropdown-item):hover::after {
    width: 80%;
}

.navbar-nav .nav-link,
.navbar-nav a,
.nav-link { 
    color: var(--text-color) !important; 
    text-shadow: 0 1px 3px #00000033 !important; 
    font-family: 'Regular', sans-serif !important; 
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    padding: 0.5rem 1rem !important;
    position: relative !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav a:hover,
.nav-link:hover {
    color: var(--text-color) !important;
    text-shadow: none !important;
}
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:active,
.navbar-nav a:focus,
.navbar-nav a:active {
    color: var(--text-color) !important;
}

.dropdown-toggle::after {
    transition: transform 0.3s ease;
}

.dropdown:hover .dropdown-toggle::after {
    transform: rotate(180deg);
}

.dropdown-item {
    padding: 12px 20px;
    margin: 2px 0;
}

.dropdown .dropdown-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    background-color: var(--bg-primary) !important;
    backdrop-filter: blur(15px);
    border: 1px solid var(--border-light) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow-strong);
    min-width: 220px;
    padding: 8px 0 !important;
    margin-top: 8px;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
}

.dropdown:hover .dropdown-menu,
.dropdown .dropdown-menu.show {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.dropdown-item {
    padding: 12px 20px;
    margin: 2px 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.dropdown-item:hover {
    background-color: var(--bg-secondary, #1a1a2e) !important;
    color: white !important;
    transform: translateX(5px);
}

.dropdown-icon {
    font-size: 1.1rem;
    width: 20px;
    text-align: center;
}

.dropdown-divider {
    margin: 8px 16px;
    border-top: 1px solid var(--border-light);
}

.dropdown-menu-end {
    right: 0;
    left: auto;
}

.navbar .nav-item.dropdown {
    position: relative !important;
}

.navbar .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 2px) !important;
    left: 0 !important;
    z-index: 1050 !important;
    min-width: 180px !important;
    max-width: 100% !important;
    width: auto !important;
    background-color: var(--bg-primary) !important;
    backdrop-filter: blur(15px) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow-strong) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    list-style: none !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.2s ease !important;
    pointer-events: none !important;
    display: block !important;
}

.navbar .nav-item.dropdown::before {
    /* Expand the hover hit area around the dropdown toggle so small gaps
       between the toggle and the dropdown menu don't cause the menu to close
       when the user moves the mouse from the toggle to the menu. This
       pseudo-element is invisible but accepts pointer events. */
    content: '';
    position: absolute;
    /* Move the hit area slightly above and below to cover gaps */
    top: -6px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    z-index: 2;
    pointer-events: auto;
}

.navbar .nav-item.dropdown:hover .dropdown-menu,
.navbar .dropdown-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.navbar .dropdown-item {
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    color: var(--text-color) !important;
    text-decoration: none !important;
    font-family: 'Regular', sans-serif !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
    position: relative !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    border-bottom: 1px solid #ffffff1a !important;
}

.navbar .dropdown-item:last-child {
    border-bottom: none !important;
}

.navbar .dropdown-item:hover {
    background-color: var(--bg-secondary) !important;
    color: white !important;
    transform: none !important;
}

.navbar .dropdown-item::after {
    display: none !important;
}

.navbar .dropdown-item,
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item:active {
    transform: none !important;
}

.flag-icon {
    display: none !important;
}

/* --- Desktop logo: enforce smooth height transition 150px -> 100px --- */
@media (min-width: 992px) {
    /* High-specificity override so this wins over earlier conflicting rules */
    #navbar-logo-desktop, .logo-desktop {
        display: inline-block !important;
        height: 100px !important;
        max-height: 100px !important;
        width: auto !important;
        transition: height 0.8s ease, max-height 0.8s ease;
        -webkit-transition: height 0.8s ease, max-height 0.8s ease;
        will-change: height;
    }

    /* Scrolled state: reduce to 100px with the same smooth transition */
    .navbar.scrolled #navbar-logo-desktop,
    .navbar.scrolled .logo-desktop {
        height: 70px !important;
        max-height: 70px !important;
    }
}

/* Ensure desktop logo stays hidden on smaller viewports (keeps previous behavior) */
@media (max-width: 991px) {
    #navbar-logo-desktop, .logo-desktop {
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
    }
}

.dropdown-item:hover .flag-icon {
    display: none !important;
}

.navbar .dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

.dropdown-divider {
    margin: 8px 16px !important;
    border-top: 1px solid var(--border-light) !important;
    border-bottom: none !important;
}

.navbar a:hover,
.navbar .nav-link:hover,
.navbar-nav a:hover,
.navbar-nav .nav-link:hover {
    color: var(--text-color) !important;
    text-shadow: none !important;
}

.navbar .nav-item.dropdown {
    position: relative !important;
}

.navbar .nav-item.dropdown:hover > .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.navbar .dropdown-menu {
    margin-top: -6px !important;
}

.navbar .nav-item.dropdown .dropdown-menu {
    transition-delay: 0s !important;
}

.navbar .nav-item.dropdown:not(:hover) .dropdown-menu {
    transition-delay: 0.1s !important;
}

.site-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0); /* start transparent */
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    opacity: 0;
    visibility: hidden;
    transition: background-color 0.28s ease, -webkit-backdrop-filter 0.28s ease, backdrop-filter 0.28s ease, opacity 0.28s ease, visibility 0.28s;
    z-index: 1029;
}

.site-overlay.active {
    opacity: 1; /* fully visible layer so backdrop-filter applies */
    visibility: visible;
    background-color: rgba(0,0,0,0.25); /* subtle dim */
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    pointer-events: auto;
}

.flag-icon {
    width: 20px; 
    height: 20px;
    object-fit: cover;
    vertical-align: middle;
    margin-right: 8px; 
    border-radius: 100%; 
}

body.about-page {
    padding-top: 80px;
}

body.about-page .navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.about-page .navbar .nav-link,
body.about-page .navbar .navbar-brand,
body.about-page .navbar .navbar-toggler {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mobile nav panel styles */
.mobile-nav-panel {
    position: fixed;
    inset: 0;
    background: var(--bg-primary);
    z-index: 1055;
    display: none;
    align-items: center;
    justify-content: center;
}
.mobile-nav-panel.open {
    display: flex;
}
.mobile-nav-inner {
    width: 100%;
    max-width: 720px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* center vertically */
    gap: 18px;
}
.mobile-nav-inner .mobile-section { width: 100%; }
.mobile-nav-inner ul { list-style: none; padding: 0; margin: 0; width: 100%; display:flex; flex-direction:column; gap:14px; align-items:center; }
.mobile-nav-inner a { font-size: 1.15rem; padding: 12px 18px; display:inline-block; }

/* Ensure dropdowns don't show inside mobile panel */
.mobile-nav-panel .dropdown-menu { display: none !important; }

/* Custom toggler: transform into X when open */
.navbar-toggler.custom-hamburger { position: relative; width: 44px; height: 44px; border-radius: 6px; display:inline-flex; align-items:center; justify-content:center; }


/* Hide custom hamburger on desktop */
@media (min-width: 992px) {
    .navbar-toggler.custom-hamburger { display: none !important; }
}

/* On mobile, hide other togglers and keep only the custom-hamburger visible */
@media (max-width: 991px) {
    .navbar-toggler:not(.custom-hamburger) { display: none !important; }
    .navbar-toggler.custom-hamburger { display: inline-flex !important; }
}

body.about-page .dropdown-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* empty dropdown show rule removed (handled by other selectors) */

/* ----------------------------
   Responsive: tablet and mobile
   ---------------------------- */

/* Mobile-first adjustments */
@media (max-width: 767px) {
    /* Make navbar compact and always visible on mobile */

    .navbar {
        background-color: var(--bg-primary);
        --navbar-grad-opacity: 1;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1080;
        padding: 0.5rem 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: unset;
        height: auto;
    }

    .navbar-brand, #navbar-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 64px !important;
        margin: 0 auto !important;
        max-width: 100%;
    }

    /* La navbar s'adapte à la taille du logo */
    .navbar {
        height: auto !important;
        min-height: unset !important;
    }

    .navbar-brand img, #navbar-logo {
        height: 64px !important;
        width: auto !important;
        object-fit: contain !important;
        display: block;
        margin: 0 auto;
        max-height: 64px;
    }

    /* Toggler visible and larger hit area */
    .navbar-toggler { display: inline-flex; align-items: center; justify-content: center; padding: 0.6rem; border-radius: 8px; }

    /* Custom hamburger visuals (animated) */
    .navbar-toggler.custom-hamburger { background: transparent; border: none; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; }
    .hamburger-box { display: inline-block; position: relative; width: 28px; height: 18px; }
    .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { display: block; position: absolute; width: 100%; height: 2px; background-color: var(--text-color); border-radius: 2px; transition: transform 260ms cubic-bezier(0.4,0,0.2,1), opacity 200ms ease; }
    .hamburger-inner { top: 50%; transform: translateY(-50%); }
    .hamburger-inner::before { content: ''; top: -7px; }
    .hamburger-inner::after { content: ''; top: 7px; }

    /* Open state: rotate into X */
    .navbar-toggler.custom-hamburger[aria-expanded="true"] .hamburger-inner { transform: rotate(45deg); }
    .navbar-toggler.custom-hamburger[aria-expanded="true"] .hamburger-inner::before { transform: rotate(-90deg) translateX(-1px); top: 0; }
    .navbar-toggler.custom-hamburger[aria-expanded="true"] .hamburger-inner::after { opacity: 0; transform: translateX(8px); }

    /* Collapse becomes a full-screen panel */
    .navbar-collapse {
        position: fixed !important;
        inset: 56px 0 0 0; /* below navbar */
        background: var(--bg-primary);
        z-index: 1105; /* ensure it sits above overlays and the background video */
        width: 100%;
        height: calc(100% - 56px);
        overflow-y: auto;
        transform: translateY(-6px);
        transition: transform 220ms ease, opacity 200ms ease;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3);
        padding: 1rem;
    }

    .navbar-collapse.collapse { display: none; }
    .navbar-collapse.show { display: block; transform: translateY(0); }

    /* Stack nav items vertically and enlarge touch targets */
    .navbar-nav { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.5rem 0; }
    .navbar-nav .nav-item { margin: 0; }
    .navbar-nav .nav-link { padding: 0.9rem 1rem; font-size: 1.05rem; display: flex; align-items: center; gap: 0.75rem; }

    /* Dropdowns become accordion-like full-width sections */
    .navbar .dropdown-menu { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; margin: 0.25rem 0 !important; }
    .navbar .dropdown-item { padding: 0.9rem 1rem !important; margin: 0 !important; border-radius: 8px; }

    /* Show site overlay when mobile menu open (toggle via JS adding .menu-open on body) */
    .site-overlay { transition: background-color 220ms ease, opacity 220ms ease; }
    body.menu-open .site-overlay { opacity: 1; visibility: visible; background-color: rgba(0,0,0,0.36); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); pointer-events: auto; }

    /* On phones and small tablets: keep the background video visible but remove the intro layout footprint */
    /* Hero/background-video related rules removed from navbar stylesheet. */

    /* Place hamburger top-right with safe offset */
    .navbar-toggler.custom-hamburger { position: absolute; right: 12px; top: 10px; z-index: 1100; }
}

/* Also apply to small tablets */
@media (min-width: 768px) and (max-width: 991px) {
    /* Hero/background-video related rules removed from navbar stylesheet for tablet breakpoint. */
    .navbar-toggler.custom-hamburger { position: absolute; right: 18px; top: 12px; z-index: 1100; }
}

/* Tablet-specific tweaks */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar { padding: 0.4rem 1rem; }
    .navbar-brand, #navbar-logo { height: 72px; }
    .navbar-nav .nav-link { padding: 0.65rem 0.9rem; font-size: 1rem; }
    .navbar-collapse { position: relative !important; height: auto; background: transparent; box-shadow: none; padding: 0; }
    .navbar-nav { flex-direction: row; }
    /* Dropdowns: full width below parent on tablet, but not full-screen */
    .navbar .dropdown-menu { position: absolute !important; top: calc(100% + 6px) !important; left: 0 !important; right: auto !important; min-width: 220px !important; }
}

/* Accessibility focus states */
.navbar .nav-link:focus { outline: 3px solid rgba(255,255,255,0.06); outline-offset: 2px; }
.navbar .dropdown-item:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.03); }

/* Ensure tappable minimums across small screens */
@media (max-width: 991px) {
    .navbar .nav-link, .navbar .dropdown-item { min-height: 48px; }
}

body.about-page .nav-item.dropdown:hover .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

body.about-page .navbar:not(.scrolled) {
    background-color: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

body.about-page .navbar.scrolled {
    background-color: var(--bg-primary) !important;
    backdrop-filter: blur(var(--navbar-blur)) !important;
    box-shadow: 0 4px 12px #0000004d !important;
    outline: 1px solid #ffffff33 !important;
}

/* Mobile combined nav panel (used when default collapse doesn't show reliably) */
#mobile-nav-panel {
    position: fixed;
    top: 0; /* cover the full viewport */
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 11150; /* above navbar and overlays */
    background: var(--bg-primary);
    overflow-y: auto;
    transform: translateY(-4%);
    opacity: 0;
    visibility: hidden;
    transition: transform 220ms ease, opacity 180ms ease, visibility 180ms;
    padding: 1rem 1.25rem;
}

#mobile-nav-panel.open {
    transform: translateY(0%);
    opacity: 1;
    visibility: visible;
}

.mobile-nav-inner {
    max-width: 900px;
    margin: 0 auto;
}

.mobile-section {
    margin-bottom: 1rem;
}

.mobile-section ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.mobile-section ul li { margin: 0; }
    .mobile-section ul li a { display: block; padding: 12px 14px; border-radius: 8px; background: transparent !important; color: var(--text-color); text-decoration: none; }
    .mobile-section ul li a:hover { background: transparent !important; }

/* Ensure site overlay covers behind panel when open */
body.menu-open .site-overlay { opacity: 1; visibility: visible; background-color: rgba(0,0,0,0.36); pointer-events: auto; }

/* Lock body scroll when menu open */
body.menu-open {
    overflow: hidden;
    touch-action: none;
}

/* Ensure overlay sits under the panel but above page; keep it behind the navbar */
.site-overlay { z-index: 1020 !important; }
#mobile-nav-panel { z-index: 11150; }

/* Final override: show desktop logo on large screens and hide mobile logo */
@media (min-width: 992px) {
    nav.navbar .navbar-brand > .logo-desktop {
        display: inline-block !important;
        /* Let the dedicated desktop logo rules control exact height (150px default, 100px when .scrolled) */
        height: auto !important;
        max-height: none !important;
        width: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    nav.navbar .navbar-brand > .logo-mobile {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}
