/* Manrope und Figtree (SIL Open Font License), lokal ausgeliefert: kein Abruf bei Dritten. */
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/schriften/manrope-latin.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;
  src:url(/schriften/figtree-latin.woff2) format("woff2")}
/* Gemeinsame Teile aller Seiten: Kopfzeile, Fußzeile, Textseiten.
   Alle Klassen tragen das Präfix wfm-, damit sie den Seiten nicht in die Quere kommen
   (Startseite und Probeanruf nutzen .kopf und .fuss für Eigenes). */

:root{
  --wfm-blau:#0068C3;--wfm-blau-dunkel:#4DA3F0;--wfm-nacht:#081828;--wfm-creme:#EEEDEB;
  --wfm-flaeche:#FFFFFF;--wfm-linie:#D6D3CE;--wfm-linie-dunkel:#27405A;
  --wfm-grau:#4A5664;--wfm-grau-dunkel:#A9B4C0;
  --wfm-gold:#BF9C29;--wfm-gold-hell:#E3C150;
}
/* Startseite setzt border-box selbst, die Textseiten nicht: hier für beide gleich */
.wfm-kopf,.wfm-kopf *,.wfm-fuss,.wfm-fuss *,body.wfm-textseite *{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.wfm-sprung{position:absolute;left:-9999px}
.wfm-sprung:focus{left:12px;top:12px;z-index:100;background:#fff;color:#081828;padding:10px 14px;border-radius:8px}

/* Kopfzeile */
.wfm-kopf{position:sticky;top:0;z-index:50;background:rgba(8,24,40,.94);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--wfm-linie-dunkel);
  font-family:Figtree,system-ui,sans-serif}
.wfm-kopf-innen{max-width:1080px;margin:0 auto;padding:0 20px;min-height:68px;display:flex;align-items:center;
  justify-content:space-between;gap:16px}
.wfm-marke{display:flex;align-items:center;gap:10px;color:var(--wfm-creme);text-decoration:none;
  font:800 21px/1 Manrope,system-ui,sans-serif;letter-spacing:-.01em}
.wfm-marke img{height:30px;width:auto;display:block}
.wfm-nav{display:flex;align-items:center;gap:28px}
.wfm-nav a.wfm-link{color:var(--wfm-grau-dunkel);text-decoration:none;font-weight:500;font-size:16px;padding:8px 0}
.wfm-nav a.wfm-link:hover,.wfm-nav a.wfm-link[aria-current="page"]{color:var(--wfm-creme)}
.wfm-kopf-knopf{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;
  border-radius:999px;font:600 16px/1.2 Figtree,system-ui,sans-serif;color:var(--wfm-nacht);text-decoration:none;
  background:linear-gradient(180deg,var(--wfm-gold-hell) 0%,var(--wfm-gold) 100%);white-space:nowrap;
  box-shadow:0 1px 2px rgba(8,24,40,.18)}
.wfm-kopf-knopf:hover{filter:brightness(1.06)}
.wfm-kopf a:focus-visible,.wfm-fuss a:focus-visible{outline:3px solid var(--wfm-blau-dunkel);outline-offset:3px;border-radius:4px}
@media (max-width:640px){
  .wfm-nav a.wfm-link{display:none}
  .wfm-marke{font-size:18px}
  .wfm-marke img{height:26px}
  .wfm-kopf-knopf{padding:10px 16px;font-size:15px}
}
@media (max-width:380px){.wfm-marke span{display:none}}

/* Fußzeile */
.wfm-fuss{background:var(--wfm-nacht);color:var(--wfm-grau-dunkel);border-top:1px solid var(--wfm-linie-dunkel);
  font:400 16px/1.55 Figtree,system-ui,sans-serif;padding:56px 20px 28px}
.wfm-fuss-innen{max-width:1080px;margin:0 auto}
.wfm-fuss-raster{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.wfm-fuss .wfm-marke{margin-bottom:16px}
.wfm-fuss h2{font:700 14px/1.3 Manrope,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:var(--wfm-creme);margin:0 0 14px}
.wfm-fuss ul{list-style:none;padding:0;margin:0}
.wfm-fuss li{margin:0 0 8px}
.wfm-fuss a{color:var(--wfm-grau-dunkel);text-decoration:none}
.wfm-fuss a:hover{color:var(--wfm-creme);text-decoration:underline;text-underline-offset:3px}
.wfm-fuss p{margin:0}
.wfm-fuss-unten{margin-top:40px;padding-top:20px;border-top:1px solid var(--wfm-linie-dunkel);font-size:14px;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
@media (max-width:760px){.wfm-fuss-raster{grid-template-columns:1fr;gap:32px}}

/* Textseiten: Impressum, Datenschutz, Termin anfragen, 404 */
body.wfm-textseite{margin:0;background:var(--wfm-creme);color:var(--wfm-nacht);
  font:400 17px/1.6 Figtree,system-ui,sans-serif;-webkit-text-size-adjust:100%}
.wfm-seitenkopf{background:var(--wfm-nacht);color:var(--wfm-creme);padding:clamp(40px,7vw,72px) 20px;text-align:center}
.wfm-seitenkopf h1{font:800 clamp(30px,5vw,48px)/1.12 Manrope,system-ui,sans-serif;letter-spacing:-.02em;margin:0}
.wfm-seitenkopf p{margin:14px auto 0;max-width:620px;color:var(--wfm-grau-dunkel);font-size:19px}
.wfm-inhalt{max-width:820px;margin:0 auto;padding:clamp(32px,6vw,64px) 20px clamp(48px,8vw,96px)}
.wfm-inhalt h2{font:800 24px/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.01em;margin:40px 0 12px}
.wfm-inhalt h2:first-child{margin-top:0}
.wfm-inhalt p{margin:0 0 14px}
.wfm-inhalt a{color:var(--wfm-blau)}
.wfm-karte{background:var(--wfm-flaeche);border:1px solid var(--wfm-linie);border-radius:12px;padding:clamp(16px,4vw,32px)}
.wfm-leise{color:var(--wfm-grau);font-size:15px}
.wfm-knopf{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 30px;border-radius:999px;
  font:600 17px/1.2 Figtree,system-ui,sans-serif;color:var(--wfm-nacht)!important;text-decoration:none;
  background:linear-gradient(180deg,var(--wfm-gold-hell) 0%,var(--wfm-gold) 100%);box-shadow:0 1px 2px rgba(8,24,40,.18)}
/* Die Datenschutzerklärung bringt eigene Regeln unter .dse mit; hier nur die Schrift angleichen */
.wfm-inhalt .dse{font-family:Figtree,system-ui,sans-serif;font-size:17px;padding:0}
.wfm-inhalt .dse h1{display:none}
.wfm-inhalt .dse h2,.wfm-inhalt .dse h3,.wfm-inhalt .dse h4{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.01em}
/* Einwilligungs-Dialog (einwilligung.js): weiße Karte mittig auf abgedunkeltem Grund */
.wfm-ew-offen{overflow:hidden}
.wfm-ew-hinten{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(8,24,40,.6);overflow-y:auto}
.wfm-ew,.wfm-ew *{box-sizing:border-box}
.wfm-ew{width:100%;max-width:440px;max-height:100%;overflow-y:auto;background:#fff;color:#081828;border-radius:16px;
  padding:28px;box-shadow:0 24px 64px rgba(8,24,40,.35);font:400 16px/1.55 Figtree,system-ui,sans-serif;text-align:left}
.wfm-ew:focus{outline:none}
.wfm-ew h2{font:800 20px/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.01em;margin:0 0 10px;color:#081828}
.wfm-ew p{margin:0;color:#4A5664}
.wfm-ew a{color:#0068C3;text-decoration:underline;text-underline-offset:3px}
.wfm-ew-knoepfe{display:flex;gap:10px;margin-top:22px}
/* gleiche Größe, gleiche Ebene: Ablehnen ist so leicht erreichbar wie Akzeptieren; nur die Farbe führt das Auge */
.wfm-ew button{flex:1 1 0;appearance:none;cursor:pointer;min-height:48px;padding:10px 12px;border-radius:10px;
  border:1px solid #B9B4AC;background:#fff;color:#081828;font:600 16px/1.2 Figtree,system-ui,sans-serif}
.wfm-ew button:hover{background:#F6F5F3;border-color:#8E8A83}
.wfm-ew button.wfm-ew-ja{background:#F28C28;border-color:#F28C28;color:#081828}
.wfm-ew button.wfm-ew-ja:hover{background:#E67E15;border-color:#E67E15}
.wfm-ew button:focus-visible,.wfm-ew a:focus-visible{outline:3px solid #0068C3;outline-offset:2px}
.wfm-ew .wfm-ew-klein{margin-top:16px;font-size:14px;text-align:center}
@media (max-width:480px){
  .wfm-ew{padding:22px 20px}
  .wfm-ew-knoepfe{flex-direction:column-reverse}
}
@media (prefers-reduced-motion:no-preference){.wfm-ew{animation:wfm-ew-ein .18s ease-out}
  @keyframes wfm-ew-ein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
