/* Anfrage-Formular (anfrage.js): gleiche Sprache wie die Programm-Karten – Schwarz, Offwhite, Haarlinien, eckig */
.anf-dialog{
  --anf-bg:#171717;--anf-ink:#f7f7f3;--anf-dim:#f7f7f3a8;--anf-line:#f7f7f333;--anf-err:#f7f7f3;
  margin:auto;padding:0;border:1px solid var(--anf-line);background:var(--anf-bg);color:var(--anf-ink);
  width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;
  font-family:"Inter",Arial,sans-serif;overscroll-behavior:contain
}
.anf-dialog::backdrop{background:#000000b3;backdrop-filter:blur(4px)}
@media (prefers-reduced-motion:no-preference){
  .anf-dialog[open]{animation:anf-in .28s cubic-bezier(.2,.7,.2,1)}
  @keyframes anf-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
.anf-panel{padding:28px 28px 32px}
.anf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.anf-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--anf-dim)}
.anf-title{margin:0;font-size:clamp(28px,5vw,40px);line-height:1;font-weight:600;letter-spacing:-.02em}
.anf-intro{margin:16px 0 24px;color:var(--anf-dim);font-size:15px;line-height:1.5;max-width:46ch}
.anf-sub{margin:28px 0 12px;padding-top:20px;border-top:1px solid var(--anf-line);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--anf-dim)}
.anf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.anf-field{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;min-width:0}
.anf-half{grid-column:span 1}
@media (width<520px){.anf-half{grid-column:1/-1}.anf-panel{padding:22px 18px 26px}}
.anf-label{font-size:13px;color:var(--anf-dim);padding:0}
.anf-field input,.anf-field textarea{
  width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid var(--anf-line);border-radius:0;
  background:transparent;color:var(--anf-ink);font:inherit;font-size:16px;color-scheme:dark
}
.anf-field textarea{resize:vertical;min-height:88px}
.anf-field input::placeholder,.anf-field textarea::placeholder{color:#f7f7f366}
.anf-field input:focus,.anf-field textarea:focus{outline:none;border-color:var(--anf-ink)}
.anf-checked .anf-field input:invalid,.anf-checked .anf-field textarea:invalid,.anf-checked .anf-choice:has(input:invalid){border-color:var(--anf-err);box-shadow:inset 0 0 0 1px var(--anf-err)}
.anf-choice{display:flex;flex-wrap:wrap;gap:8px}
.anf-choice label{position:relative;cursor:pointer}
.anf-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.anf-choice span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid #f7f7f38c;border-radius:var(--radius,7px);font-size:15px;transition:background .25s,color .25s}
.anf-choice label:hover span{border-color:var(--anf-ink)}
.anf-choice input:checked+span{background:var(--anf-ink);color:var(--anf-bg);border-color:var(--anf-ink)}
.anf-choice input:focus-visible+span{outline:2px solid var(--anf-ink);outline-offset:2px}
.anf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.anf-note{margin:20px 0 0;font-size:13px;color:var(--anf-dim);line-height:1.5}
.anf-note a,.anf-status a{color:var(--anf-ink)}
.anf-status{margin:12px 0 0;font-size:14px;min-height:1px}
.anf-status:empty{margin:0}
.anf-send:disabled{opacity:.6;cursor:wait}

/* Bestätigung (Shideh 2026-11-08: "too much text and unübersichtlich") – Haken, Danke, ein Satz, ein Knopf */
.anf-done{outline:none;padding:40px 28px 28px}
.anf-badge{width:56px;height:56px;display:grid;place-items:center;background:var(--anf-ink);color:var(--anf-bg)}
.anf-badge svg{width:28px;height:28px}
.anf-done .anf-title{margin:28px 0 0;font-size:clamp(32px,6vw,48px)}
.anf-lead{margin:12px 0 0;font-size:17px;line-height:1.45;color:var(--anf-dim)}
@media (prefers-reduced-motion:no-preference){
  .anf-done>*{animation:anf-in .4s cubic-bezier(.2,.7,.2,1) both}
  .anf-done>:nth-child(2){animation-delay:.05s}.anf-done>:nth-child(3){animation-delay:.1s}.anf-done>:nth-child(4){animation-delay:.15s}
}
.anf-dialog:has(.anf-done){width:min(460px,calc(100vw - 32px))}
/* Shideh 2026-11-08: Anzahl-Felder ohne Pfeil-Spinner */
.anf-field input[type=number]{-moz-appearance:textfield;appearance:textfield}
.anf-field input[type=number]::-webkit-inner-spin-button,.anf-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Shideh 2026-11-08: "we need consistent button" – Knöpfe = die Pills der Seite (Online-Ticket / Route planen) */
.anf-send{margin-top:24px;justify-content:center}
.anf-send:disabled{opacity:.6;cursor:wait}
.anf-close{flex:none;width:34px;padding:0;justify-content:center;font-size:22px;font-weight:400;line-height:1;background:transparent}
.anf-done .anf-send{margin-top:32px}
.anf-badge{border-radius:var(--radius,7px)}
@media (width<520px){.anf-send{width:100%}}
/* Shideh 2026-11-08: Knöpfe auf dem Desktop rechts (Handy: volle Breite) */
@media (width>=520px){.anf-send{display:flex;width:fit-content;margin-left:auto}}
