/* ambria: Tokens und Bauformen aus ambria-system.css / assemble.py; nur diese Strecke. */
@font-face{font-family:Inter;src:url(fonts/inter-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-500.woff2) format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Lisu Bosa';src:url(fonts/LisuBosa-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--color-cta-pink:#c9299b;--color-cta-pink-dark:#b02189;--color-finn:#542348;--color-finn-dark:#431c39;--color-lavender-rose:#fa91e0;--color-carousel-pink:#fcf0f9;--color-classic-rose:#fcccf0;--page-bg:#fff;--page-text:var(--color-finn);--muted:#73546a;--soft-surface:var(--color-carousel-pink);--focus:var(--color-finn);--error:#a92141;--radius-button:.75rem;--radius-card:1.25rem}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--page-bg);color:var(--page-text);font:400 17px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-underline-offset:.22em}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
h1:focus{outline:none}
.skip-link{position:absolute;top:-100px;background:white;color:var(--color-finn);z-index:10000;padding:12px}
.skip-link:focus{top:8px}
.site-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - 1120px)/2))}
.wordmark{font:700 43px/1 'Lisu Bosa',Georgia,serif;letter-spacing:-.01em;text-decoration:none}
.wordmark .dot{color:var(--color-cta-pink)}
main{width:min(100% - 48px,1040px);margin:0 auto;flex:1;padding:36px 0 20px}
.progress-wrap{max-width:600px;margin:0 auto 54px}
.progress-meta{display:flex;justify-content:space-between;gap:16px;font-size:13px;margin-bottom:10px;color:var(--muted)}
#progress-label{font-weight:600;color:var(--page-text)}
.progress{height:6px;background:var(--soft-surface);border-radius:99px;overflow:hidden}
#progress-fill{display:block;width:calc(100% / 6);height:100%;background:var(--color-cta-pink);border-radius:99px;transition:width .35s ease}
.k-form{text-align:center}
.k-form section{opacity:1;transform:translateY(0);transition:opacity .16s ease,transform .16s ease}
.k-form section.is-leaving,.k-form section.is-entering{opacity:0;transform:translateY(9px)}
.question-head{margin:0 auto 32px;max-width:780px}
h1{font-size:clamp(28px,3.1vw,42px);letter-spacing:-.025em;line-height:1.18;margin:0;text-wrap:balance;font-weight:700}
.question-head p{color:var(--muted);margin:17px auto 0;max-width:610px}
.question-icon{font-size:36px;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:var(--soft-surface);margin:0 auto 23px;color:var(--color-cta-pink)}
svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.form-narrow{max-width:420px;margin:0 auto;text-align:left}
.k-field{display:block;position:relative;margin:22px 0 0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.field-emoji{position:absolute;left:21px;top:50%;transform:translateY(-50%);font-size:27px;line-height:1;pointer-events:none}
.flabel{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
input{width:100%;height:76px;border:1.5px solid #e1e3e9;border-radius:12px;background:#fff;color:var(--color-finn-dark);padding:16px 20px 16px 68px;font-size:19px;transition:border-color .15s,box-shadow .15s}
input:focus{border-color:var(--color-cta-pink)}
input[aria-invalid=true]{border-color:var(--error)}
input::placeholder{color:#707889;opacity:1}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 2.1rem;border:1px solid transparent;border-radius:var(--radius-button);font-size:1rem;font-weight:500;line-height:1.5;text-decoration:none;transition:background .2s ease,transform .2s ease}
.button[data-variant=default]{background:var(--color-cta-pink);color:#fff}
.button[data-variant=default]:hover{background:var(--color-cta-pink-dark)}
.button:disabled{opacity:.65;cursor:wait}
.form-narrow>.button{width:100%;margin-top:18px}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 auto}
.routes{max-width:750px;gap:24px}
.choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;background:var(--color-cta-pink);border:1.5px solid transparent;border-radius:var(--radius-button);color:#fff;padding:28px 18px 25px;min-height:196px;opacity:1;translate:0 0;scale:1;--delay:0ms;transition:opacity .45s ease var(--delay),translate .45s cubic-bezier(.22,1,.36,1) var(--delay),scale .5s cubic-bezier(0,0,.2,1),background .2s ease,box-shadow .5s ease}
.choice:nth-child(2){--delay:90ms}.choice:nth-child(3){--delay:180ms}.choice:nth-child(4){--delay:270ms}.choice:nth-child(5){--delay:360ms}.choice:nth-child(6){--delay:450ms}
.is-entering .choice{opacity:0;translate:0 20px}
@media(hover:hover){.choice:hover{scale:1.05;background:var(--color-cta-pink-dark);box-shadow:0 8px 22px #54234825}.button:hover{transform:scale(1.03)}}
.choice:active{scale:.98}
.choice[aria-pressed=true]{background:var(--color-cta-pink-dark);box-shadow:inset 0 0 0 2px #fff8}
.choice-icon,.care-number{color:#fff}
.choice-icon svg,.care-number svg{display:block;width:44px;height:44px}
.choice-icon{display:grid;place-items:center;min-height:55px;font-size:43px;line-height:1.2;margin-bottom:4px}
.choice-title{font-size:17px;font-weight:600;line-height:1.35;text-wrap:balance}
.choice-copy{font-size:14px;color:#fff;line-height:1.5}
.route{min-height:251px;padding:28px 28px 30px}
.route .choice-icon{margin-bottom:8px}
.route .choice-title{font-size:21px}
.route .choice-copy{max-width:260px;font-size:15px}
.selection-mark{position:absolute;top:12px;right:12px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:15px;background:#fff;color:var(--color-cta-pink);opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s}
[aria-pressed=true]>.selection-mark{opacity:1;transform:scale(1)}
.services{grid-template-columns:repeat(4,minmax(0,1fr))}
.care{grid-template-columns:repeat(3,minmax(0,1fr));max-width:750px}
.care-choice{min-height:144px;padding:20px 12px;gap:12px}
.care-number{display:grid;place-items:center;width:48px;height:48px;color:#fff}
.care-number svg{width:48px;height:48px;stroke-width:1.6;fill:none}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:none;border:0;padding:10px 4px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:.25em}
.error{font-size:14px;color:var(--error);margin:8px auto 0}
.error:empty{display:none}
.region-message{background:var(--soft-surface);border-left:3px solid var(--color-cta-pink);padding:12px 14px;font-size:14px;margin:0 auto 26px;max-width:750px;border-radius:10px;text-align:left}
.optional{font-weight:400;color:var(--muted)}
.privacy{font-size:13px;line-height:1.6;color:var(--muted);margin:20px 0 0}
.contact{max-width:640px}
.contact>.button{min-height:64px;font-size:19px;font-weight:700;margin-top:24px}
[data-step="6"] .question-head{max-width:760px;margin-bottom:25px}
[data-step="6"] h1{font-size:clamp(27px,2.5vw,36px)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.thank-you{max-width:740px;margin:70px auto}
.thank-you p{font-size:19px;max-width:570px;margin:24px auto;color:var(--muted)}
.thank-icon{font-size:48px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--soft-surface);color:var(--color-cta-pink);margin:0 auto 30px}
.thank-icon svg{width:52px;height:52px}
footer{display:flex;align-items:center;justify-content:flex-end;gap:12px 24px;max-width:1120px;width:calc(100% - 48px);margin:16px auto 0;padding:14px 0 20px;font-size:12px;color:var(--muted)}
footer nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
footer a,footer .text-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center;padding:6px 0}
@media(max-width:700px){
 .site-header{min-height:74px;padding:16px 22px;justify-content:center}
 .wordmark{font-size:36px}
 main{width:calc(100% - 40px);padding-top:25px}
 .progress-wrap{margin-bottom:32px}
 .question-head{margin-bottom:25px}
 .question-head p{font-size:15px;line-height:1.55;margin-top:14px}
 .question-icon{font-size:36px;width:66px;height:66px;margin-bottom:22px}
 input{height:68px;font-size:16px;padding-left:57px}
 .field-emoji{left:17px;font-size:24px}
 .choices{gap:14px}
 .services,.care{grid-template-columns:repeat(2,minmax(0,1fr))}
 .choice{padding:22px 10px;min-height:197px;gap:10px;border-radius:16px}
 .choice-title{font-size:15px}
 .choice-copy{font-size:12px}
 .route{min-height:252px;padding:24px 12px 20px}
 .route .choice-title{font-size:17px}
 .route .choice-copy{font-size:13px}
 .route .choice-icon{margin-bottom:4px}
 .care-choice{min-height:123px;padding:18px 12px}
 .care-number{font-size:29px}
 .selection-mark{right:8px;top:8px;width:20px;height:20px;font-size:13px}
 .thank-you{margin:55px auto}
 .thank-you p{font-size:17px}
 footer{width:calc(100% - 40px);flex-direction:column;align-items:center;gap:4px;padding-top:20px;text-align:center}
 footer nav{gap:18px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.choice,.choice:hover,.choice:active,.choice[aria-pressed=true],.button:hover{transform:none;scale:1;translate:0 0}}


/* Zweite Ansicht; gleicher Ablauf. Hintergrund und Logo entsprechen dem Hauptauftritt. */
html[data-theme=dunkel]{--page-bg:var(--color-finn);--page-text:#fff;--muted:var(--color-carousel-pink);--soft-surface:var(--color-finn-dark);--focus:var(--color-lavender-rose);--error:#ffc1d2;color-scheme:dark}
[data-theme=dunkel] .wordmark{color:#fff}
[data-theme=dunkel] .wordmark .dot{color:var(--color-lavender-rose)}
[data-theme=dunkel] .question-icon,[data-theme=dunkel] .thank-icon{color:var(--color-lavender-rose)}
[data-theme=dunkel] input{color-scheme:light}
[data-theme=dunkel] input[aria-invalid=true]{border-color:#ff6c94}

.regions{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.region-choice{flex-direction:row;align-items:center;justify-content:flex-start;min-height:86px;padding:20px 15px;gap:12px;text-align:left}
.region-choice .choice-icon{min-height:0;margin:0;flex:none}
.region-choice .choice-icon svg{width:27px;height:27px}
.region-choice .choice-title{font-size:16px;text-wrap:wrap}
.region-choice .selection-mark{display:none}
.choice:nth-child(7){--delay:540ms}.choice:nth-child(8){--delay:630ms}
[data-theme=dunkel] .choice{background:#fff;color:var(--color-finn);border-color:#fff}
[data-theme=dunkel] .choice-icon,[data-theme=dunkel] .care-number,[data-theme=dunkel] .choice-copy{color:var(--color-finn)}

[data-theme=dunkel] .choice[aria-pressed=true]{background:var(--color-carousel-pink);border-color:var(--color-lavender-rose);box-shadow:inset 0 0 0 1px var(--color-lavender-rose)}
[data-theme=dunkel] .selection-mark{background:var(--color-finn);color:#fff}
@media(hover:hover){[data-theme=dunkel] .choice:hover{background:var(--color-carousel-pink)}}
@media(max-width:700px){
 .regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .region-choice{min-height:80px;padding:15px 11px;gap:8px;border-radius:12px}
 .region-choice .choice-title{font-size:14px;line-height:1.4}
 .region-choice .choice-icon svg{width:23px;height:23px}
}

.persons{max-width:750px;gap:24px}
.person-choice{min-height:225px;padding:28px 24px}
.person-choice .choice-title{font-size:21px}
.person-choice .choice-copy{font-size:15px;max-width:260px}
@media(max-width:700px){.persons{gap:14px}.person-choice{min-height:237px;padding:24px 12px}.person-choice .choice-title{font-size:17px}.person-choice .choice-copy{font-size:13px}}

/* Optionaler Rückrufwunsch: erst Datum, anschließend die Zeitfenster. */
.callback-picker{margin-top:22px;text-align:left}
.callback-toggle{width:100%;display:flex;align-items:center;gap:16px;padding:0 20px;height:76px;min-height:76px;border:1.5px solid #e1e3e9;border-radius:12px;background:#fff;color:var(--color-finn);text-align:left;line-height:1.4}
.callback-toggle>svg{width:30px;height:30px;flex:none}
.callback-toggle>span:nth-child(2){flex:1;min-width:0}
.callback-toggle strong{display:block;font-size:16px;font-weight:600}
#callback-summary{display:block;font-size:13px;color:#73546a;margin-top:3px}
.callback-chevron{display:grid;place-items:center;flex:none;transition:transform .2s}
.callback-chevron svg{width:20px;height:20px}
.callback-toggle[aria-expanded=true] .callback-chevron{transform:rotate(180deg)}
.callback-toggle[aria-expanded=true]{border-color:var(--color-cta-pink)}
.callback-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:0 22px;margin-top:10px;padding:22px;background:white;color:var(--color-finn);border:1.5px solid #e1e3e9;border-radius:12px;color-scheme:light;--focus:var(--color-finn)}
.callback-panel.has-date{grid-template-columns:minmax(320px,1.25fr) minmax(0,1fr)}
.callback-status{grid-column:1/-1;margin:0 0 16px;font-size:14px;line-height:1.6;text-align:center}
#callback-retry{grid-column:1/-1;margin:8px auto 0}
#callback-calendar{width:100%;max-width:360px;margin:0 auto;align-self:start}
#callback-slots{min-width:0;border-left:1px solid #eee4eb;padding-left:20px;align-self:start}
.calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:12px}
.calendar-nav h2{margin:0;text-align:center;font-size:18px;font-weight:600}
.calendar-nav button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--color-carousel-pink);color:var(--color-finn)}
.calendar-nav svg{width:20px;height:20px}
.calendar-nav button:disabled{opacity:.3;cursor:default}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.calendar-week{font-size:12px;color:#73546a;margin-bottom:8px}
.calendar-days button{min-height:44px;padding:0;border:0;border-radius:50%;font-size:15px;font-weight:600;background:var(--color-carousel-pink);color:var(--color-cta-pink-dark);aspect-ratio:1}
.calendar-days button:disabled{font-weight:400;background:transparent;color:#9a8f97;cursor:default}
.calendar-days button[data-booked=true]{background:#f1eef0;color:#756570;border:1px dashed #b7a9b2;line-height:1.1;text-decoration:line-through}
.calendar-days button[aria-current=date]{box-shadow:inset 0 0 0 1px #d5bacd}
.calendar-days button:not(:disabled):hover,.calendar-days button[aria-pressed=true]{background:var(--color-cta-pink);color:white}
.callback-date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#callback-date-label{font-size:17px;line-height:1.4;font-weight:600;margin:0}
#callback-date-label:focus{outline:none}
.callback-link{background:transparent;color:var(--color-finn);border:0;font-size:13px;text-decoration:underline;text-underline-offset:.25em;padding:10px 0;min-height:44px}
.callback-slot-hint{font-size:13px;color:#73546a;margin:8px 0 16px}
.callback-times{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:298px;overflow-y:auto;overscroll-behavior:contain;padding:4px 5px 4px 4px;scrollbar-width:thin}
.callback-times button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;padding:8px 6px;font-size:13px;font-weight:500;border:1px solid #d9c3d3;border-radius:8px;background:#fff;color:var(--color-finn);white-space:nowrap}
.callback-times button:not(:disabled):hover,.callback-times button[aria-pressed=true]{background:var(--color-cta-pink);border-color:var(--color-cta-pink);color:#fff}
.callback-times button:disabled{background:#f2eef1;color:#72646d;border-color:#e4dce1;cursor:not-allowed;opacity:1}
.callback-times button:disabled .callback-time-clock{text-decoration:line-through;text-decoration-color:#b0a2ab}
#callback-clear{grid-column:1/-1;display:block;margin:18px auto 0;color:#73546a}
@media(max-width:700px){
 .callback-toggle{gap:12px;padding:0 14px;height:68px;min-height:68px}
 .callback-toggle>svg{width:25px;height:25px}
 .callback-toggle strong{font-size:14px}
 #callback-summary{font-size:12px}
 .callback-panel{padding:18px 12px}
 .callback-panel.has-date{grid-template-columns:minmax(0,1fr);gap:24px 0}
 #callback-slots{border-left:0;border-top:1px solid #eee4eb;padding:20px 0 0}
 #callback-clear{margin-top:8px}
 .callback-times{grid-template-columns:repeat(2,minmax(0,1fr))}
 .callback-times button{font-size:14px}
 .callback-date-row{gap:0}
}

.test-notice{max-width:760px;margin:0 auto 28px;padding:12px 18px;border-radius:12px;background:#fff2fa;color:#542348;font-size:14px;line-height:1.5;text-align:center}
