/*
 * Das Formular-Design von kartclub-sh.ch — Standard für alle CF7-Formulare.
 *
 * „übernehme das design vom aogv formular, setze das als standart für alle
 * cf7 formulare" (Marco, 14.11.2026).
 *
 * Alle CF7-Formulare der Website (Rennanmeldungen, Meisterfeier, GV) sind
 * gleich gebaut:
 *
 *   <div class="gv-form-card">
 *     <div class="gv-form-header"> <h2>…</h2> <p>…</p> </div>
 *     <div class="gv-form-body">
 *       <div class="gv-form-row gv-form-row-2">
 *         <div class="gv-form-field"> <label>…</label> [text* …] </div>
 *         <div class="gv-form-field"> … </div>
 *       </div>
 *       <div class="gv-form-row gv-form-row-accept"> <div class="gv-form-field">[acceptance …]…[/acceptance]</div> </div>
 *       <div class="gv-form-row gv-form-row-submit"> [submit "Anmelden"] </div>
 *     </div>
 *   </div>
 *
 * Das Aussehen dazu lag bis 2.6.2 an zwei Orten, und nur einer galt überall:
 * der Hauptteil im „Zusätzlichen CSS" des Themes, die Regeln für Auswahl-
 * listen, Hinweise und Traktanden in einem HTML-Widget **auf der Seite der
 * a.o. GV**. Ein Rennformular mit Radioknöpfen sah darum anders aus als das
 * GV-Formular. Hier steht jetzt beides zusammen und wird auf jeder Seite
 * geladen. Die Kopie im Theme darf bleiben — sie sagt dasselbe.
 *
 * Schriftgrössen in px: Das Theme setzt die Grundschrift auf 10px; `1rem`
 * ist dort 10px. Die Werte sind am Formular der a.o. GV gemessen
 * (Beschriftung 13px, Felder 14px, Auswahl 15px, Hinweis 14px, Knopf 10.5px).
 *
 * Die eigenen Formulare des Vereinsmanagers (`.kcs-anm`, kcs-anmeldung.css)
 * folgen demselben Muster.
 */

/* ── Karte ──────────────────────────────────────────────────────────── */

.gv-form-card {
    box-sizing: border-box;
    max-width: 720px;
    margin: 0 auto;
    padding: 24px 24px 26px;
    background: #1f2124;
    border-top: 3px solid #c09457;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
    color: #c2c0bc;
}

.gv-form-header h2,
.wpcf7 form .gv-form-card h2 { margin: 0 0 6px; color: #e6e1d5; font-weight: 600; }
.gv-form-header p { margin: 0 0 16px; color: #c2c0bc; }
.gv-form-header p strong { color: #e6e1d5; }

.gv-traktanden { margin: 0 0 12px 1.4em; padding: 0; color: #e6e1d5; }
.gv-traktanden li { margin: 0 0 2px; }
.gv-traktanden li p { margin: 0; }

/* ── Reihen und Felder ──────────────────────────────────────────────── */

.gv-form-body { margin-top: 8px; }
.gv-form-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.gv-form-row-2 .gv-form-field { flex: 1 1 calc(50% - 5px); min-width: 200px; }

.gv-form-field label {
    display: block;
    margin-bottom: 2px;
    color: #c09457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
}

.gv-form-field input[type="text"],
.gv-form-field input[type="email"],
.gv-form-field input[type="tel"],
.gv-form-field input[type="number"],
.gv-form-field input[type="date"],
.gv-form-field input[type="url"],
.gv-form-field select,
.gv-form-field textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 10px;
    background: #2a2d31;
    border: 1px solid #36393d;
    border-radius: 6px;
    color: #e6e1d5;
    font-size: 14px;
    transition: all .15s ease-in-out;
}

.gv-form-field input[type="text"]:focus,
.gv-form-field input[type="email"]:focus,
.gv-form-field input[type="tel"]:focus,
.gv-form-field input[type="number"]:focus,
.gv-form-field input[type="date"]:focus,
.gv-form-field input[type="url"]:focus,
.gv-form-field select:focus,
.gv-form-field textarea:focus {
    border-color: #c09457;
    background: #323539;
    box-shadow: 0 0 0 2px rgba(192, 148, 87, .3);
    outline: none;
}

.gv-form-field input::placeholder,
.gv-form-field textarea::placeholder { color: #948a7b; font-size: 13px; }

/* ── Auswahl (Radio, Checkbox) und Hinweise ─────────────────────────── */
/* Stand bis 2.6.2 nur auf der Seite der a.o. GV. */

.gv-form-field .wpcf7-list-item { display: block; margin: 4px 0 0; }
.gv-form-field .wpcf7-list-item label {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0;
    color: #e6e1d5;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
}

.gv-form-row-accept .gv-form-field { font-size: 13px; }
.gv-form-row-accept .wpcf7-list-item label { color: #c2c0bc; font-size: 13px; }

.gv-hinweis { display: block; margin: 6px 0 0; color: #948a7b; font-size: 14px; line-height: 1.4; }

/* ── Absenden ───────────────────────────────────────────────────────── */

.gv-form-row-submit { justify-content: flex-end; }

.gv-form-row-submit input[type="submit"] {
    padding: 14px 34px;
    background: #c09457;
    border: 0;
    border-radius: 999px;
    /* Das Theme setzt die Schriftfarbe von Knöpfen selbst und stärker. */
    color: #fff !important;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s ease-in-out;
}

.gv-form-row-submit input[type="submit"]:hover {
    background: #a77d45;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .35);
}

/* ── Rückmeldungen von Contact Form 7 ───────────────────────────────── */

.gv-form-card .wpcf7-not-valid-tip { margin-top: 3px; color: #e06c5e; font-size: 12px; }
.gv-form-card .wpcf7-not-valid { border-color: #e06c5e !important; }
.wpcf7 form .wpcf7-response-output {
    max-width: 720px;
    margin: 14px auto 0;
    padding: 10px 14px;
    border-radius: 6px;
    color: #e6e1d5;
    font-size: 13px;
}

/* ── Rennformulare: Motorwahl je Kategorie ──────────────────────────── */
/* Die Zeile erscheint erst, wenn die passende Kategorie gewählt ist. */

.kids-motor-row,
.junior-motor-row,
.sport-motor-row { display: none !important; }

.kids-motor-row.is-visible,
.junior-motor-row.is-visible,
.sport-motor-row.is-visible { display: flex !important; }

@media (max-width: 600px) {
    .gv-form-card { padding: 18px 16px 20px; }
    .gv-form-row-2 .gv-form-field { flex: 1 1 100%; }
}
