/* =============================================================================
   Electric Paper – Input-Felder (global, z. B. Suche und Beitragsfilter)
   Formulare selbst gestaltet das Modul: modules/formulare/assets/formular.css
   ============================================================================= */

/* ---------------------------------------------------------------------------
   1. Input-Basis (global)
   --------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 12px;
    border: none;
    border-right: 3px solid var(--color-secondary-20);
    border-radius: 5px;
    background-color: var(--color-primary-light);
    font-family: var(--font-primary);
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 12px;
    padding-right: 30px;
    border: none;
    border-right: 3px solid var(--color-secondary-20);
    border-radius: 5px;
    background-color: var(--color-primary-light);
    font-family: var(--font-primary);
    font-size: 1rem;
    width: 100%;
}

/* Zustaende mit :where(), damit Komponenten (z. B. .epi-formular) sie mit
   einfacher Spezifitaet ueberschreiben koennen. */

:where(input[type="text"], input[type="email"], input[type="tel"], textarea, select):required {
    border-right: 3px solid var(--color-primary);
}

:where(input[type="text"], input[type="email"], input[type="tel"], textarea, select):focus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: 3px solid var(--color-accent-dark-wcag);   /* identisch zum globalen :focus-visible */
    outline-offset: 2px;
    border-right: 3px solid var(--color-secondary-20);
}

:where(input[type="text"], input[type="email"], input[type="tel"], textarea, select):required:focus {
    border-right: 3px solid var(--color-primary);
}

:where(input[type="text"], input[type="email"], input[type="tel"], textarea):invalid:not(:placeholder-shown),
:where(select):invalid {
    outline: 2px solid var(--color-error);
    border-right-color: var(--color-error);
}

/* ---------------------------------------------------------------------------
   2. Submit-Button (global)
   --------------------------------------------------------------------------- */

input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--color-primary);
    color: var(--color-text); /* #333 auf #E5A100 = 5,67:1 ✅ WCAG AA */
    padding: 8px 16px;
    border: 2px solid var(--color-primary);
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    font-family: var(--font-primary);
    font-weight: 600;
    text-transform: uppercase;
    width: fit-content;
    display: inline-block;
}

input[type="submit"]:hover,
input[type="submit"]:active {
    background-color: var(--color-accent-dark-wcag); /* identisch zum Button-Hover in global.css */
    border-color: var(--color-accent-dark-wcag);
    color: var(--color-base);                                  /* 6,80:1 auf #00656E */
}
