/* GOP DEAL · Widerruf – Komponente „Vertrag widerrufen“ (Kundenportal + /widerruf) und Rechtstexte auf /widerruf.
   Eigene Farben (Präfix wd-), damit sie im hellen Portal (k.css) und auf den Rechtsseiten (legal.css) gleich aussieht.
   Handy zuerst, Tap-Ziele ≥ 44 px, Kontrast ≥ 4,5:1, keine Endlos-Animation, prefers-reduced-motion beachtet. */
.wd{--wd-ink:#0B0B0C;--wd-ink2:rgba(11,11,12,.70);--wd-ink3:rgba(11,11,12,.62);--wd-line:#D8DEE7;--wd-soft:#F3F5F8;--wd-card:#FFFFFF;
  --wd-teal:#08857A;--wd-teal-soft:rgba(20,217,189,.12);--wd-red:#B42318;--wd-gold:#8A5A00;--wd-gold-soft:rgba(245,164,0,.13);
  position:relative;margin:0 0 14px;padding:18px;border-radius:22px;background:var(--wd-card);color:var(--wd-ink);
  box-shadow:0 0 0 1px rgba(11,11,12,.08),0 1px 2px rgba(15,23,42,.04),0 18px 40px -28px rgba(15,23,42,.30);
  font-family:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.5;text-align:left}
.wd *,.wd *::before,.wd *::after{box-sizing:border-box}
.wd-vh{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}
.wd-ic{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Kopf */
.wd-head{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.wd-badge{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:13px;background:var(--wd-soft);color:var(--wd-ink);box-shadow:inset 0 0 0 1px rgba(11,11,12,.07)}
.wd-head-t{min-width:0}
.wd .wd-h{margin:0;font:700 17px/1.2 "Inter Tight",system-ui,sans-serif;letter-spacing:-.01em;color:var(--wd-ink)}
.wd .wd-sub{margin:2px 0 0;font:600 13px/1.3 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink3)}
.wd .wd-p{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--wd-ink2)}
.wd .wd-p a,.wd .wd-fail a:not(.wd-btn){color:var(--wd-teal);font-weight:600}
.wd .wd-small{margin:12px 0 0;font-size:13.5px;line-height:1.45;color:var(--wd-ink3)}
.wd-sent{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--wd-teal-soft);font:600 14px/1.4 "Inter Tight",system-ui,sans-serif;color:#05584F}
.wd-sent .wd-ic{width:18px;height:18px;margin-top:1px;color:var(--wd-teal);stroke-width:2.6}

/* Knöpfe – „Vertrag widerrufen“ gut lesbar und hervorgehoben (dunkel, volle Breite am Handy) */
.wd-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 20px;border:0;border-radius:14px;cursor:pointer;text-decoration:none;
  font:700 16px/1.2 "Inter Tight",system-ui,sans-serif;letter-spacing:-.005em;color:#fff;background:var(--wd-ink);
  box-shadow:0 10px 22px -14px rgba(11,11,12,.7);transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}
.wd-btn:active{transform:scale(.97)}
.wd-btn[disabled],.wd-btn[aria-busy="true"]{opacity:.72;cursor:progress}
.wd-btn .wd-ic{width:18px;height:18px}
.wd-open{width:100%;margin:16px 0 0}
.wd .wd-btn{color:#fff}  /* gegen .legal a / a{color} der Seiten */
.wd .wd-btn-2,.wd-btn-2{color:var(--wd-ink,#0B0B0C);background:#fff;box-shadow:0 0 0 1px #CFD6E0,0 6px 14px -12px rgba(15,23,42,.35)}
.wd .wd-btn-wa{color:#fff;background:#0E7A43;box-shadow:0 10px 22px -14px rgba(14,122,67,.8)}
.wd-pdf{margin:14px 0 0}
.wd :focus-visible,.wd-legal :focus-visible{outline:2.5px solid var(--wd-teal,#08857A);outline-offset:3px;border-radius:10px}
@media (hover:hover){.wd-btn:hover{box-shadow:0 12px 26px -12px rgba(11,11,12,.7)}.wd-btn-2:hover{box-shadow:0 0 0 1.5px #9AA6B6,0 6px 14px -12px rgba(15,23,42,.35)}}

/* Formular */
.wd-form{margin:14px 0 0;padding:16px;border-radius:18px;background:var(--wd-soft);animation:wd-in .32s cubic-bezier(.22,1,.36,1) both}
.wd .wd-form-h{margin:0 0 4px;font:700 16px/1.3 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink)}
.wd-field{margin:12px 0 0}
.wd .wd-lbl{display:block;margin:0 0 6px;font:600 14px/1.35 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink)}
.wd-in{width:100%;min-height:50px;margin:0;padding:12px 14px;border-radius:14px;border:1.5px solid var(--wd-line);background:#fff;
  font:400 17px/1.3 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink);-webkit-appearance:none;appearance:none}
.wd-in::placeholder{color:rgba(11,11,12,.42)}
.wd-in:focus{outline:0;border-color:var(--wd-teal);box-shadow:0 0 0 4px rgba(20,217,189,.18)}
.wd-in[aria-invalid="true"]{border-color:var(--wd-red);box-shadow:0 0 0 3px rgba(217,45,32,.10)}
.wd .wd-err,.wd .wd-msg{margin:6px 0 0;font:600 14px/1.4 "Inter Tight",system-ui,sans-serif;color:var(--wd-red)}
.wd .wd-err:empty,.wd .wd-msg:empty{display:none}
.wd .wd-ok{color:#05584F}
.wd-nb{white-space:nowrap}
.wd .wd-note{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#fff;font-size:14px;line-height:1.45;color:var(--wd-ink2);box-shadow:inset 0 0 0 1px rgba(11,11,12,.07)}
.wd-acts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.wd-acts .wd-btn{flex:1 1 200px}

/* Eingangsbestätigung */
.wd-rec{margin:4px 0 0;padding:16px;border-radius:18px;background:linear-gradient(150deg,rgba(34,242,210,.14),rgba(20,217,189,.05));box-shadow:inset 0 0 0 1px rgba(20,217,189,.45);
  animation:wd-in .45s cubic-bezier(.22,1,.36,1) both}
.wd .wd-rec-h{display:flex;align-items:center;gap:10px;margin:0;font:700 18px/1.25 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink);outline:none}
.wd-rec-ic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:var(--wd-teal);color:#fff}
.wd-rec-ic .wd-ic{width:18px;height:18px;stroke-width:2.8}
.wd .wd-rec-t{margin:10px 0 0;font:600 15.5px/1.5 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink)}
.wd-dl{display:grid;gap:0;margin:12px 0 0;padding:4px 12px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,11,12,.07)}
.wd-dl>div{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:10px;padding:8px 0;border-top:1px solid #EEF1F5}
.wd-dl>div:first-child{border-top:0}
.wd-dl dt{margin:0;min-width:0;font-size:13.5px;line-height:1.4;color:var(--wd-ink3);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}
.wd-dl dd{margin:0;font:600 14.5px/1.4 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink);overflow-wrap:anywhere}

/* Anderer Weg (Server nicht erreichbar / ohne Datenbank) */
.wd-fail{margin:14px 0 0;padding:16px;border-radius:18px;background:var(--wd-gold-soft);box-shadow:inset 0 0 0 1px rgba(245,164,0,.38);outline:none}
.wd .wd-fail-h{display:flex;align-items:center;gap:8px;margin:0;font:700 16px/1.3 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink)}
.wd-fail-h .wd-ic{color:var(--wd-gold)}
.wd-fail .wd-p strong{color:var(--wd-ink);font-weight:600}

/* Kopfzeile + Sprache des Formulars (nur /widerruf) */
.wd-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.wd .wd-ptitle{margin:0;font:700 16px/1.25 "Inter Tight",system-ui,sans-serif;color:var(--wd-ink)}
.wd-lang{display:inline-flex;flex:none;padding:3px;border-radius:999px;background:var(--wd-soft);box-shadow:inset 0 0 0 1px rgba(11,11,12,.07)}
.wd-lang button{min-width:44px;min-height:38px;border:0;border-radius:999px;background:none;cursor:pointer;font:700 12.5px/1 "Inter Tight",system-ui,sans-serif;letter-spacing:.04em;color:var(--wd-ink2)}
.wd-lang button[aria-pressed="true"]{background:var(--wd-ink);color:#fff}
.wd-page{margin:14px 0 0}
.wd-page .wd-open{margin-top:2px}

@keyframes wd-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (min-width:640px){.wd{padding:22px}.wd-open{width:auto;min-width:280px}}
@media (prefers-reduced-motion:reduce){.wd-form,.wd-rec{animation:none}.wd-btn{transition:none}.wd-btn:active{transform:none}}
@media print{.wd-open,.wd-acts,.wd-pdf,.wd-lang{display:none!important}.wd{box-shadow:none;border:1px solid #ccc}}

/* ---------- Seite /widerruf (Rechtstexte, liegt auf legal.css) ---------- */
.legal .wd-lead{font-size:16px}
.legal h2[id],.legal section[id]{scroll-margin-top:16px}
.legal .wd-legal p{margin:10px 0}
.legal .wd-legal h3{margin:22px 0 4px}
.legal .ph{color:#8A5A00;background:rgba(245,164,0,.13);border-radius:6px;padding:0 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.legal .wd-miss{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fff;font-size:14.5px;box-shadow:0 0 0 1px rgba(11,11,12,.08)}
.legal .wd-muster{margin:12px 0 0;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.08),0 12px 30px -24px rgba(15,23,42,.35)}
.legal .wd-muster ul{list-style:none;margin:10px 0;padding:0}
.legal .wd-muster li{position:relative;margin:0;padding:9px 0 9px 18px;border-top:1px dashed #DCE1EA}
.legal .wd-muster li:first-child{border-top:0}
.legal .wd-muster li::before{content:"–";position:absolute;left:0;top:9px;color:rgba(11,11,12,.55)}
.legal .wd-muster p{margin:6px 0}
.legal .wd-formpdf{margin:12px 0 0}
.legal .wd-eu{margin:14px 0 0;max-width:560px}
.legal .wd-eu img{display:block;width:100%;height:auto;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.10),0 14px 34px -24px rgba(15,23,42,.45)}
.legal .wd-eu figcaption{margin:8px 0 0;font-size:13.5px;line-height:1.45;color:rgba(11,11,12,.66)}
.legal .wd-eu-txt{margin:12px 0 0;padding:4px 14px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.08)}
.legal .wd-eu-txt summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;color:#0B7F74}
.legal .wd-eu-txt ul{margin:4px 0 8px;padding-left:20px}
.legal .wd-eu-txt ol{margin:4px 0 8px;padding-left:22px}
.legal .wd-note-en{font-size:14px}
.legal .wd-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:40px 0 0;padding:18px 0 0;border-top:1px solid rgba(11,11,12,.1)}
.legal .wd-foot a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:rgba(11,11,12,.66);text-decoration:none}
.legal .wd-foot a[aria-current="page"]{color:#0B0B0C;font-weight:600}
@media (hover:hover){.legal .wd-foot a:hover{color:#0B0B0C;text-decoration:underline}}
