/* ============================================
   HEADER — Premium Navigation
   ============================================ */
.header {
    position:sticky; top:0; z-index:1000;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(226,232,240,0.6);
    transition:var(--transition);
}
.header.scrolled {
    background:rgba(255,255,255,0.95);
    box-shadow:0 4px 30px rgba(0,0,0,0.06);
    border-bottom-color:transparent;
}
.header__inner {
    display:flex; align-items:center; justify-content:space-between;
    max-width:var(--container); margin:0 auto; padding:0 24px; height:78px;
}
.header__logo { display:flex; align-items:center; gap:4px; text-decoration:none; }
.header__logo span {
    font-size:1.5rem; font-weight:800; letter-spacing:2px;
    background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}

/* Nav */
.nav { display:flex; align-items:center; gap:2px; }
.nav__item { position:relative; }
.nav__link {
    display:flex; align-items:center; gap:5px;
    padding:10px 16px; font-size:0.92rem; font-weight:500;
    color:var(--dark-mid); border-radius:var(--radius-sm);
    transition:var(--transition); white-space:nowrap;
    position:relative;
}
.nav__link::after {
    content:''; position:absolute; bottom:4px; left:50%; width:0; height:2px;
    background:var(--gradient-primary); border-radius:2px;
    transition:var(--transition); transform:translateX(-50%);
}
.nav__link:hover, .nav__link.active { color:var(--primary); background:var(--primary-light); }
.nav__link:hover::after, .nav__link.active::after { width:50%; }

.nav__arrow { font-size:0.55rem; transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); opacity:0.6; }
.nav__item:hover > .nav__link .nav__arrow,
.nav__item--hover > .nav__link .nav__arrow { transform:rotate(180deg); opacity:1; }

/* Mega Menu */
.mega-menu {
    position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%) translateY(6px);
    background:rgba(255,255,255,0.98); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
    border-radius:var(--radius-lg); border:1px solid rgba(226,232,240,0.5);
    box-shadow:var(--shadow-xl); padding:28px 32px;
    opacity:0; visibility:hidden; pointer-events:none;
    min-width:720px; z-index:100;
    transition:opacity 0.25s ease, transform 0.25s cubic-bezier(0.4,0,0.2,1), visibility 0.25s;
}
.nav__item:hover > .mega-menu,
.nav__item:hover > .dropdown-menu,
.nav__item--hover > .mega-menu,
.nav__item--hover > .dropdown-menu {
    opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
/* Invisible hover-bridge so moving mouse from link to menu doesn't lose :hover */
.mega-menu::before {
    content:''; position:absolute; top:-14px; left:0; right:0; height:14px;
}
.mega-menu__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; width:100%; }
.mega-menu__col { padding:0 12px; }
.mega-menu__col:not(:last-child) { border-right:1px solid var(--border-light); }
.mega-menu__title {
    display:flex; align-items:baseline; gap:8px;
    font-size:0.78rem; font-weight:700; color:var(--dark);
    text-transform:uppercase; letter-spacing:1.5px;
    margin-bottom:14px; padding-bottom:10px;
    background:var(--gradient-primary); background-size:60px 2px;
    background-repeat:no-repeat; background-position:bottom left;
}
.mega-menu__title a { color:var(--dark); transition:var(--transition-fast); }
.mega-menu__title a:hover { color:var(--primary); }
.mega-menu__item { margin-bottom:3px; }
.mega-menu__item a {
    display:block; padding:7px 10px; font-size:0.85rem; color:var(--text);
    border-radius:var(--radius-sm); transition:var(--transition-fast);
}
.mega-menu__item a:hover {
    color:var(--primary); background:var(--primary-light);
    transform:translateX(4px);
}

/* Dropdown */
.dropdown-menu {
    position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%) translateY(6px);
    background:rgba(255,255,255,0.98); backdrop-filter:blur(24px);
    border-radius:var(--radius); border:1px solid rgba(226,232,240,0.5);
    box-shadow:var(--shadow-lg); padding:8px;
    opacity:0; visibility:hidden; pointer-events:none;
    min-width:230px; z-index:100;
    transition:opacity 0.25s ease, transform 0.25s cubic-bezier(0.4,0,0.2,1), visibility 0.25s;
}
.dropdown-menu::before {
    content:''; position:absolute; top:-14px; left:0; right:0; height:14px;
}
.nav__item:hover > .dropdown-menu,
.nav__item--hover > .dropdown-menu { transform:translateX(-50%) translateY(0); }
.dropdown-menu a {
    display:block; padding:10px 16px; font-size:0.9rem; color:var(--text);
    border-radius:var(--radius-sm); transition:var(--transition-fast);
}
.dropdown-menu a:hover { color:var(--primary); background:var(--primary-light); transform:translateX(4px); }

/* Mobile Toggle */
.mobile-toggle {
    display:none; flex-direction:column; gap:6px; cursor:pointer;
    padding:10px; z-index:1001; background:none; border:none;
}
.mobile-toggle span {
    display:block; width:26px; height:2.5px; border-radius:4px;
    background:var(--dark); transition:var(--transition);
    transform-origin:center;
}
.mobile-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(6px,6px); background:var(--primary); }
.mobile-toggle.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.mobile-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(6px,-6px); background:var(--primary); }


/* Nav CTA button */
.nav__item--cta { margin-left:8px; }
@media (max-width:921px) {
    .nav__item--cta { margin-left:0; margin-top:16px; }
    .nav__item--cta .btn { width:100%; }
}
/* Responsive */
@media (max-width:921px) {
    .mobile-toggle { display:flex; }
    .nav {
        position:fixed; top:0; right:-100%; width:88%; max-width:400px;
        height:100vh; height:100dvh;
        background:rgba(255,255,255,0.98); backdrop-filter:blur(24px);
        flex-direction:column; align-items:stretch;
        padding:90px 24px 24px; overflow-y:auto;
        transition:right 0.4s cubic-bezier(0.4,0,0.2,1);
        box-shadow:-8px 0 40px rgba(0,0,0,0.1); z-index:1000;
    }
    .nav.open { right:0; }
    .nav__link { padding:14px 16px; width:100%; font-size:1rem; border-radius:var(--radius-sm); }
    .nav__link::after { display:none; }
    .mega-menu,.dropdown-menu {
        position:static; transform:none !important; box-shadow:none;
        display:none; min-width:100%; padding:8px 0 8px 16px;
        border-radius:0; background:var(--bg-light); border:none;
        opacity:1; visibility:visible; pointer-events:auto; backdrop-filter:none;
    }
    .mega-menu__grid { grid-template-columns:1fr; gap:8px; }
    .mega-menu__col { padding:0; border-right:none !important; border-bottom:1px solid var(--border-light); padding-bottom:12px; margin-bottom:12px; }
    .mega-menu__col:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
    .nav__item.open > .mega-menu, .nav__item.open > .dropdown-menu { display:block; }
    .mobile-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:999; backdrop-filter:blur(4px); }
    .mobile-overlay.active { display:block; }
}
