/* Startseite sauerland.ai — eine Seite, eine Gestaltung.
 *
 * WARUM EIGENE DATEI: Die Content-Security-Policy erlaubt ausschliesslich
 * "style-src 'self'". Ein <style>-Block im Template wird vom Browser
 * verworfen -- die Seite erscheint dann als nacktes HTML. Diese Datei muss
 * zusaetzlich in _PUBLIC_ASSET_EXACT (web_ui.py) stehen, sonst liefert das
 * Auth-Gate 404 wie zuvor bei fonts.css.
 */

:root{
  --tinte:#161c1a; --tinte-weich:#4a5a54; --grau:#6b7a74;
  --linie:#e4e9e7; --papier:#ffffff; --sanft:#f7f9f8;
  --gruen:#1f7a4d; --gruen-tief:#155c39; --gruen-hauch:#eef6f1;
  --radius:12px; --spalte:1080px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--tinte);
  font:17px/1.62 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--spalte);margin:0 auto;padding:0 24px}
a{color:var(--gruen);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0 0 .5em;line-height:1.16;letter-spacing:0;font-weight:640}
h1{font-size:3.7rem}
h2{font-size:2.25rem}
h3{font-size:1.06rem;font-weight:620}
p{margin:0 0 1.05em}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:12px 18px;border-radius:8px;
  box-shadow:0 4px 20px rgba(0,0,0,.14);z-index:99}

header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--linie)}
.kopf{display:flex;align-items:center;justify-content:space-between;gap:18px;height:64px}
.marke{font-weight:660;font-size:1.06rem;color:var(--tinte);letter-spacing:0}
.marke b{color:var(--gruen);font-weight:660}
.kopf nav a{margin-left:26px;color:var(--grau);font-size:.945rem}
.kopf nav a:hover{color:var(--tinte);text-decoration:none}
.kopf .tasten-kopf{display:flex;gap:10px;align-items:center}
@media(max-width:900px){.kopf nav{display:none}}

.knopf{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;
  font-weight:600;font-size:.985rem;border:1px solid transparent;cursor:pointer;
  transition:background .15s ease,border-color .15s ease}
.knopf:hover{text-decoration:none}
.k-voll{background:var(--gruen);color:#fff}
.k-voll:hover{background:var(--gruen-tief);color:#fff}
.k-rand{background:#fff;color:var(--tinte);border-color:var(--linie)}
.k-rand:hover{border-color:#c9d4d0;background:var(--sanft)}

.held{padding:96px 0 72px;text-align:center}
.held p.satz{font-size:1.19rem;color:var(--tinte-weich);max-width:56ch;margin:0 auto 30px}
.held .tasten{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.held .fein{margin-top:16px;font-size:.9rem;color:var(--grau)}

.eingabe{max-width:660px;margin:52px auto 0;background:var(--sanft);
  border:1px solid var(--linie);border-radius:var(--radius);padding:18px 20px;text-align:left}
.eingabe .zeile{color:var(--grau);font-size:1rem}
.eingabe .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.eingabe .chip{font-size:.83rem;color:var(--tinte-weich);background:#fff;
  border:1px solid var(--linie);border-radius:999px;padding:5px 12px}

section{padding:74px 0;border-top:1px solid var(--linie)}
section.sanft{background:var(--sanft)}
.kopfzeile{max-width:60ch;margin-bottom:38px}
.kopfzeile p{color:var(--tinte-weich);margin:0}

.raster{display:grid;gap:22px}
.r2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.r3{grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.feld{background:var(--papier);border:1px solid var(--linie);border-radius:var(--radius);padding:24px}
section.sanft .feld{background:#fff}
.feld p{color:var(--tinte-weich);margin:0}
.feld h3{margin-bottom:.4em}
.feld ul{margin:.6em 0 0;padding-left:1.15em;color:var(--tinte-weich)}
.feld li{margin-bottom:.35em}

.schild{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:0;
  text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:11px}
.s-live{background:var(--gruen-hauch);color:var(--gruen-tief)}
.s-vor{background:#fdf4e3;color:#77591a}

.tarif{background:#fff;border:1px solid var(--linie);border-radius:16px;padding:34px}
.tarif.empf{border-color:var(--gruen);box-shadow:0 0 0 1px var(--gruen)}
.tarif .betrag{font-size:3rem;font-weight:680;letter-spacing:0;line-height:1;color:var(--tinte)}
.tarif .betrag span{font-size:1rem;font-weight:500;color:var(--grau);letter-spacing:0}
.tarif ul{list-style:none;margin:22px 0 0;padding:0}
.tarif li{padding-left:26px;position:relative;margin-bottom:11px;color:var(--tinte-weich)}
.tarif li::before{content:"";position:absolute;left:2px;top:.55em;width:11px;height:6px;
  border-left:2px solid var(--gruen);border-bottom:2px solid var(--gruen);
  transform:rotate(-45deg)}
.tarif .knopf{width:100%;justify-content:center;margin-top:24px}
.paket-hinweis{margin-top:12px;color:var(--tinte-weich)}
.raten-titel{margin-bottom:16px}
.rate-card-status{color:var(--tinte-weich)}

table.raten{border-collapse:collapse;width:100%;font-size:.95rem;margin-top:10px;table-layout:fixed}
table.raten th,table.raten td{text-align:left;padding:11px 4px;border-bottom:1px solid var(--linie)}
table.raten th{color:var(--grau);font-weight:560;overflow-wrap:anywhere}
table.raten td{text-align:right;font-variant-numeric:tabular-nums}
table.raten caption{caption-side:top;text-align:left;color:var(--grau);
  font-size:.9rem;padding-bottom:6px}
.hinweis{font-size:.88rem;color:var(--grau);margin-top:16px}
.privacy-boundary{margin-top:22px}
.faq-wrap{max-width:760px}

details{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);
  padding:17px 21px;margin-bottom:11px}
details summary{cursor:pointer;font-weight:590;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:var(--grau);font-weight:400}
details[open] summary::after{content:"\2013"}
details p{margin:.85em 0 0;color:var(--tinte-weich)}

.abschluss{text-align:center;padding:86px 0;border-top:1px solid var(--linie)}
.abschluss p{color:var(--tinte-weich);max-width:50ch;margin:0 auto 26px}

footer{border-top:1px solid var(--linie);padding:34px 0;font-size:.9rem;color:var(--grau)}
footer a{color:var(--grau);margin-right:22px}
.footer-claim{margin-top:14px}

@media(max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  h1{font-size:2rem}
  h2{font-size:1.65rem}
  .kopf{height:56px;gap:10px}
  .kopf .k-rand{display:none}
  .kopf .knopf{padding:9px 12px;font-size:.86rem}
  .held{padding:34px 0 28px}
  .held p.satz{font-size:1rem;line-height:1.45;margin-bottom:18px}
  .held .tasten{gap:8px}
  .held .tasten .knopf{padding:10px 14px}
  .held .fein{max-width:36ch;margin:10px auto 0;font-size:.8rem;line-height:1.4}
  .held .eingabe{display:none}
  section{padding:56px 0}
  .tarif{padding:24px}
}

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
