/* === Einheitliche Menüleiste + Ratgeber-Aufklappmenü ===
   Auf allen Seiten gleich. Markup schreibt ~/scripts/eisbaden_seo/build.py
   zwischen <!--NAV--> und <!--/NAV-->. */

nav .nav-links { display: flex; align-items: center; gap: 26px; }
nav .nav-link { font-size: 0.88rem; font-weight: 500; color: var(--ink-2); position: relative; padding: 4px 2px; transition: color 0.2s; background: none; border: 0; font-family: inherit; cursor: pointer; }
nav .nav-link::after { content: ''; position: absolute; left: 2px; right: 2px; bottom: 0; height: 1px; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
nav .nav-link:hover, nav .nav-link.active { color: var(--ink); }
nav .nav-link:hover::after, nav .nav-link.active::after { transform: scaleX(1); }
nav .nav-cta { background: var(--ink); color: var(--bg); padding: 9px 16px; border-radius: 100px; font-size: 0.85rem; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; transition: background 0.2s, transform 0.2s; }
nav .nav-cta:hover { background: var(--accent); color: var(--ink); transform: translateY(-1px); }
nav .nav-burger { display: none; }
.nav-drop-btn { display: inline-flex; align-items: center; gap: 5px; }
.nav-drop-btn svg { width: 10px; height: 10px; transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
.nav-drop-btn[aria-expanded="true"] { color: var(--ink); }
.nav-drop-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
@media (max-width: 1120px) {
    nav .nav-link, nav .nav-cta { display: none; }
    nav .nav-burger { display: block; margin-left: auto; }
}

/* --- Aufklappmenü --- */
.mega {
    position: fixed; z-index: 49; top: 84px; left: 50%;
    width: min(1080px, calc(100% - 28px));
    transform: translate(-50%, -8px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.25s, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.25s;
    background: rgba(var(--bg-rgb), 0.94);
    backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid var(--rule); border-radius: 24px;
    box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(var(--ink-rgb), 0.04);
    padding: 22px;
}
.mega.open { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.mega-in { display: grid; grid-template-columns: 1.15fr 1fr 0.95fr; gap: 26px; }
.mega-h { font-family: 'Geist Mono', monospace; font-size: 0.7rem; color: var(--mute); letter-spacing: 0.02em; margin: 4px 0 12px 8px; display: flex; align-items: center; gap: 7px; }
.mega-h::before { content: ''; width: 5px; height: 5px; border-radius: 9px; background: var(--accent); }
.mega-row { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 14px; color: var(--ink); transition: background 0.2s; }
.mega-row:hover { background: var(--surface); }
.mega-row img { width: 46px; height: 46px; border-radius: 11px; object-fit: cover; flex-shrink: 0; }
.mega-row b { display: block; font-weight: 500; font-size: 0.93rem; letter-spacing: -0.01em; }
.mega-row span { display: block; font-size: 0.78rem; color: var(--mute); margin-top: 1px; }
.mega-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 4px; }
.mega-chips a { padding: 7px 12px; border: 1px solid var(--rule-strong); border-radius: 100px; font-size: 0.83rem; color: var(--ink); transition: border-color 0.2s, color 0.2s; }
.mega-chips a:hover { border-color: var(--accent); color: var(--accent); }
.mega-all { display: inline-flex; margin: 14px 0 0 8px; font-size: 0.83rem; color: var(--accent); }
.mega-feature { position: relative; display: block; border-radius: 18px; overflow: hidden; min-height: 100%; color: #fff; }
.mega-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
.mega-feature:hover img { transform: scale(1.04); }
.mega-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 10, 14, 0.05) 20%, rgba(8, 10, 14, 0.75) 100%); }
.mega-feature .t { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 2; }
.mega-feature .pill { position: absolute; top: 14px; left: 14px; z-index: 2; font-family: 'Geist Mono', monospace; font-size: 0.68rem; background: rgba(255, 255, 255, 0.2); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.22); padding: 3px 9px; border-radius: 100px; }
.mega-feature b { display: block; font-family: 'Geist', sans-serif; font-weight: 500; font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.1; }
.mega-feature span { font-size: 0.82rem; opacity: 0.85; }
.mega-shade { position: fixed; inset: 0; z-index: 48; background: rgba(8, 10, 14, 0.18); opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; }
.mega-shade.open { opacity: 1; visibility: visible; }
@media (max-width: 1120px) { .mega, .mega-shade { display: none; } }

/* --- Burger-Menü: Gruppen --- */
.nav-menu .menu-group { font-family: 'Geist Mono', monospace; font-size: 0.68rem; color: var(--mute); padding: 14px 18px 4px; letter-spacing: 0.02em; }
.nav-menu .menu-sub { padding-left: 30px !important; font-size: 0.95rem !important; color: var(--ink-2) !important; }
.mega-chips a.hl { background: var(--ink); color: var(--bg); border-color: var(--ink); }
/* Motiv mittig in den quadratischen Vorschaubildern */
.mega-row[href="/eisbaden-wie-lange.html"] img { object-position: 6% center; }
.mega-row[href="/wassertemperatur-eisbaden.html"] img { object-position: 30% center; }
.mega-row[href="/kalt-duschen.html"] img { object-position: 68% center; }
.mega-row[href="/eistonne-zuhause.html"] img { object-position: 6% center; }
