/**
 * Navigation: Premium Header & Mega-Menü (FIXED)
 * 
 * @package VertriebsWikinger
 */

/* ========================================
   ANIMATION TIMING SYSTEM (Senior Pattern)
   Alle Werte zentral - einfach anzupassen
   ======================================== */
:root {
    /* Easing Curves */
    --ease-expo-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-expo-in-out: cubic-bezier(0.87, 0, 0.13, 1);
    
    /* Pill Timing */
    --pill-duration: 0.4s;
    --pill-delay: 0s;
    
    /* Mega-Menu Timing (wartet auf Pill) */
    --menu-duration: 0.5s;
    --menu-delay: 0.35s; /* Pill muss erst fertig sein! */
    
    /* Transform Values */
    --pill-start-y: -12px;
    --pill-start-scale: 0.94;
    --menu-start-y: 20px;
    --menu-start-scale: 0.96;
}

/* ========================================
   BLUR OVERLAY (Mega-Menu Background)
   ======================================== */

.mega-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1010; /* Unter Navigation (1020), über Content */
    
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    
    transition: 
        opacity 0.4s var(--ease-expo-out),
        visibility 0.4s var(--ease-expo-out);
}

/* Overlay aktiv wenn Mega-Menu sichtbar */
body:has(.haupt-navigation__punkt.menu-sichtbar) .mega-menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ========================================
   SITE HEADER
   ======================================== */

.site-header {
    position: relative;
    z-index: 1020;
}

/* ========================================
   HAUPT-NAVIGATION
   ======================================== */

.haupt-navigation {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1020;
    
    background: transparent;
    box-shadow: none;
    /* Premium Expo-Out für Scroll-Verhalten */
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ist-gescrollt .haupt-navigation {
    background: transparent;
    box-shadow: none;
}

.haupt-navigation__container {
    max-width: 112.5rem; /* 1800px */
    margin-inline: auto;
    margin-top: 1.5rem; /* Abstand zum oberen Rand */
    padding-inline: clamp(1rem, 2vw, 1.5rem); /* Weniger Padding = näher am Pill-Rand */
    
    display: grid;
    grid-template-columns: auto 1fr auto auto auto; /* Logo, Nav, Theme, CTA, Mobile */
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.5rem);
    
    /* Feste Höhe statt padding-block um Springen zu verhindern */
    height: 5rem;
    padding-block: 0;
    transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                margin-top 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}

/* Weißer Hover-Hintergrund (Pill) */
.haupt-navigation__container::before {
    content: '';
    position: absolute;
    /* Bündig mit Container */
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #FFFFFF;
    border-radius: 2rem;
    
    /* Kein Schatten - reines Weiß */
    box-shadow: none;
    
    /* GPU-Beschleunigung */
    will-change: transform, opacity;
    
    /* Start-Position: oben + kleiner */
    transform: 
        translateY(var(--pill-start-y)) 
        scaleX(var(--pill-start-scale));
    
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: -1;
    
    /* Transition */
    transition: 
        transform var(--pill-duration) var(--ease-expo-out),
        opacity var(--pill-duration) var(--ease-expo-out),
        visibility var(--pill-duration) var(--ease-expo-out),
        border-radius 0.25s var(--ease-expo-out);
}

/* Pill sichtbar bei JS-Klasse .pill-aktiv ODER normalem Hover */
.haupt-navigation:has(.haupt-navigation__link:hover) .haupt-navigation__container::before,
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv) .haupt-navigation__container::before,
.haupt-navigation.ist-gescrollt-hover .haupt-navigation__container::before {
    opacity: 1;
    visibility: visible;
    transform: 
        translateY(0) 
        scaleX(1);
}

/* Bei Mega-Menü: Pill-Ecken unten flach (nur wenn Menu sichtbar) */
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv.hat-mega-menu.menu-sichtbar) .haupt-navigation__container::before {
    border-radius: 2rem 2rem 0 0;
}

.ist-gescrollt .haupt-navigation__container {
    height: 4rem;
    margin-top: 1.5rem;
}

/* ========================================
   LOGO
   ======================================== */

.haupt-navigation__logo-link {
    display: flex;
    align-items: center;
    transition: opacity 0.2s ease-out;
    text-decoration: none;
}

.haupt-navigation__logo-link:hover {
    opacity: 0.85;
}

.haupt-navigation__logo-link:focus-visible {
    outline: 2px solid var(--farbe-gold);
    outline-offset: 0.25rem;
    border-radius: 0.25rem;
}

/* Logo-Bild */
.haupt-navigation__logo-img {
    height: 2.5rem; /* Konsistente Größe */
    width: auto;
    display: block;
    position: relative;
    z-index: 1;
    
    /* Standard: Logo in Originalfarben */
    transition: filter 0.3s ease-out;
}

/* Gescrollter Zustand - nur Farbe ändern */
.haupt-navigation.ist-gescrollt .haupt-navigation__logo-img {
    filter: brightness(0); /* Schwarz */
}

/* Logo dunkel bei Hover/Pill (weißer Hintergrund) - keine Größenänderung */
.haupt-navigation:has(.haupt-navigation__link:hover) .haupt-navigation__logo-img,
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv) .haupt-navigation__logo-img,
.haupt-navigation.ist-gescrollt-hover .haupt-navigation__logo-img {
    filter: brightness(0); /* Macht das Logo schwarz */
}

/* ========================================
   DESKTOP NAVIGATION
   ======================================== */

.haupt-navigation__liste {
    display: none;
    align-items: center;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-self: center;
}

@media (min-width: 70em) {
    .haupt-navigation__liste {
        display: flex;
    }
}

.haupt-navigation__punkt {
    position: relative;
    list-style: none;
}

.haupt-navigation__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.98);
    text-decoration: none;
    letter-spacing: -0.01em;
    
    border-radius: 0.5rem;
    position: relative;
    z-index: 1;
    transition: all 0.2s ease-out;
}

.haupt-navigation__link:hover {
    color: var(--farbe-schwarz);
}

/* Bei Hover oder Pill-Aktivierung: Alle Links dunkel */
.haupt-navigation:has(.haupt-navigation__link:hover) .haupt-navigation__link,
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv) .haupt-navigation__link {
    color: var(--farbe-schwarz);
}

.haupt-navigation:has(.haupt-navigation__link:hover) .haupt-navigation__link:not(:hover),
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv) .haupt-navigation__link:not(:hover) {
    opacity: 0.7;
}

/* Scroll-Effekt: Links werden dunkel beim Scrollen */
.haupt-navigation.ist-gescrollt-hover .haupt-navigation__link {
    color: var(--farbe-schwarz);
}

.haupt-navigation__pfeil {
    opacity: 0.7;
    transition: all 0.2s ease-out;
}

.haupt-navigation__pfeil svg {
    transition: all 0.2s ease-out;
}

/* Pfeil dreht bei Mega-Menu Aktivierung (JS-gesteuert) */
.haupt-navigation__punkt.hat-mega-menu.pill-aktiv .haupt-navigation__pfeil {
    transform: rotate(180deg);
    opacity: 1;
}

/* Bei Hover oder Pill-Aktivierung: Pfeile dunkel */
.haupt-navigation:has(.haupt-navigation__link:hover) .haupt-navigation__pfeil svg path,
.haupt-navigation:has(.haupt-navigation__punkt.pill-aktiv) .haupt-navigation__pfeil svg path {
    stroke: var(--farbe-schwarz);
}

/* Scroll-Effekt: Pfeile werden dunkel beim Scrollen */
.haupt-navigation.ist-gescrollt-hover .haupt-navigation__pfeil svg path {
    stroke: var(--farbe-schwarz);
}

/* ========================================
   MEGA-MENÜ (Weiß, exakt Pill-Breite)
   ======================================== */

.mega-menu {
    position: fixed;
    top: 6.5rem; /* Container 5rem + margin-top 1.5rem */
    left: 50%;
    /* Gleiche Breite wie Pill: Container minus Padding */
    width: calc(100% - clamp(3rem, 10vw, 6rem));
    max-width: 112.5rem; /* 1800px */
    
    background: linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF calc(100% - 56px), #0D0D0D calc(100% - 56px), #0D0D0D 100%);
    border-radius: 0 0 2rem 2rem;
    overflow: hidden;
    
    /* Kein Schatten - reines Weiß */
    box-shadow: none;
    
    /* GPU-Beschleunigung */
    will-change: transform, opacity;
    
    /* Start: Unten + unsichtbar (Fade-In-Bottom) */
    transform: 
        translateX(-50%) 
        translateY(20px);
    
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: block;
    z-index: 1019;
    
    /* Fade-In-Bottom Animation */
    transition: 
        transform var(--menu-duration) var(--ease-expo-out),
        opacity var(--menu-duration) var(--ease-expo-out),
        visibility var(--menu-duration) var(--ease-expo-out),
        top 0.4s var(--ease-expo-out);
}

/* 
 * Gescrollt:
 * Container height: 4rem + margin-top: 1.5rem = 5.5rem
 */
.ist-gescrollt .mega-menu {
    top: 5.5rem;
}

/* Unsichtbare Brücke zwischen Navigation und Mega-Menü */
.mega-menu::before {
    content: '';
    position: absolute;
    top: -2.5rem;
    left: 0;
    right: 0;
    height: 3rem;
    background: transparent;
}

/* Mega-Menü anzeigen bei JS-Klasse .menu-sichtbar */
.haupt-navigation__punkt.hat-mega-menu.menu-sichtbar .mega-menu,
.haupt-navigation__punkt.hat-mega-menu:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    
    /* End-Position: Normal (Fade-In-Bottom fertig) */
    transform: 
        translateX(-50%) 
        translateY(0);
}

/* Schnelles Schließen */
.haupt-navigation__punkt.hat-mega-menu:not(.menu-sichtbar) .mega-menu {
    transition-delay: 0s;
    transition-duration: 0.2s;
}

.mega-menu__container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 2rem 3rem;
    max-width: 112.5rem; /* 1800px */
    margin: 0 auto;
}

.mega-menu__gruppe {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mega-menu__gruppe--highlight {
    background: rgba(245, 166, 35, 0.08);
    border-radius: 0.75rem;
    padding: 1.5rem;
    border: 1px solid rgba(245, 166, 35, 0.2);
}

.mega-menu__titel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--farbe-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(245, 166, 35, 0.3);
}

.mega-menu__titel--abstand {
    margin-top: 1.5rem;
}

.mega-menu__liste {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mega-menu__liste li {
    list-style: none;
}

.mega-menu__link {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 1rem;
    
    border-radius: 0.5rem;
    text-decoration: none;
    background: transparent;
    transition: all 0.2s ease-out;
}

.mega-menu__link:hover {
    background: rgba(0, 0, 0, 0.05);
    transform: translateX(0.25rem);
}

.mega-menu__link-titel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--farbe-schwarz);
    line-height: 1.4;
    transition: color 0.2s ease-out;
}

.mega-menu__beschreibung {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.875rem;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.5;
}

.mega-menu__link:hover .mega-menu__link-titel {
    color: var(--farbe-gold);
}

/* CTA Box im Mega-Menü */
.mega-menu__cta-box {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mega-menu__cta-titel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--farbe-schwarz);
    line-height: 1.3;
    margin: 0;
    border: none;
    padding: 0;
}

.mega-menu__cta-text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.875rem;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.5;
    margin: 0;
}

/* ========================================
   MEGA-MENÜ: KATEGORIEN (Interaktiv)
   ======================================== */

.mega-menu--kategorien {
    background: linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF calc(100% - 56px), #0D0D0D calc(100% - 56px), #0D0D0D 100%);
    border-radius: 0 0 2rem 2rem;
    overflow: hidden;
}

.mega-menu__container--kategorien {
    display: grid;
    grid-template-columns: 280px 1fr 280px;
    gap: 0;
    padding: 0;
    max-width: 112.5rem;
    margin: 0 auto;
    min-height: 320px;
    border-top: none;
}

.mega-menu__container--kategorien > * {
    border-top: none;
}

/* ========================================
   MEGA-MENÜ: FOOTER CTA
   ======================================== */

.mega-menu__footer {
    background: linear-gradient(135deg, #1A1A1A 0%, #0D0D0D 100%);
    margin-top: 0;
}

.mega-menu__footer-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    max-width: 112.5rem;
    margin: 0 auto;
}

.mega-menu__footer-text {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.mega-menu__footer-text strong {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #FFFFFF;
}

.mega-menu__footer-text span {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
}

.mega-menu__footer-telefon {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.mega-menu__footer-telefon span {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
}

.mega-menu__footer-telefon a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--farbe-kupfer);
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.mega-menu__footer-telefon a:hover {
    color: #E8873A;
}

/* Kategorie-Navigation (Spalte 1) */
.mega-menu__kategorien {
    background: #FFFFFF;
    border-right: 1px solid rgba(0, 0, 0, 0.06);
    border-top: none;
    padding: 0.5rem 0;
}

.mega-menu__kategorie-liste {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.mega-menu__kategorie {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease-out;
    background: transparent;
}

.mega-menu__kategorie:hover {
    background: rgba(0, 0, 0, 0.03);
}

.mega-menu__kategorie.aktiv {
    background: rgba(0, 0, 0, 0.03);
}

/* Icon ausgeblendet (nicht mehr verwendet) */
.mega-menu__kategorie-icon {
    display: none;
}

.mega-menu__kategorie-text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    color: var(--farbe-schwarz);
    flex-grow: 1;
    transition: color 0.2s ease-out;
}

.mega-menu__kategorie.aktiv .mega-menu__kategorie-text {
    color: var(--farbe-kupfer);
}

/* Pfeil versteckt - erscheint in Spalte 2 */
.mega-menu__kategorie-pfeil {
    display: none;
}

/* Produkte-Bereich (Spalte 2) */
.mega-menu__produkte {
    padding: 1.5rem;
    position: relative;
    border: none;
    background: #FFFFFF;
}

/* Pfeil an der linken Kante von Spalte 2 */
.mega-menu__produkte::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.2s ease-out;
}

.mega-menu__produkte:hover::before {
    opacity: 1;
}

.mega-menu__produkt-gruppe {
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.mega-menu__produkt-gruppe.aktiv {
    display: grid;
}

/* Produkt Card */
.mega-menu__produkt-card {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    background: #FAFAF8;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    text-decoration: none;
    transition: all 0.25s ease-out;
}

.mega-menu__produkt-card:hover {
    background: #FFFFFF;
    border-color: rgba(200, 111, 39, 0.2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

/* Kupferfarbener Pfeil statt Icon */
.mega-menu__produkt-pfeil {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-shrink: 0;
    
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--farbe-kupfer);
    line-height: 1.1;
    margin-top: 0.1rem;
    transition: transform 0.25s ease-out;
}

.mega-menu__produkt-card:hover .mega-menu__produkt-pfeil {
    transform: translateX(3px);
}

/* Alt: Icon versteckt */
.mega-menu__produkt-icon {
    display: none;
}

.mega-menu__produkt-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.mega-menu__produkt-titel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--farbe-schwarz);
    line-height: 1.3;
    margin: 0;
    transition: color 0.2s ease-out;
}

.mega-menu__produkt-card:hover .mega-menu__produkt-titel {
    color: var(--farbe-kupfer);
}

.mega-menu__produkt-text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.8125rem;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.45;
    margin: 0;
}

/* ========================================
   MEGA-MENÜ: LEISTUNGEN (Alt - für Kompatibilität)
   ======================================== */

.mega-menu--leistungen {
    background: #FFFFFF;
}

.mega-menu__container--leistungen {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 0;
    padding: 0;
    max-width: 112.5rem;
    margin: 0 auto;
}

/* Leistungen Grid: 3x2 */
.mega-menu__leistungen-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(0, 0, 0, 0.06);
    padding: 1px 0 1px 1px;
}

/* Service Card */
.mega-menu__service-card {
    display: flex;
    gap: 1rem;
    padding: 1.5rem;
    background: #FFFFFF;
    text-decoration: none;
    transition: all 0.25s ease-out;
    position: relative;
}

.mega-menu__service-card:hover {
    background: #FAFAF8;
}

/* Kupfer-Akzent links bei Hover */
.mega-menu__service-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1rem;
    bottom: 1rem;
    width: 3px;
    background: var(--farbe-kupfer);
    border-radius: 0 2px 2px 0;
    opacity: 0;
    transform: scaleY(0);
    transition: all 0.25s ease-out;
}

.mega-menu__service-card:hover::before {
    opacity: 1;
    transform: scaleY(1);
}

/* Icon */
.mega-menu__service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    
    background: rgba(200, 111, 39, 0.08);
    border-radius: 0.75rem;
    color: var(--farbe-kupfer);
    transition: all 0.25s ease-out;
}

.mega-menu__service-card:hover .mega-menu__service-icon {
    background: var(--farbe-kupfer);
    color: #F5F5F0;
    transform: scale(1.05);
}

.mega-menu__service-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

/* Content */
.mega-menu__service-content {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
}

.mega-menu__service-titel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--farbe-schwarz);
    line-height: 1.3;
    margin: 0;
    transition: color 0.2s ease-out;
}

.mega-menu__service-card:hover .mega-menu__service-titel {
    color: var(--farbe-kupfer);
}

/* Outcome (Skill 1: Ergebnis statt Feature) */
.mega-menu__service-outcome {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.8125rem;
    color: rgba(0, 0, 0, 0.7);
    line-height: 1.4;
    margin: 0;
}

/* Meta: Speed + Price */
.mega-menu__service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

/* Speed-to-Value (Skill 3) */
.mega-menu__service-speed {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.mega-menu__service-speed svg {
    color: var(--farbe-kupfer);
    opacity: 0.7;
}

/* Pricing (Skill 7: DACH-Transparenz) */
.mega-menu__service-price {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--farbe-kupfer);
    background: rgba(200, 111, 39, 0.08);
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}

/* ========================================
   CTA Sidebar (Skill 14: CTA-Prominenz)
   ======================================== */

.mega-menu__cta-sidebar {
    background: #FFFFFF;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    border: none;
}

.mega-menu__cta-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: linear-gradient(135deg, #1A1A1A 0%, #0D0D0D 100%);
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(200, 111, 39, 0.2);
}

.mega-menu__cta-label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--farbe-kupfer);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mega-menu__cta-headline {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    color: #F5F5F0;
    line-height: 1.2;
    margin: 0;
}

.mega-menu__cta-text {
    font-size: 0.875rem;
    color: rgba(245, 245, 240, 0.7);
    line-height: 1.5;
    margin: 0;
}

/* Bullets (Skill 2: Risk Reversal) */
.mega-menu__cta-bullets {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.5rem 0;
    padding: 0;
    list-style: none;
}

.mega-menu__cta-bullets li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    
    font-size: 0.8125rem;
    color: rgba(245, 245, 240, 0.85);
}

.mega-menu__cta-bullets svg {
    color: var(--farbe-kupfer);
    flex-shrink: 0;
}

/* CTA Button */
.mega-menu__cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    
    margin-top: 0.5rem;
    padding: 0.875rem 1.5rem;
    
    background: var(--farbe-kupfer);
    color: #F5F5F0;
    border: none;
    border-radius: 0.5rem;
    
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    
    transition: all 0.25s ease-out;
}

.mega-menu__cta-button:hover {
    background: #B5621F;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(200, 111, 39, 0.3);
}

.mega-menu__cta-button svg {
    transition: transform 0.25s ease-out;
}

.mega-menu__cta-button:hover svg {
    transform: translateX(4px);
}

/* Responsive */
@media (max-width: 90em) {
    .mega-menu__container--leistungen {
        grid-template-columns: 1fr 280px;
    }
    
    .mega-menu__leistungen-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 70em) {
    .mega-menu__container--leistungen {
        grid-template-columns: 1fr;
    }
    
    .mega-menu__cta-sidebar {
        display: none;
    }
}

/* ========================================
   CTA IN NAVIGATION
   ======================================== */

.haupt-navigation__cta {
    display: none;
}

@media (min-width: 70em) {
    .haupt-navigation__cta {
        display: block;
        position: relative;
        z-index: 2;
    }
}

/* Navigation CTA Button */
.cta-button--nav {
    background: var(--farbe-gold);
    color: #F5F5F0; /* Warmes Off-White, nie reinweiß */
    border: 2px solid var(--farbe-gold);
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    border-radius: 2rem;
    box-shadow: 0 0.25rem 1rem rgba(245, 166, 35, 0.3);
    margin-right: -2.5rem; /* Näher am Pill-Rand */
}

.cta-button--nav:hover {
    background: var(--farbe-gold-hell);
    border-color: var(--farbe-gold-hell);
    transform: translateY(-0.125rem);
    box-shadow: 
        0 0.5rem 1.5rem rgba(245, 166, 35, 0.4),
        0 0 1rem rgba(245, 166, 35, 0.2);
}

/* Wenn weißer Hintergrund aktiv: Button invertieren */
.haupt-navigation:has(.haupt-navigation__link:hover) .cta-button--nav,
.haupt-navigation.ist-gescrollt-hover .cta-button--nav {
    background: var(--farbe-schwarz);
    color: var(--farbe-gold);
    border-color: var(--farbe-schwarz);
}

.haupt-navigation:has(.haupt-navigation__link:hover) .cta-button--nav:hover,
.haupt-navigation.ist-gescrollt-hover .cta-button--nav:hover {
    background: var(--farbe-gold);
    color: var(--farbe-schwarz);
    border-color: var(--farbe-gold);
}

/* ========================================
   THEME TOGGLE
   ======================================== */

/* Theme Toggle */
.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #FFFFFF;
    transition: background 0.2s ease-out, color 0.2s ease-out, transform 0.2s ease-out;
}

.theme-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

.theme-toggle__icon {
    transition: opacity 0.2s ease-out, transform 0.3s ease-out;
}

.theme-toggle__icon--mond {
    display: none;
}

/* Dark Mode aktiv */
[data-theme="dark"] .theme-toggle__icon--sonne {
    display: none;
}

[data-theme="dark"] .theme-toggle__icon--mond {
    display: block;
}

/* Bei weißem Hintergrund */
.haupt-navigation:has(.haupt-navigation__link:hover) .theme-toggle,
.haupt-navigation.ist-gescrollt-hover .theme-toggle {
    background: rgba(0, 0, 0, 0.08);
    color: var(--farbe-schwarz);
}

.haupt-navigation:has(.haupt-navigation__link:hover) .theme-toggle:hover,
.haupt-navigation.ist-gescrollt-hover .theme-toggle:hover {
    background: rgba(0, 0, 0, 0.12);
}

/* ========================================
   MOBILE MENU TOGGLE
   ======================================== */

.haupt-navigation__toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    width: 2.5rem;
    height: 2.5rem;
    
    background: transparent;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.2s ease-out;
    z-index: 1030;
}

.haupt-navigation__toggle:hover {
    background-color: rgba(200, 111, 39, 0.2);
}

@media (min-width: 70em) {
    .haupt-navigation__toggle {
        display: none;
    }
}

.haupt-navigation__toggle-icon {
    position: relative;
    width: 1.5rem;
    height: 0.125rem;
    background-color: rgba(245, 245, 245, 0.9);
    border-radius: 0.125rem;
    transition: all 0.3s ease-out;
}

.haupt-navigation__toggle-icon::before,
.haupt-navigation__toggle-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background-color: rgba(245, 245, 245, 0.9);
    border-radius: 0.125rem;
    transition: all 0.3s ease-out;
}

.haupt-navigation__toggle-icon::before {
    top: -0.5rem;
}

.haupt-navigation__toggle-icon::after {
    bottom: -0.5rem;
}

.haupt-navigation__toggle[aria-expanded="true"] .haupt-navigation__toggle-icon {
    background-color: transparent;
}

.haupt-navigation__toggle[aria-expanded="true"] .haupt-navigation__toggle-icon::before {
    top: 0;
    transform: rotate(45deg);
}

.haupt-navigation__toggle[aria-expanded="true"] .haupt-navigation__toggle-icon::after {
    bottom: 0;
    transform: rotate(-45deg);
}

/* ========================================
   MOBILE MENU
   ======================================== */

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(20rem, 85vw);
    
    background: #0F2131;
    box-shadow: -0.5rem 0 2rem rgba(15, 33, 49, 0.8);
    
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    z-index: 1025;
    overflow-y: auto;
}

.mobile-menu.ist-offen {
    transform: translateX(0);
}

.mobile-menu__header {
    display: flex;
    justify-content: flex-end;
    padding: 1.5rem;
    border-bottom: 1px solid rgba(200, 111, 39, 0.2);
}

.mobile-menu__schliessen {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    color: rgba(245, 245, 245, 0.9);
    transition: all 0.2s ease-out;
}

.mobile-menu__schliessen:hover {
    background-color: rgba(200, 111, 39, 0.2);
}

.mobile-menu__inhalt {
    padding: 2rem 1.5rem;
}

.mobile-menu__liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu__liste li {
    margin: 0;
}

.mobile-menu__liste a {
    display: block;
    padding: 1rem 1.25rem;
    
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: rgba(245, 245, 245, 0.95);
    font-size: 1.0625rem;
    font-weight: 500;
    text-decoration: none;
    
    border-radius: 0.5rem;
    transition: all 0.2s ease-out;
}

.mobile-menu__liste a:hover {
    background-color: rgba(200, 111, 39, 0.15);
    color: #C86F27;
}

.mobile-menu__cta {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(200, 111, 39, 0.2);
}

.mobile-menu__overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(15, 33, 49, 0.9);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-out;
    z-index: 1020;
}

.mobile-menu__overlay.ist-offen {
    opacity: 1;
    visibility: visible;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 69.9375em) {
    .haupt-navigation__container {
        grid-template-columns: auto 1fr auto;
    }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    .haupt-navigation,
    .haupt-navigation__container,
    .haupt-navigation__link,
    .mega-menu,
    .mobile-menu,
    .mobile-menu__overlay {
        transition: none;
    }
}
