/* ==========================================================================
   Globale Navigation — Catering-Mega-Menü (Desktop) + Mobile-Accordion
   Ergänzt die Basis-Header-Styles aus hero.css (.st-header/.st-nav/.st-drawer).
   Marke: Navy #122A44 · Creme #f4efe5 · Gold #B58A45 · Radien 0–3px · keine Schatten
   ========================================================================== */

/* --- Desktop: Catering-Mega-Menü (ersetzt das schmale Dropdown) --- */
.st-mega {
  position: absolute; top: calc(100% + 12px); left: 0;
  width: 700px; max-width: 92vw;
  background: #fff; border: 1px solid rgba(18,42,68,0.1); border-radius: 0;
  padding: 28px 30px;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .22s ease, transform .22s cubic-bezier(0.16,1,0.3,1), visibility .22s;
  z-index: 60;
}
.st-mega::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.st-nav__group:hover .st-mega,
.st-nav__group:focus-within .st-mega { opacity: 1; visibility: visible; transform: none; }
.st-mega__inner { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 30px; }
.st-mega__lead {
  display: flex; flex-direction: column; gap: 7px; text-decoration: none;
  padding-right: 26px; border-right: 1px solid rgba(18,42,68,0.08);
}
.st-mega__lead-title { font-family: "Lexend Exa", sans-serif; font-weight: 500; font-size: 1.05rem; color: var(--st-navy, #122A44); }
.st-mega__lead-sub { font-size: 13px; line-height: 1.5; color: rgba(18,42,68,0.6); }
.st-mega__lead:hover .st-mega__lead-title { color: var(--st-gold, #B58A45); }
.st-mega__col { display: flex; flex-direction: column; min-width: 0; }
.st-mega__label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--st-gold, #B58A45); margin-bottom: 12px; }
.st-mega__col a { display: block; padding: 7px 0; font-size: 14.5px; line-height: 1.35; color: rgba(18,42,68,0.78) !important; text-decoration: none; transition: color .15s ease; }
.st-mega__col a::after { display: none !important; }
.st-mega__col a:hover { color: var(--st-navy, #122A44) !important; }
.st-mega__col a.is-active,
.st-mega__lead.is-active .st-mega__lead-title { color: var(--st-gold, #B58A45) !important; }

/* --- Aktiv-Zustand Hauptnav (Unterstrich sichtbar) --- */
.st-nav a.is-active::after,
.st-nav__trigger.is-active::after { transform: scaleX(1) !important; }

/* --- Header solide (Seiten ohne dunklen Hero, z. B. Impressum) --- */
.st-header--solid { background: #fff; border-bottom: 1px solid rgba(18,42,68,0.08); }
.st-header--solid .st-header__logo { color: var(--st-navy); }
.st-header--solid .st-nav a, .st-header--solid .st-header__link { color: #5f727a; }
.st-header--solid .st-nav a:hover, .st-header--solid .st-header__link:hover { color: var(--st-navy); }
.st-header--solid .st-burger span { background: var(--st-navy); }

/* --- Breadcrumb (im Page-Hero) --- */
.st-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,0.6); margin-bottom: 18px; }
.st-crumb a { color: rgba(255,255,255,0.6); text-decoration: none; }
.st-crumb a:hover { color: #fff; }
.st-crumb .sep { opacity: 0.5; }
.st-crumb [aria-current] { color: rgba(255,255,255,0.92); }

/* --- Mobile: Catering-Accordion im Drawer --- */
.st-drawer__acc { display: flex; align-items: stretch; }
.st-drawer__acc > a.st-drawer__acclink { flex: 1; }
.st-drawer__acctoggle {
  background: none; border: 0; color: inherit; padding: 0 6px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; min-width: 44px;
}
.st-drawer__acctoggle svg { width: 20px; height: 20px; transition: transform .25s ease; }
.st-drawer__acctoggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.st-drawer__subwrap { display: flex; flex-direction: column; }
.st-drawer__subwrap[hidden] { display: none; }
.st-drawer a.st-drawer__sub.is-active,
.st-drawer nav > a.is-active { color: var(--st-gold, #B58A45) !important; }
