/* Anfrageformular und Antwortseiten (X-ULTRA-07, TEXTE-O3) — Stil als Same-Origin-Datei statt Inline-<style> (RD-W-08, Vorbereitung der erzwungenen CSP, Entscheid 119).
   Die Regeln sind unverändert aus resources/views/public/anfrage/partials/stil.blade.php übernommen (Werbeseite alt UND neu); die neue Werbeseite legt die Karte in site-2027.css
   (.w-kontakt .anfrage-card …) auf ihre Tokens. Farben kommen aus den Rollen-Variablen der jeweiligen Seite (ci.css: --paper-2, --ink, --muted …).
   Die Karte ist in hellem UND dunklem Modus hell — ihre Rollen-Farben (--ci-kontur, --ci-fokus) sind auf die hellen Tokens festgenagelt;
   Eingabekontur >= 3:1, sichtbarer Fokusring, Fehler mit Zeichen und Balken (nie nur Farbe). */
.anfrage-sec{padding:56px 0 96px}
.anfrage-card{max-width:680px;margin:0 auto;background:var(--paper-2);border:1px solid var(--line-2);border-radius:22px;padding:34px 34px 30px;box-shadow:0 10px 34px rgba(21,23,28,.06);--ci-kontur:var(--muted);--ci-fokus:var(--ink);color-scheme:light}
.anfrage-card h2,.anfrage-card h3,.anfrage-card h4{font-size:22px;margin:0 0 10px}
.anfrage-card p{color:var(--ink-3,#3a3d45);line-height:1.6}
.anfrage-form label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.anfrage-feld{margin-bottom:15px}
.anfrage-form input[type=text],.anfrage-form input[type=email],.anfrage-form input[type=tel],.anfrage-form select,.anfrage-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;font-family:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:#fff;border:1.5px solid var(--ci-kontur);border-radius:12px;text-transform:none;letter-spacing:0}
.anfrage-form textarea{min-height:120px;resize:vertical}
.anfrage-form [aria-invalid="true"]{border-color:var(--copper);box-shadow:inset 5px 0 0 var(--copper)}
.anfrage-form input:focus-visible,.anfrage-form select:focus-visible,.anfrage-form textarea:focus-visible{outline:2px solid var(--ci-fokus);outline-offset:2px;border-color:var(--volt);box-shadow:0 0 0 4px var(--glow)}
.anfrage-form [aria-invalid="true"]:focus-visible{border-color:var(--copper)}
.anfrage-check input:focus-visible{outline:2px solid var(--ci-fokus);outline-offset:2px}
.site .anfrage-card a:focus-visible,.site .anfrage-card button:focus-visible{outline:2px solid var(--ci-fokus);outline-offset:3px}
.anfrage-row{display:flex;gap:14px;flex-wrap:wrap}
.anfrage-row>.anfrage-feld{flex:1 1 220px}
.anfrage-hilfe{display:block;margin-top:6px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--muted)}
.anfrage-pflicht{margin-left:2px;font-weight:700}
.anfrage-feld-fehler{display:flex;gap:6px;align-items:flex-start;margin-top:6px;text-transform:none;letter-spacing:0;font:600 13.5px/1.45 var(--font-body);color:#8a2d07}
.anfrage-feld-fehler svg{flex:none;margin-top:2px}
.anfrage-feld-fehler-zeile{display:block}
.anfrage-fehler{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:rgba(194,65,12,.07);border:1px solid rgba(194,65,12,.3);color:#8a2d07;font-size:14px}
.anfrage-fehler ul{margin:6px 0 0;padding-left:18px}
.anfrage-fehler a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.anfrage-check{display:flex !important;gap:10px;align-items:flex-start;text-transform:none !important;letter-spacing:0 !important;font-family:inherit !important;font-size:14.5px !important;color:var(--ink) !important;line-height:1.5}
.anfrage-check input{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:#f2a516}
.anfrage-hinweis{margin-top:14px;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--muted)}
.anfrage-hinweis a{color:var(--volt-d);text-decoration:underline;text-underline-offset:2px}
.anfrage-btn{width:100%;justify-content:center;border:none;cursor:pointer;font-size:16px;padding:15px 24px;margin-top:4px}
/* Honeypot: für Menschen unsichtbar, aber nicht display:none (manche Bots überspringen das). */
.anfrage-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){.anfrage-card{padding:24px 18px}.anfrage-sec{padding:36px 0 64px}}
/* TEXTE-O3 (Entscheid 100) — Werbeseite, dunkler Abschnitt „Kontakt“ (.s-cta.inv). Die Werbeseite setzt im inversen Abschnitt Schrift und
   Knöpfe auf Bone (--c-text) und lässt Überschriften erben (.site h2{color:inherit}); die Karte bleibt aber hell (Bone-Papier auf Graphit, im
   Dunkelmodus der Seite Weiß auf Bone). Darum: Kartenschrift fest Graphit, Hauptknopf in Amber wie überall in dunklen Abschnitten, Ecken eckig wie
   der Rest der Werbeseite, Karte füllt die Spalte, Fokusring der Fehlerliste in Graphit. Nur Farbe und Form — Abstände/Schrift bleiben. */
.s-cta.inv .anfrage-card{color:var(--ink);border-radius:0;box-shadow:none;max-width:none;margin:0}
.s-cta.inv .anfrage-card>p{margin-bottom:18px}
.s-cta.inv .anfrage-form input[type=text],.s-cta.inv .anfrage-form input[type=email],.s-cta.inv .anfrage-form input[type=tel],.s-cta.inv .anfrage-form select,.s-cta.inv .anfrage-form textarea,.s-cta.inv .anfrage-fehler{border-radius:0}
.s-cta.inv .anfrage-btn{background:var(--volt);color:var(--on-volt);border-color:var(--volt);border-radius:0}
.s-cta.inv .anfrage-btn:hover{background:var(--volt);border-color:var(--volt);box-shadow:0 12px 30px -12px var(--glow),inset 0 -3px 0 rgba(21,23,28,.24)}
.s-cta.inv .anfrage-btn:active{background:var(--volt-press);border-color:var(--volt-press);color:var(--on-volt-press);box-shadow:none}
.site .anfrage-card .anfrage-fehler:focus-visible{outline:2px solid var(--ci-fokus);outline-offset:3px}
/* RD-W-08 — Kontrastmodus „Windows“ (forced-colors): Der Absenden-Knopf hat im Normalfall keinen Rand (Füllfarbe trägt ihn); ohne Füllung stünde er als bloßer Text da.
   Eingaben behalten ihre Kontur, Fehler stehen mit Zeichen (Symbol, Text), nicht nur in Farbe. */
@media (forced-colors:active){
    .anfrage-btn{border:2px solid ButtonText}
    .anfrage-form input[type=text],.anfrage-form input[type=email],.anfrage-form input[type=tel],.anfrage-form select,.anfrage-form textarea{border-color:FieldText}
    .anfrage-form [aria-invalid="true"]{border-width:3px}
}
