/* Anfrage-Formular (anfrage.js). Nutzt die Tokens der Seite: --ink, --line, --raise, --brand, --no. */
.anf { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin: 1.6rem auto 0; max-width: 44rem; text-align: left; }
.anf__f { display: grid; gap: .35rem; font-weight: 600; min-width: 0; }
.anf__voll, .anf__send, .anf__msg, .anf__note { grid-column: 1 / -1; }
.anf input, .anf textarea { font: inherit; color: var(--ink); background: var(--raise); border: 2px solid var(--line); border-radius: .6rem; padding: .7rem .85rem; width: 100%; }
.anf input:focus-visible, .anf textarea:focus-visible { outline: 3px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.anf [aria-invalid="true"] { border-color: var(--no, #b42318); }
.anf__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.anf__send { justify-self: start; cursor: pointer; min-height: 2.75rem; }
.anf__send[disabled] { opacity: .6; cursor: progress; }
.anf__msg { margin: 0; padding: .8rem 1rem; border: 2px solid var(--line); border-radius: .6rem; background: var(--raise); color: var(--ink); }
.anf__msg[hidden] { display: none; }
.anf__mailbtn { display: inline-block; margin-top: .6rem; text-decoration: none; cursor: pointer; }
.anf__note { margin: 0; font-size: .85rem; color: var(--ink-dim); }
.anf__note a { color: inherit; }
/* Seiten mit ".contact p { margin; max-width }" (main-skill.ch): Formular-Absaetze nicht mitziehen */
.anf .anf__msg, .anf .anf__note { margin: 0; max-width: none; }
.anf .anf__msg { color: var(--ink); }
