/* Anfragestrecke: Fassungen setzen --af-grund, --af-tinte, --af-weich, --af-akzent, --af-akzent-tinte, --af-rand, --af-schrift, --af-titel */
.af{position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 24px));max-height:min(860px,calc(100dvh - 24px));padding:0;border:0;border-radius:18px;background:var(--af-grund,#FBF6EA);color:var(--af-tinte,#14402A);font:400 1.125rem/1.5 var(--af-schrift,system-ui,sans-serif);box-shadow:0 30px 80px -20px rgba(5,14,10,.65);overflow:hidden}
.af[open]{display:flex;flex-direction:column}
.af::backdrop{background:rgba(5,14,10,.72)}
.af form{flex:1 1 auto;overflow-y:auto;padding:30px clamp(20px,5vw,40px) 14px;display:flex;flex-direction:column;min-height:0}
.af h2{font:var(--af-titel,600 2rem/1.1 Georgia,serif);margin:0 0 18px;padding-right:44px;outline:0;letter-spacing:-.01em;text-wrap:balance}
.af-s[hidden]{display:none}
.af-stand{margin:0 0 6px;font-size:1rem;color:var(--af-weich,#35523F);min-height:1.5em}
.af-zu{position:absolute;top:14px;right:14px;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.9rem;line-height:1;cursor:pointer}
.af-zu:hover{background:rgba(120,120,100,.16)}
.af-liste{display:grid;gap:10px}
.af-liste--grad{grid-template-columns:repeat(5,1fr)}
.af-liste--grad .af-wahl:nth-child(n+6){grid-column:span 5}
.af-wahl{position:relative;display:block;cursor:pointer}
.af-wahl input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.af-wahl span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:.55em .8em;border:2px solid var(--af-rand,#6F8574);border-radius:12px;font-weight:600;text-align:center;transition:background-color .14s,color .14s,border-color .14s}
.af-liste:not(.af-liste--grad) .af-wahl span{justify-content:flex-start;text-align:left}
.af-wahl:hover span{border-color:var(--af-tinte,#14402A)}
.af-wahl input:checked+span{background:var(--af-akzent,#14402A);border-color:var(--af-akzent,#14402A);color:var(--af-akzent-tinte,#FBF6EA)}
.af-wahl input:focus-visible+span{outline:3px solid var(--af-tinte,#14402A);outline-offset:3px}
.af-hilfe{margin:-8px 0 14px;color:var(--af-weich,#35523F)}
.af-feld{display:block;margin-bottom:12px;font-weight:600}
.af-feld input,.af-feld textarea{display:block;width:100%;margin-top:5px;padding:.7em .8em;min-height:54px;border:2px solid var(--af-rand,#6F8574);border-radius:10px;background:#fff;color:#14251B;font:400 1.125rem/1.35 var(--af-schrift,system-ui,sans-serif)}
.af-feld input:focus-visible,.af-feld textarea:focus-visible{outline:3px solid var(--af-tinte,#14402A);outline-offset:2px}
.af-fehler{margin:0 0 10px;padding:.6em .8em;border-radius:10px;background:#FBE6E0;color:#7A1D0C;font-weight:600}
.af-knoepfe{display:flex;gap:10px;justify-content:space-between;margin-top:auto;padding-top:18px;position:sticky;bottom:0}
.af-knoepfe button{min-height:56px;padding:.5em 1.3em;border-radius:999px;font:700 1.125rem/1 var(--af-schrift,system-ui,sans-serif);cursor:pointer;transition:transform .12s}
.af-knoepfe button:active{transform:scale(.97)}
.af-weiter{margin-left:auto;border:2px solid var(--af-akzent,#14402A);background:var(--af-akzent,#14402A);color:var(--af-akzent-tinte,#FBF6EA)}
.af-zurueck{border:2px solid var(--af-rand,#6F8574);background:transparent;color:inherit}
.af button[hidden]{display:none}
.af-tel{margin:0;padding:10px clamp(20px,5vw,40px) 16px;font-size:1.0625rem;color:var(--af-weich,#35523F)}
.af-tel a{color:var(--af-tinte,#14402A);font-weight:700;white-space:nowrap}
.af-nummer{display:block;margin:0 0 12px;padding:.55em .7em;border-radius:14px;background:var(--af-akzent,#14402A);color:var(--af-akzent-tinte,#FBF6EA);font-size:clamp(1.5rem,6vw,2rem);font-weight:700;text-align:center;text-decoration:none;font-variant-numeric:tabular-nums}
.af-nummer--klein{font-size:1.1875rem;background:transparent;color:var(--af-tinte,#14402A);border:2px solid var(--af-rand,#6F8574)}
.af-zusammen{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 16px}
.af-zusammen dt{color:var(--af-weich,#35523F)}
.af-zusammen dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.af-demo{margin:0 0 14px;padding:.7em .9em;border-radius:10px;background:rgba(150,120,50,.14)}
@media(prefers-reduced-motion:reduce){.af *{transition:none!important}}
