/* Gemeinsamer Stil der Rechtsseiten (AGB, Widerruf, Kuendigung).
   Die aelteren Seiten (impressum, datenschutz) tragen ihren Stil noch inline;
   fuer die neuen Seiten einmal ausgelagert, statt den Font-Block zu vervierfachen.
   Vietnamesische Subsets weggelassen — die Seiten sind deutsch. */

@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-v13-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-v13-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-v13-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-v13-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-semi-condensed-v16-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-semi-condensed-v16-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --papier:#F7F4EE; --blatt:#FDFCF8; --tinte:#22262D; --tinte-2:#5C5A52;
  --blau:#1A5AA3; --blau-tief:#134478; --marker:#F59E0B;
  --linie:#D8D0BF; --linie-stark:#B9AF99;
  --disp:"Barlow Semi Condensed",ui-sans-serif,system-ui,sans-serif;
  --text:"Barlow",ui-sans-serif,system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --papier:#14171D; --blatt:#1C2129; --tinte:#E8E5DC; --tinte-2:#A9A493;
    --blau:#6FA5E3; --blau-tief:#8FBBF0;
    --linie:#2C313B; --linie-stark:#3D4450;
  }
}
*{ box-sizing:border-box }
::selection{ background:var(--marker); color:#22262D }
body{ margin:0; font-family:var(--text); color:var(--tinte); line-height:1.65;
      background:var(--papier); -webkit-font-smoothing:antialiased }
:focus-visible{ outline:2px solid var(--blau); outline-offset:3px; border-radius:2px }

.kopfzeile{ border-bottom:2px solid var(--tinte) }
.kopfzeile-in{ max-width:820px; margin:0 auto; padding:14px 20px; display:flex;
               align-items:center; justify-content:space-between; gap:12px }
.kopfzeile a.zurueck{ display:flex; min-height:44px; align-items:center; gap:10px; color:var(--tinte);
                      text-decoration:none; font-weight:700 }
.kopfzeile a.zurueck b{ font-family:var(--disp); font-size:1.2rem; font-weight:700 }
.kopfzeile a.app{ color:var(--blau); font-weight:700; text-decoration:none;
                  border:1.5px solid var(--blau); padding:.55em .9em; border-radius:4px;
                  white-space:nowrap; font-size:.95rem }
.kopfzeile a.app:hover{ background:var(--blau); color:var(--papier) }

.wrap{ max-width:820px; margin:0 auto; padding:28px 20px 80px }
h1{ font-family:var(--disp); font-size:clamp(1.9rem,4.5vw,2.6rem); line-height:1.1;
    margin:8px 0 16px; letter-spacing:-.01em }
h2{ font-family:var(--disp); font-size:1.35rem; line-height:1.2; margin:34px 0 8px;
    padding-top:12px; border-top:2px solid var(--tinte) }
h3{ font-family:var(--disp); font-size:1.08rem; margin:20px 0 4px }
a{ color:var(--blau) }
a:hover{ color:var(--blau-tief) }
ul{ padding-left:22px }
.muted{ color:var(--tinte-2); font-size:.92rem }
footer{ margin-top:44px; color:var(--tinte-2); font-size:.88rem;
        border-top:1px solid var(--linie); padding-top:16px }

/* ---- Formulare der Kuendigungs- und Widerrufsstrecke ---- */
.karte{ background:var(--blatt); border:1.5px solid var(--linie-stark); border-radius:6px;
        padding:20px; margin:20px 0 }
label{ display:block; font-weight:600; margin:16px 0 4px }
label .opt{ font-weight:400; color:var(--tinte-2); font-size:.9rem }
input[type=text], input[type=email], input[type=date], textarea, select{
  width:100%; font:inherit; color:var(--tinte); background:var(--papier);
  border:1.5px solid var(--linie-stark); border-radius:4px; padding:.6em .7em }
textarea{ min-height:90px; resize:vertical }
fieldset{ border:1.5px solid var(--linie); border-radius:4px; margin:16px 0; padding:12px 14px }
legend{ font-weight:600; padding:0 6px }
.radio{ display:flex; align-items:flex-start; gap:9px; margin:8px 0; font-weight:400 }
.radio input{ margin-top:.35em }

/* Die Schaltflaechen tragen gesetzlich vorgeschriebene Beschriftungen
   (§ 312k Abs. 2, § 356a Abs. 1/3 BGB). Text NICHT aendern. */
.knopf{ display:inline-block; font:inherit; font-weight:700; cursor:pointer;
        background:var(--blau); color:#FDFCF8; border:2px solid var(--blau);
        border-radius:4px; padding:.85em 1.4em; font-size:1.05rem; text-decoration:none }
.knopf:hover{ background:var(--blau-tief); border-color:var(--blau-tief); color:#FDFCF8 }
.knopf[disabled]{ opacity:.55; cursor:progress }
.knopf-gross{ display:block; width:100%; text-align:center; font-size:1.15rem; padding:1em }

.hinweis{ background:var(--blatt); border-left:4px solid var(--marker);
          padding:12px 16px; margin:16px 0 }
.fehler{ background:var(--blatt); border-left:4px solid #C0392B; padding:12px 16px; margin:16px 0 }
.erfolg{ background:var(--blatt); border-left:4px solid #1E8449; padding:16px; margin:16px 0 }
.beleg{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.95rem;
        background:var(--papier); border:1px dashed var(--linie-stark);
        border-radius:4px; padding:12px; white-space:pre-wrap; margin:12px 0 }
[hidden]{ display:none !important }
