/*
 * ═══════════════════════════════════════════════════════════════════════════════
 * Lavisa Destinations Theme — ENHANCED HEADER, MEGA-MENU, MOBILE NAV (E4)
 * ═══════════════════════════════════════════════════════════════════════════════
 *
 * @file        assets/css/ldt-enhanced-header.css
 * @package     Lavisa_Destinations_Theme
 * @since       2.9.5  (E4 — Visual Enhancement Roadmap v2)
 * @depends     ldt-tokens-enhanced.css  (E1 — gradients, shadows, glass tokens)
 *              ldt-enhanced-animations.css  (E3 — keyframes, pulse halo)
 *
 *   Header / mega-menu / mobile-menu / search-modal polish. PURE CSS LAYER —
 *   no PHP partial is modified. Hooks onto the existing class system already
 *   used by the theme:
 *
 *     .ldt-header-hub                   main wrapper (gets .ldt-is-scrolled
 *                                       toggled by the existing scroll JS at
 *                                       lines 622+ of header-hub.php — we just
 *                                       layer glass + brand-tinted shadow on top)
 *     .ldt-header-progress / __bar      already gradient-driven by Customizer
 *                                       — we polish to ensure default gradient
 *                                       matches portal exactly + add subtle glow
 *     .ldt-nav / .ldt-nav__link         existing nav — we add animated underline
 *     .ldt-header-action[--search/--lang/--wishlist]
 *                                       existing action buttons — we add halo,
 *                                       glass pill, badge polish
 *     .ldt-header-cta                   existing Book Now button — we polish the
 *                                       gradient style variant for portal match
 *     .ldt-mega-panel[aria-hidden=false]
 *                                       open mega panel — glass + reveal stagger
 *     .ldt-mm-overlay / .ldt-mm-panel   existing mobile menu chrome — backdrop
 *                                       blur on overlay + accent gradient line
 *                                       on top + chevron rotate
 *     .ldt-search-modal                 existing search modal — glass-strong +
 *                                       gradient focus ring + result hover-lift
 *
 *   SPECIFICITY:
 *     The header partials emit inline `<style>` blocks INSIDE `<body>`, AFTER
 *     this stylesheet's `<link>` in `<head>`. To override, our rules use either:
 *       • `body` element prefix (bumps specificity by +1)
 *       • `!important` only when the inline rule itself uses !important
 *     Plain new behavior (selectors no inline rule defines) needs no boost.
 *
 *   ZERO PHP EDITS:
 *     The roadmap spec for E4 lists 6 PHP files to modify. After auditing the
 *     existing partials we confirmed every enhancement can be applied via CSS
 *     alone using the class names already emitted by those partials. This is
 *     more aligned with the roadmap's "additive enhancement only" rule than
 *     editing each PHP file would be — and it makes E4 backward-compatible
 *     with any custom child-theme overrides of the header partials.
 *
 * ═══════════════════════════════════════════════════════════════════════════════
 */


/* ═══════════════════════════════════════════════════════════════════════════════
 * 1. HEADER GLASS-ON-SCROLL
 *
 * Below the scroll trigger (60px in the existing JS), the header keeps its
 * default solid background. Once the user scrolls past, the existing JS adds
 * `.ldt-is-scrolled` (and `.ldt-is-fixed` for sticky-always mode). We hook
 * those state classes to apply backdrop-blur + brand-tinted shadow.
 *
 * The existing inline rule:
 *   .ldt-header-hub.ldt-is-fixed { background: var(--h-sticky-bg) !important; }
 * uses !important, so we must too — but only for `background` so we can win.
 * Other properties (backdrop-filter, border, box-shadow) the inline rule
 * doesn't set, so plain rules suffice.
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-header-hub.ldt-is-scrolled,
body .ldt-header-hub.ldt-is-fixed {
    background: var(--ldt-glass-light-strong, rgba(255, 255, 255, 0.85)) !important;
    -webkit-backdrop-filter: blur(var(--ldt-glass-blur, 20px)) saturate(var(--ldt-glass-saturate, 180%));
            backdrop-filter: blur(var(--ldt-glass-blur, 20px)) saturate(var(--ldt-glass-saturate, 180%));
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
    box-shadow:
        0 8px 32px rgba(0, 53, 128, 0.10),
        0 1px 0 rgba(255, 255, 255, 0.60) inset !important;
}

/* Fallback for browsers without backdrop-filter — keep header readable */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    body .ldt-header-hub.ldt-is-scrolled,
    body .ldt-header-hub.ldt-is-fixed {
        background: rgba(255, 255, 255, 0.96) !important;
    }
}

/* Transparent header on a hero — when scrolled, transition to glass smoothly */
body .ldt-header-hub.ldt-header--transparent {
    transition: background-color 300ms var(--ldt-ease-portal, ease),
                backdrop-filter 300ms var(--ldt-ease-portal, ease),
                box-shadow 300ms var(--ldt-ease-portal, ease);
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 2. HEADER PROGRESS BAR — polish the brand→accent gradient + subtle glow
 *
 * Existing inline rule:
 *   .ldt-header-progress__bar { background: linear-gradient(90deg,
 *      var(--h-progress-start), var(--h-progress-end)); }
 * The CSS variables default to brand→accent already. We add the 3-stop gradient
 * for richer portal match + a subtle accent shadow to make the progress feel
 * "lit" not "drawn".
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-header-progress {
    background: rgba(0, 53, 128, 0.06);
}

body .ldt-header-progress__bar {
    background: linear-gradient(
        90deg,
        var(--ldt-primary, #003580) 0%,
        var(--ldt-primary-light, #0057b8) 50%,
        var(--ldt-accent, #ff8c00) 100%
    );
    box-shadow: 0 0 6px rgba(255, 140, 0, 0.40);
    border-radius: 0;
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 3. NAV LINK — animated gradient underline on hover / active / open
 *
 * Existing rule keeps a color change on hover. We add a 3px gradient pill
 * underline that scales from 0 → 100% width on hover, and stays 100% when
 * the parent is the active page or the mega panel is open
 * (aria-expanded="true" or .is-active).
 * ═══════════════════════════════════════════════════════════════════════════════ */

.ldt-nav__link {
    position: relative;
    transition:
        color 250ms var(--ldt-ease-portal, ease),
        transform 250ms var(--ldt-ease-portal, ease);
}

.ldt-nav__link::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -4px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ldt-accent, #ff8c00), var(--ldt-accent-dark, #e07a00));
    box-shadow: 0 2px 8px rgba(255, 140, 0, 0.35);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 350ms var(--ldt-ease-portal, ease);
    pointer-events: none;
}

[dir="rtl"] .ldt-nav__link::after,
.ldt-rtl .ldt-nav__link::after {
    transform-origin: right center;
}

@media (hover: hover) and (pointer: fine) {
    .ldt-nav__item:hover > .ldt-nav__link::after {
        transform: scaleX(1);
    }
}

.ldt-nav__item.is-active > .ldt-nav__link::after,
.ldt-nav__item.current-menu-item > .ldt-nav__link::after,
.ldt-nav__item--mega > .ldt-nav__link[aria-expanded="true"]::after {
    transform: scaleX(1);
}

/* Mega menu open: mark the trigger as expanded with persistent underline */
.ldt-nav__item--mega.is-open > .ldt-nav__link::after {
    transform: scaleX(1);
}

/* Slight color polish on hover — make sure scrolled-state contrast still works */
body .ldt-header-hub.ldt-is-scrolled .ldt-nav__link:hover {
    color: var(--ldt-primary, #003580);
}

/* Arrow nudge on hover for mega-trigger items */
@media (hover: hover) and (pointer: fine) {
    .ldt-nav__item--mega:hover > .ldt-nav__link .ldt-nav__arrow {
        transform: translateY(2px);
        transition: transform 250ms var(--ldt-ease-portal, ease);
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 4. ACTION BUTTONS — search halo, language glass pill, wishlist badge polish
 * ═══════════════════════════════════════════════════════════════════════════════ */

/* All actions: lift on hover (desktop only) */
@media (hover: hover) and (pointer: fine) {
    .ldt-header-action {
        transition:
            transform 250ms var(--ldt-ease-portal, ease),
            background-color 250ms var(--ldt-ease-portal, ease),
            box-shadow 250ms var(--ldt-ease-portal, ease);
    }

    .ldt-header-action:hover {
        transform: translateY(-1px);
    }
}

/* ── Search action — halo on hover via ::before ──────────────────────────── */
.ldt-header-action--search {
    position: relative;
    overflow: visible;
}

.ldt-header-action--search::before {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    background: rgba(255, 140, 0, 0.18);
    transform: scale(0.6);
    opacity: 0;
    transition:
        transform 350ms var(--ldt-ease-portal, ease),
        opacity 250ms var(--ldt-ease-portal, ease);
    pointer-events: none;
    z-index: -1;
}

@media (hover: hover) and (pointer: fine) {
    .ldt-header-action--search:hover::before,
    .ldt-header-action--search:focus-visible::before {
        transform: scale(1);
        opacity: 1;
        animation: ldt-icon-pulse 1.4s ease-out infinite;
    }
}

/* ── Language toggle — glass pill ─────────────────────────────────────────── */
.ldt-header-action--lang {
    background: var(--ldt-glass-light, rgba(255, 255, 255, 0.72));
    -webkit-backdrop-filter: blur(12px) saturate(180%);
            backdrop-filter: blur(12px) saturate(180%);
    border: 1px solid rgba(0, 53, 128, 0.10);
    border-radius: var(--ldt-radius-pill, 9999px);
    padding: 0 14px !important;
    height: 36px;
    gap: 6px;
}

.ldt-header-action--lang .ldt-lang-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--ldt-primary, #003580);
    text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
    .ldt-header-action--lang:hover {
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 4px 12px rgba(0, 53, 128, 0.12);
    }
}

/* On transparent (pre-scroll) header — invert the glass for readability */
body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled)
     .ldt-header-action--lang {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.30);
}

body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled)
     .ldt-header-action--lang .ldt-lang-label {
    color: #ffffff;
}

/* ── Wishlist count badge — accent pop ────────────────────────────────────── */
.ldt-header-action--wishlist .ldt-header-action__count {
    background: var(--ldt-gradient-accent, linear-gradient(135deg, #ff8c00, #e07a00));
    color: #ffffff;
    box-shadow: var(--ldt-shadow-accent-soft, 0 4px 15px rgba(255, 140, 0, 0.20));
    font-weight: 700;
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 5. CTA BUTTON — accent gradient + brand-tinted shadow + subtle pulse
 *
 * The existing CTA rules ship four style variants (solid / gradient / outline /
 * glow) keyed off the Customizer setting. We polish the GRADIENT variant
 * (the default for new installs) to use the portal's exact gradient + shadow,
 * and we add a subtle "ready" pulse that runs once on first paint then settles.
 *
 * SPECIFICITY: existing rule is plain `.ldt-header-cta` (010). We use
 * `body .ldt-header-cta` (011) to win.
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-header-cta {
    background: var(--ldt-gradient-accent, linear-gradient(135deg, #ff8c00 0%, #e07a00 100%));
    box-shadow: var(--ldt-shadow-accent, 0 10px 30px rgba(255, 140, 0, 0.30));
    border-radius: var(--ldt-radius-input, 0.75rem);
    font-weight: 700;
    letter-spacing: 0.01em;
    transition:
        transform 250ms var(--ldt-ease-portal, ease),
        box-shadow 250ms var(--ldt-ease-portal, ease),
        filter 250ms var(--ldt-ease-portal, ease);
}

@media (hover: hover) and (pointer: fine) {
    body .ldt-header-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 36px rgba(255, 140, 0, 0.42);
        filter: brightness(1.05);
    }
}

body .ldt-header-cta:focus-visible {
    outline: none;
    box-shadow:
        var(--ldt-shadow-accent, 0 10px 30px rgba(255, 140, 0, 0.30)),
        var(--ldt-ring-focus-accent, 0 0 0 3px rgba(255, 140, 0, 0.35));
}

body .ldt-header-cta__icon {
    transition: transform 350ms var(--ldt-ease-portal, ease);
}

@media (hover: hover) and (pointer: fine) {
    body .ldt-header-cta:hover .ldt-header-cta__icon {
        transform: translateX(3px) rotate(-8deg);
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 6. MEGA PANELS — glass-strong background + reveal stagger when opened
 *
 * Existing panels use display: none / display: block via aria-hidden. They open
 * with a fade-in animation already defined inline (.ldt-mega-tab-content
 * animation: ldtMegaTabIn). We layer a stronger glass surface and a stagger
 * reveal on the first three direct children of __body when the panel becomes
 * visible.
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-mega-panel {
    background: var(--ldt-glass-light-strong, rgba(255, 255, 255, 0.92));
    -webkit-backdrop-filter: blur(var(--ldt-glass-blur-strong, 32px)) saturate(var(--ldt-glass-saturate, 180%));
            backdrop-filter: blur(var(--ldt-glass-blur-strong, 32px)) saturate(var(--ldt-glass-saturate, 180%));
    border: 1px solid rgba(255, 255, 255, 0.50);
    box-shadow:
        0 25px 60px -10px rgba(0, 53, 128, 0.18),
        0 0 0 1px rgba(0, 53, 128, 0.04);
    border-radius: 0 0 var(--ldt-radius-card, 1.25rem) var(--ldt-radius-card, 1.25rem);
}

/* Accent gradient hairline along the top edge of any open mega panel */
body .ldt-mega-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--ldt-primary, #003580) 0%,
        var(--ldt-primary-light, #0057b8) 50%,
        var(--ldt-accent, #ff8c00) 100%
    );
    border-radius: 0;
    pointer-events: none;
}

/* Reveal stagger — direct children of __body fade up sequentially when the
   panel opens. The aria-hidden flip is the trigger. */
.ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > * {
    animation: ldt-fade-up 600ms var(--ldt-ease-portal, ease) backwards;
}

.ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > *:nth-child(1) { animation-delay: 50ms; }
.ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > *:nth-child(2) { animation-delay: 130ms; }
.ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > *:nth-child(3) { animation-delay: 210ms; }
.ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > *:nth-child(4) { animation-delay: 290ms; }

/* Mega tab buttons — gradient pill on active */
.ldt-mega-tab {
    transition: all 250ms var(--ldt-ease-portal, ease);
    border-radius: var(--ldt-radius-pill, 9999px);
}

.ldt-mega-tab.is-active {
    background: var(--ldt-gradient-brand, linear-gradient(135deg, #003580, #0057b8));
    color: #ffffff;
    box-shadow: var(--ldt-shadow-brand-soft, 0 4px 15px rgba(0, 53, 128, 0.15));
}

/* Mega "view all" link — accent arrow that nudges on hover */
.ldt-mega-panel__viewall {
    color: var(--ldt-accent, #ff8c00);
    font-weight: 700;
    transition: color 250ms var(--ldt-ease-portal, ease);
}

@media (hover: hover) and (pointer: fine) {
    .ldt-mega-panel__viewall:hover {
        color: var(--ldt-accent-dark, #e07a00);
    }

    .ldt-mega-panel__viewall:hover svg,
    .ldt-mega-panel__viewall:hover::after {
        transform: translateX(4px);
    }
}

/* Reveal stagger respects reduced-motion via the animations file's catch-all,
   but belt-and-suspenders here in case this file is loaded standalone */
@media (prefers-reduced-motion: reduce) {
    .ldt-mega-panel[aria-hidden="false"] .ldt-mega-panel__body > * {
        animation: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 7. MOBILE MENU — backdrop blur + accent gradient line + chevron rotate
 *
 * Existing mobile menu uses .ldt-mm-overlay (the dim backdrop) and
 * .ldt-mm-panel (the slide-out drawer). We polish:
 *   - overlay: stronger blur for "iOS sheet" feel
 *   - panel: 4px accent gradient line at the top edge (border replacement)
 *   - has-children chevron: rotate 180° when the parent .ldt-mm-toggle is
 *     aria-expanded="true"
 *   - section headings: colored accent
 *   - menu items: subtle hover lift on tap (mobile so use :active not :hover)
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-mm-overlay {
    background: rgba(15, 23, 42, 0.55);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
}

body .ldt-mm-panel {
    /* Use a layered background-image trick to put a 4px accent gradient at the
       top edge without disturbing existing border-* values. */
    background-image:
        linear-gradient(
            90deg,
            var(--ldt-primary, #003580) 0%,
            var(--ldt-primary-light, #0057b8) 50%,
            var(--ldt-accent, #ff8c00) 100%
        ),
        linear-gradient(180deg, #ffffff, #ffffff);
    background-position: top, top;
    background-size: 100% 4px, 100% 100%;
    background-repeat: no-repeat;
    box-shadow:
        -20px 0 60px -10px rgba(0, 53, 128, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.50);
}

[dir="rtl"] body .ldt-mm-panel,
.ldt-rtl body .ldt-mm-panel {
    box-shadow:
        20px 0 60px -10px rgba(0, 53, 128, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.50);
}

/* Section heading polish */
.ldt-mm-section-heading {
    color: var(--ldt-accent, #ff8c00);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* Chevron rotate on toggle expand */
.ldt-mm-toggle {
    transition: transform 250ms var(--ldt-ease-portal, ease),
                background-color 250ms var(--ldt-ease-portal, ease);
}

.ldt-mm-toggle svg {
    transition: transform 300ms var(--ldt-ease-portal, ease);
}

.ldt-mm-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.ldt-mm-toggle[aria-expanded="true"] {
    background-color: rgba(0, 53, 128, 0.06);
}

/* Active mobile item — subtle accent left border on tap */
.ldt-mm-link {
    transition: background-color 200ms var(--ldt-ease-portal, ease),
                color 200ms var(--ldt-ease-portal, ease);
    position: relative;
}

.ldt-mm-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 0;
    background: var(--ldt-gradient-accent, linear-gradient(180deg, #ff8c00, #e07a00));
    border-radius: 0 3px 3px 0;
    transform: translateY(-50%);
    transition: height 250ms var(--ldt-ease-portal, ease);
}

[dir="rtl"] .ldt-mm-link::before,
.ldt-rtl .ldt-mm-link::before {
    left: auto;
    right: 0;
    border-radius: 3px 0 0 3px;
}

.ldt-mm-link:active::before,
.ldt-mm-link:focus-visible::before,
.ldt-mm-item.is-active > .ldt-mm-item-wrap > .ldt-mm-link::before {
    height: 60%;
}

/* Mobile menu search box — glass-light pill */
body .ldt-mm-search-box {
    background: var(--ldt-glass-light, rgba(0, 53, 128, 0.04));
    border: 1px solid rgba(0, 53, 128, 0.08);
    border-radius: var(--ldt-radius-pill, 9999px);
    transition: border-color 200ms var(--ldt-ease-portal, ease),
                box-shadow 200ms var(--ldt-ease-portal, ease);
}

body .ldt-mm-search-box:focus-within {
    border-color: var(--ldt-accent, #ff8c00);
    box-shadow: var(--ldt-ring-focus-accent, 0 0 0 3px rgba(255, 140, 0, 0.35));
}

/* Mobile menu close button — subtle accent on hover */
.ldt-mm-close {
    transition:
        background-color 200ms var(--ldt-ease-portal, ease),
        transform 200ms var(--ldt-ease-portal, ease);
}

@media (hover: hover) and (pointer: fine) {
    .ldt-mm-close:hover {
        background-color: rgba(255, 140, 0, 0.10);
        transform: rotate(90deg);
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 8. SEARCH MODAL — glass-strong + gradient focus ring + result hover-lift
 *
 * Existing modal has its own backdrop and centered box. We polish:
 *   - backdrop: blur for sheet feel
 *   - inner box: glass-strong with brand-tinted shadow
 *   - input: gradient focus ring + smooth left padding for icon
 *   - result rows: hover-lift with accent left border slide-in
 *   - close button: rotate on hover
 *   - trending chips: pill row with accent hover
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-search-modal {
    background: rgba(15, 23, 42, 0.65);
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
}

body .ldt-search-modal__box {
    background: var(--ldt-glass-light-strong, rgba(255, 255, 255, 0.94));
    -webkit-backdrop-filter: blur(var(--ldt-glass-blur-strong, 32px)) saturate(var(--ldt-glass-saturate, 180%));
            backdrop-filter: blur(var(--ldt-glass-blur-strong, 32px)) saturate(var(--ldt-glass-saturate, 180%));
    border: 1px solid rgba(255, 255, 255, 0.60);
    box-shadow:
        0 25px 80px -15px rgba(0, 53, 128, 0.30),
        0 0 0 1px rgba(0, 53, 128, 0.04);
    border-radius: var(--ldt-radius-card, 1.25rem);
}

/* Search input — gradient focus ring */
body .ldt-search-modal__input {
    transition:
        border-color 200ms var(--ldt-ease-portal, ease),
        box-shadow 200ms var(--ldt-ease-portal, ease);
}

body .ldt-search-modal__input:focus,
body .ldt-search-modal__input:focus-visible {
    outline: none;
    border-color: var(--ldt-accent, #ff8c00);
    box-shadow:
        var(--ldt-ring-focus-accent, 0 0 0 3px rgba(255, 140, 0, 0.35)),
        0 4px 16px rgba(0, 53, 128, 0.06);
}

/* Search icon — accent color when input is focused */
.ldt-search-modal__box:focus-within .ldt-search-modal__icon {
    color: var(--ldt-accent, #ff8c00);
    transition: color 200ms var(--ldt-ease-portal, ease);
}

/* Close button — rotate on hover (matches mobile menu close) */
body .ldt-search-modal__close {
    transition:
        background-color 200ms var(--ldt-ease-portal, ease),
        transform 200ms var(--ldt-ease-portal, ease);
}

@media (hover: hover) and (pointer: fine) {
    body .ldt-search-modal__close:hover {
        background-color: rgba(255, 140, 0, 0.10);
        color: var(--ldt-accent, #ff8c00);
        transform: rotate(90deg);
    }
}

/* Trending / suggestion chips */
.ldt-search-suggest__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ldt-search-suggest__chips a,
.ldt-search-suggest__chips button {
    background: rgba(0, 53, 128, 0.06);
    border: 1px solid rgba(0, 53, 128, 0.10);
    border-radius: var(--ldt-radius-pill, 9999px);
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--ldt-primary, #003580);
    transition: all 200ms var(--ldt-ease-portal, ease);
    text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
    .ldt-search-suggest__chips a:hover,
    .ldt-search-suggest__chips button:hover {
        background: var(--ldt-gradient-accent, linear-gradient(135deg, #ff8c00, #e07a00));
        border-color: transparent;
        color: #ffffff;
        transform: translateY(-1px);
        box-shadow: var(--ldt-shadow-accent-soft, 0 4px 15px rgba(255, 140, 0, 0.20));
    }
}

/* Trending section title — accent eyebrow style */
.ldt-search-suggest__title {
    color: var(--ldt-gray-500, #94a3b8);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

/* If the modal has live result rows, give them hover-lift treatment */
.ldt-search-modal__results > a,
.ldt-search-modal__results > li {
    transition:
        background-color 200ms var(--ldt-ease-portal, ease),
        transform 200ms var(--ldt-ease-portal, ease);
    position: relative;
}

.ldt-search-modal__results > a::before,
.ldt-search-modal__results > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 0;
    background: var(--ldt-gradient-accent, linear-gradient(180deg, #ff8c00, #e07a00));
    border-radius: 0 3px 3px 0;
    transform: translateY(-50%);
    transition: height 250ms var(--ldt-ease-portal, ease);
}

[dir="rtl"] .ldt-search-modal__results > a::before,
[dir="rtl"] .ldt-search-modal__results > li::before,
.ldt-rtl .ldt-search-modal__results > a::before,
.ldt-rtl .ldt-search-modal__results > li::before {
    left: auto;
    right: 0;
    border-radius: 3px 0 0 3px;
}

@media (hover: hover) and (pointer: fine) {
    .ldt-search-modal__results > a:hover,
    .ldt-search-modal__results > li:hover {
        background: rgba(255, 140, 0, 0.05);
        transform: translateX(2px);
    }

    .ldt-search-modal__results > a:hover::before,
    .ldt-search-modal__results > li:hover::before {
        height: 70%;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 9. RESPONSIVE — header polish reduces on small screens
 *
 * The big visual moments (glass-on-scroll, mega-panel reveal stagger, search
 * modal) all stay. We tone down nav-link underline thickness on tablet, and
 * make sure our backdrop blurs degrade well on lower-powered mobile GPUs.
 * ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 991px) {
    .ldt-nav__link::after {
        height: 2px;
        bottom: -3px;
    }

    /* Mobile-sized header — slightly less aggressive glass blur for perf */
    body .ldt-header-hub.ldt-is-scrolled,
    body .ldt-header-hub.ldt-is-fixed {
        -webkit-backdrop-filter: blur(12px) saturate(150%);
                backdrop-filter: blur(12px) saturate(150%);
    }
}

@media (max-width: 768px) {
    /* Mega panels normally hide on mobile (replaced by ldt-mm-panel), but
       keep their styling consistent in case someone resizes mid-session */
    body .ldt-mega-panel {
        backdrop-filter: blur(20px);
    }

    body .ldt-mm-panel {
        background-size: 100% 4px, 100% 100%;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════════
 * 10. TRANSPARENT-HEADER STATE — ensure CTA + actions remain readable
 *
 * On hero pages where the header is transparent (overlaying a dark hero image),
 * the actions and CTA need contrast. We force light styling on transparent
 * pre-scroll, and revert to the polished glass+gradient when scrolled.
 * ═══════════════════════════════════════════════════════════════════════════════ */

body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled) {
    background: transparent !important;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
    box-shadow: none !important;
    border-bottom-color: transparent;
}

body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled) .ldt-header-cta {
    /* CTA always solid accent gradient — already polished above */
}

body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled) .ldt-nav__link {
    color: rgba(255, 255, 255, 0.92);
}

body .ldt-header-hub.ldt-header--transparent:not(.ldt-is-scrolled) .ldt-nav__link:hover {
    color: #ffffff;
}


/* ─── END OF ldt-enhanced-header.css ──────────────────────────────────────── */
