/* chrome.css — gemeinsamer Header/Footer/Cookie-Consent für die Rechtsseiten
   (aus index.html extrahiert; Single Source: bei Änderungen hier UND in index.html pflegen) */
:root{--maxw:1240px; --navy-700:#0A467F; --navy-800:#022F55; --font-display:"Montserrat","Arial Black",sans-serif; --font-logo:"Cinzel",Georgia,serif; --r-md:12px; --shadow-card:0 18px 50px -20px rgba(2,30,55,.45)}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
.btn{
  --bg:var(--orange); --fg:#fff;
  display:inline-flex; align-items:center; gap:.6em; cursor:pointer;
  font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  letter-spacing:.04em; font-size:.92rem; padding:15px 26px; border:1.5px solid transparent;
  border-radius:var(--r-md); background:var(--bg); color:var(--fg);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;
  box-shadow:0 10px 24px -10px rgba(254,116,2,.7);
}
.btn svg{width:18px; height:18px}
.btn:hover{transform:translateY(-3px); background:var(--orange-light)}
/* ============================================================
   HEADER / NAV
   ============================================================ */
header{
  position:fixed; top:0; left:0; right:0; z-index:60;
  transition:background .35s, box-shadow .35s, padding .35s;
  padding:20px 0;
}
header.scrolled{background:rgba(2,30,55,.92); backdrop-filter:blur(10px); padding:12px 0; box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px}
.brand{display:flex; flex-direction:column; line-height:1; color:#fff}
.brand .top{font-family:var(--font-logo); font-weight:600; font-size:.66rem; letter-spacing:.34em; color:#cfe0f1}
.brand .name{font-family:var(--font-logo); font-weight:700; font-size:1.5rem; letter-spacing:.06em; margin-top:3px}
.brand-logo{height:44px; width:auto; display:block}
header.scrolled .brand-logo{height:38px; transition:height .35s}
.foot-logo{height:62px; width:auto; display:block; margin-bottom:4px}
.nav-links{display:flex; align-items:center; gap:30px}
.nav-links a{font-size:.86rem; font-weight:600; letter-spacing:.04em; color:#dce6f1; position:relative; padding:6px 0; transition:color .2s}
.nav-links a::after{content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--orange); transition:width .28s var(--ease)}
.nav-links a:hover, .nav-links a.active{color:#fff}
.nav-links a:hover::after, .nav-links a.active::after{width:100%}
.nav-cta{display:inline-flex}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px}
.burger span{width:26px; height:2px; background:#fff; transition:transform .3s var(--ease), opacity .2s}
/* Hamburger -> X (gleiche Position) */
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Scrollbar-Gutter reservieren: kein Versatz, wenn Menü das Scrollen sperrt */
html{scrollbar-gutter:stable}

/* Mobile-Overlay-Menü */
.mobile-menu{
  position:fixed; inset:0; z-index:55; background:var(--navy-900);
  display:flex; flex-direction:column; justify-content:center; gap:8px; padding:40px;
  transform:translateY(-100%); transition:transform .5s var(--ease); visibility:hidden;
}
.mobile-menu.open{transform:none; visibility:visible}
.mobile-menu a{font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:1.7rem; color:#fff; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-menu a .n{font-family:var(--font-mono); font-size:.8rem; color:var(--orange); margin-right:14px; font-weight:500}
.cc-banner{position:fixed; left:16px; right:16px; bottom:16px; z-index:200; max-width:var(--maxw); margin:0 auto;
  background:var(--navy-900); color:#dbe6f2; border:1px solid rgba(255,255,255,.12); border-radius:16px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.6); padding:20px 22px}
.cc-banner[hidden]{display:none}
.cc-inner{display:flex; gap:22px; align-items:center; flex-wrap:wrap}
.cc-text{flex:1 1 360px; font-size:.9rem; line-height:1.55}
.cc-text strong{display:block; margin-bottom:4px; color:#fff; font-family:var(--font-display); font-weight:700}
.cc-text a{color:var(--orange-light); text-decoration:underline}
.cc-actions{display:flex; gap:10px; flex-wrap:wrap}
.cc-btn{cursor:pointer; font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.02em;
  padding:11px 18px; border-radius:10px; border:0; transition:transform .2s var(--ease), background .2s, border-color .2s, color .2s}
.cc-btn.solid{background:var(--orange); color:#fff}
.cc-btn.solid:hover{background:var(--orange-light); transform:translateY(-2px)}
.cc-btn.ghost{background:transparent; color:#dbe6f2; border:1px solid rgba(255,255,255,.32)}
.cc-btn.ghost:hover{border-color:#fff; color:#fff}
/* gleichwertige „Ablehnen“-Buttons (kein Nudging Richtung Akzeptieren) */
.cc-btn.solid-light{background:#eef2f8; color:var(--navy)}
.cc-btn.solid-light:hover{background:#fff; transform:translateY(-2px)}
.cc-btn.solid-navy{background:var(--navy); color:#fff}
.cc-btn.solid-navy:hover{background:var(--navy-700); transform:translateY(-2px)}
.cc-modal{position:fixed; inset:0; z-index:210; background:rgba(2,20,40,.6); backdrop-filter:blur(3px);
  display:grid; place-items:center; padding:20px}
.cc-modal[hidden]{display:none}
.cc-modal-card{background:#fff; color:var(--ink); border-radius:18px; max-width:560px; width:100%; padding:30px;
  box-shadow:var(--shadow-card); max-height:90vh; overflow:auto}
.cc-modal-card h3{font-family:var(--font-display); font-weight:800; color:var(--navy); font-size:1.4rem; margin:0; text-transform:none; letter-spacing:-.01em}
.cc-sub{color:var(--ink-soft); font-size:.9rem; margin:6px 0 18px}
.cc-cat{border:1px solid #e7e6df; border-radius:12px; padding:16px 18px; margin-bottom:12px}
.cc-cat-head{display:flex; align-items:center; justify-content:space-between; gap:12px}
.cc-cat-head b{font-family:var(--font-display); color:var(--navy); font-size:1rem}
.cc-cat p{margin:8px 0 0; font-size:.84rem; color:var(--ink-soft)}
.cc-fixed{font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--orange)}
.cc-switch{width:50px; height:28px; flex:none; border-radius:9999px; background:#cfd3cf; border:0; position:relative; cursor:pointer; transition:background .25s}
.cc-switch .knob{position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:transform .25s}
.cc-switch.on{background:var(--orange)}
.cc-switch.on .knob{transform:translateX(22px)}
.cc-modal-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:6px; flex-wrap:wrap}
@media (max-width:560px){ .cc-actions{width:100%} .cc-actions .cc-btn{flex:1 1 auto; text-align:center} .cc-modal-actions .cc-btn{flex:1} }
footer{background:var(--navy-900); color:#aebfd4; padding:70px 0 30px; position:relative}
footer::before{content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--orange) 0 33%, var(--navy-700) 33% 100%)}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1)}
.foot-brand .name{font-family:var(--font-logo); font-weight:700; font-size:1.7rem; color:#fff; letter-spacing:.05em}
.foot-brand .top{font-family:var(--font-logo); font-size:.66rem; letter-spacing:.34em; color:#7e93b0}
.foot-brand p{font-size:.88rem; max-width:34ch; margin-top:16px}
.foot-social{display:flex; gap:12px; margin-top:18px}
.foot-social a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.18); display:grid; place-items:center; color:#aebfd4; transition:color .25s, border-color .25s, background .25s}
.foot-social a:hover{color:#fff; border-color:var(--orange); background:rgba(254,116,2,.14)}
.foot-social svg{width:18px; height:18px}
.foot-col h5{font-family:var(--font-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-light); margin:0 0 18px}
.foot-col a, .foot-col p{display:block; font-size:.9rem; color:#aebfd4; margin-bottom:10px; transition:color .2s}
.foot-col a:hover{color:#fff}
.legal{padding-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:.78rem; color:#7e93b0}
.foot-col .fhours{display:grid; grid-template-columns:max-content 1fr; column-gap:16px; row-gap:2px; margin-bottom:10px}
.foot-col .fhours span{color:#aebfd4}
.legal a{color:#9fb3cd} .legal a:hover{color:#fff}
.ts-credit{display:inline-flex; align-items:center; gap:9px; color:#9fb3cd; transition:color .3s; text-decoration:none}
.ts-credit:hover{color:#fff}
.ts-credit img{height:22px; width:auto; opacity:.92}
body.a11y-contrast .ts-credit{color:#fff !important}
@media (max-width:1080px){.nav-links,.nav-cta{display:none} .burger{display:flex} .foot-grid{grid-template-columns:1.7fr 1fr 1fr; column-gap:36px}}
@media (max-width:720px){.foot-grid{grid-template-columns:1fr 1fr} .foot-brand{grid-column:1 / -1} footer{padding-bottom:96px} .legal{flex-direction:column}}
@media (max-width:380px){.foot-grid{grid-template-columns:1fr} .foot-brand{grid-column:auto}}
/* Rechtsseiten-Anpassung */
header{background:rgba(2,30,55,.96); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(255,255,255,.08)}
main{padding-top:124px}
