/* riedl.css — nur Anordnung, die für die öffentliche Riedl-Strecke gilt. Farben kommen aus tokens.css. */
body{background:var(--karte);font-family:var(--font)}
.rd-einstieg[hidden],#formular[hidden]{display:none}
.rd-einstieg{min-height:100dvh;background:var(--karte);color:var(--text);display:flex;flex-direction:column}
.rd-einstieg-kopf{width:min(1080px,calc(100% - 48px));margin:0 auto;padding:48px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rd-einstieg-kopf img{width:201px;height:40px;object-fit:contain}
.rd-einstieg-kopf span{font-size:13px;letter-spacing:.1em;font-weight:700;color:var(--marke-dunkel)}
.rd-einstieg-inhalt{width:min(1080px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:20px 0 80px}
.rd-einstieg-nummer{font-size:14px;font-weight:600;color:var(--marke-dunkel)}
.rd-einstieg h1{font-family:var(--font-marke);font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.2;color:var(--marke);margin:12px 0 18px}
.rd-einstieg-inhalt p:not(.rd-einstieg-nummer){font-size:17px;line-height:1.5;color:var(--text-2)}
.rd-einstieg-aktionen{display:flex;flex-direction:column;gap:12px;max-width:470px;margin-top:28px}
.rd-einstieg-aktionen a,.rd-einstieg-aktionen button{box-sizing:border-box;min-height:68px;padding:13px 20px;border:1px solid var(--marke);border-radius:0;background:var(--marke);color:#fff;font-family:var(--font);font-size:16px;font-weight:500;line-height:1.2;text-transform:uppercase;text-align:left;text-decoration:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background-color .22s ease,color .22s ease,border-color .22s ease}
.rd-einstieg-aktionen .rd-einstieg-anrufen{background:transparent;color:var(--tinte)}
.rd-einstieg-aktionen .rd-einstieg-anrufen span{font-size:16px;font-weight:500;color:inherit}
.rd-einstieg-aktionen .rd-einstieg-anrufen:hover{background:var(--marke);color:#fff}
.rd-einstieg-aktionen button:hover{background:var(--tinte);border-color:var(--tinte);color:#fff}
.rd-einstieg-aktionen :focus-visible{outline:3px solid var(--marke);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.rd-einstieg-aktionen a,.rd-einstieg-aktionen button{transition:none}}
.rd-einstieg-bild{display:block;width:auto;max-width:100%;height:auto;max-height:560px;justify-self:center;box-shadow:0 8px 20px #0002}
@media(max-width:700px){.rd-einstieg-kopf{padding:24px 0}.rd-einstieg-kopf img{width:151px;height:30px}.rd-einstieg-kopf span{font-size:10px;text-align:right}.rd-einstieg-inhalt{grid-template-columns:1fr;gap:24px;padding:24px 0 48px}.rd-einstieg-bild{display:none}.rd-einstieg h1{font-size:32px}.rd-einstieg-aktionen .rd-einstieg-anrufen span{display:none}}
.mf-kopf{padding-top:var(--abstand-5)}
.mf-kopf img{height:40px;width:201px;display:block}
.mf-kopf > a{display:inline-flex;align-items:center;flex:none;position:relative;
  padding:20px 36px 20px 16px;margin:-20px -36px -20px -16px;
  text-decoration:none;cursor:pointer;touch-action:manipulation}
.mf-kopf > a:focus-visible{outline:2px solid var(--marke-dunkel);outline-offset:-4px}
.mf-kopf .mf-titel{font-size:var(--schrift-1);text-transform:uppercase;letter-spacing:.08em;color:var(--marke-dunkel);font-weight:600}
.mf-frage{font-weight:500;font-size:30px;line-height:1.15;letter-spacing:-.03em;color:var(--tinte)}   /* Grown, ein Schnitt, Gold wie die Website-Überschriften; ab 24px Großtext, 3:1 reicht (gemessen 3,6:1) */
.tw-tg{font-weight:500;letter-spacing:-.02em}
.mf-frage .mf-pflicht{font-family:var(--font);font-size:.6em;vertical-align:.5em;margin-left:2px}
.mf-kopf .mf-titel{white-space:nowrap}
.mf-ende .mf-signet{display:block;width:140px;height:140px;margin:0 auto var(--abstand-4)}
.mf-nummer{color:var(--marke-dunkel)}
.rd-vorschau{position:relative;z-index:4;text-align:center;font-size:var(--schrift-1);letter-spacing:.04em;
  padding:6px var(--abstand-4);background:var(--leiste);color:#f1e7cf}
@media (max-width:560px){.mf-kopf img{height:30px;width:151px}.mf-kopf > a{padding:16px 24px 16px 16px;margin:-16px -24px -16px -16px}.mf-frage{font-size:26px}}
/* Laufschrift etwas kleiner (Wolfgang 04.10.): Hilfetexte, Antworten, Kalender */
.mf-hilfe{font-size:15px;line-height:1.55}
.mf-option{font-size:15px}
.mf-option-text small{font-size:13px}
.mf-einwilligung{font-size:14px}
.mf-feld input{font-size:18px}
.mf-ablage{font-size:14px}
.tw-zeit{font-size:15px}
.tw-auswahl{font-size:15px}
.mf-zurueck,.mf-weiter{font-size:15px}
/* Seite der Kundin (Absagen / neuen Termin), 05.10.2026 */
.kt{background:var(--flaeche);color:var(--text)}
.kt-seite{max-width:560px;margin:0 auto;padding:var(--abstand-6) var(--abstand-4) var(--abstand-6)}
.kt-logo{display:block;height:40px;width:auto;margin-bottom:var(--abstand-6)}
.kt h1{font-family:var(--font-marke);font-weight:500;font-size:28px;line-height:1.2;letter-spacing:-.02em;color:var(--tinte);margin:0 0 var(--abstand-4)}
.kt p{font-size:16px;line-height:1.6}
.kt a{color:var(--marke-dunkel)}
.kt-gruss{color:var(--text-2);margin:0 0 var(--abstand-2)}
.kt-kasten{background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius-karte);padding:var(--abstand-4);font-weight:600;color:var(--tinte)}
.kt-form{display:flex;flex-direction:column;gap:var(--abstand-3);margin-top:var(--abstand-4)}
.kt-terminwahl{background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius-karte);padding:var(--abstand-4)}
.kt-terminwahl.tw{margin-top:0}
.kt-knopf{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border-radius:var(--radius-pill);border:1px solid var(--knopf-primaer);
  background:var(--knopf-primaer);color:var(--knopf-primaer-text) !important;font:inherit;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer}
.kt-knopf:hover{background:var(--knopf-primaer-hover)}
.kt-knopf[disabled]{opacity:.4;cursor:not-allowed}
.kt-knopf.leise{background:var(--karte);color:var(--tinte) !important;border-color:var(--linie)}
.kt-hinweis{background:var(--gelb-bg);border:1px solid var(--gelb-linie);color:#6d4a0c;border-radius:var(--radius-knopf);padding:12px 14px;margin:0}
.kt-fehler{background:var(--rot-bg);border:1px solid var(--rot-linie);color:var(--rot);border-radius:var(--radius-knopf);padding:12px 14px}
.kt-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.kt-check input{width:22px;height:22px;flex:none;accent-color:var(--marke);margin-top:1px}
.kt-klein{font-size:14px !important;color:var(--text-2)}
.kt-fuss{margin-top:var(--abstand-6);font-size:13px !important;color:var(--text-3)}

/* Sanfter Schrittwechsel; Dauer bleibt innerhalb der JS-Aufraeumfrist (340 ms). */
.mf{--mf-weg:14px;--mf-dauer:320ms}
.mf-schritt{transition-timing-function:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.mf{--mf-weg:0px;--mf-dauer:0ms}}

/* Stabile Bildschirmbühne: Inhalte mittig, lange Schritte innerhalb scrollbar. */
html:has(.mf){height:100%;overflow:hidden;scroll-behavior:auto}
body:has(.mf){height:100%;margin:0;overflow:hidden}
.mf{height:100svh;height:100dvh;min-height:0;overflow:hidden;--mf-weg:0px}
.mf-fortschritt{flex:none;position:relative}
.mf-kopf{flex:none}
.mf-buehne{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;align-items:flex-start;padding-block:24px}
.mf-schritt{flex:none;margin-block:auto}
.mf-schritt.mf-geht{margin:0;max-width:none}
.mf-fuss{flex:none;position:relative;bottom:auto}
.mf-frage:focus{outline:none}
@media(min-width:900px){.mf{--mf-breite:1080px}.mf-schritt:not(.mf-hat-bild){max-width:608px;margin-inline:auto}.mf-hat-bild .mf-abbild{max-height:min(560px,calc(100dvh - 190px));aspect-ratio:3/4}.mf-kopf,.mf-fuss-innen{max-width:1080px}}
@media(max-width:899px){.mf-abbild{aspect-ratio:auto;height:clamp(100px,20dvh,180px);margin-bottom:20px}.mf-buehne{align-items:flex-start;padding-block:20px}.mf-kopf{padding-top:16px}}

/* Die Originalfotos bleiben auf Desktop und Tablet vollständig sichtbar. */
@media(min-width:701px){
  .mf:has(.mf-schritt.mf-hat-bild:not(.mf-geht)){--mf-breite:1080px}
  .mf-hat-bild{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);align-items:center}
  .mf-hat-bild .mf-abbild{order:2;display:flex;justify-content:center;align-items:center;min-width:0;
    margin:0;height:auto;max-height:none;aspect-ratio:auto;overflow:visible;background:transparent;box-shadow:none}
  .mf-hat-bild .mf-abbild img{display:block;width:auto;height:auto;max-width:100%;
    max-height:min(560px,calc(100dvh - 190px));object-fit:contain;box-shadow:var(--schatten-2)}
}
@media(max-width:700px){.mf-hat-bild .mf-abbild{display:none}}
.mf-bild img{object-fit:contain}

.mf-schritt[data-schritt="termin"] .mf-eigen{min-height:360px}
.mf .tw-zeiten{min-height:180px}
.mf .tw-auswahl{min-height:76px}

/* Originalwebsite, live abgeglichen 08.10.2026: Grown + Montserrat. */
.mf-frage,.kt h1{font-family:var(--font-marke);font-weight:400;letter-spacing:0;color:var(--marke);line-height:1.3}
.mf-frage{font-size:clamp(26px,3vw,36px)}
.mf-hilfe a{color:var(--marke-dunkel);font-weight:600;text-underline-offset:3px}
.mf-schritt[data-schritt="termin"] .mf-hilfe{font-weight:600;color:var(--text);background:var(--flaeche);padding:14px 16px;border-left:3px solid var(--marke)}
.mf-recht-link{font-size:14px;line-height:1.5;margin:12px 0;color:var(--marke-dunkel)}
.mf-weiter{text-transform:uppercase;letter-spacing:.04em;font-weight:500}
@media(max-width:560px){.mf-kopf .mf-titel{font-size:10px;white-space:normal;text-align:right}.mf-frage{font-size:26px}}
