/* ============================================================
   Formulare: GLOBAL FORMINATOR STYLING (Optimiert) – WCAG 2.2 AA
   ============================================================ */

/* ------------------------------------------------------------
   1) Grundtypografie
------------------------------------------------------------ */
.forminator-ui,
.forminator-ui * {
    font-family: inherit !important;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--crc-body);
}

/* Zeichenzaehler */
.forminator-description,
.forminator-description span[data-limit] {
    font-size: 0.75rem !important;
    line-height: 1.3;
    color: #555;
}

/* Section Titles */
.forminator-ui .forminator-title {
    font-size: 1.9rem !important;
    line-height: 1.3;
    font-weight: 400;
}

/* Event Title + Date */
.event-title-field .forminator-input,
.event-date-field .forminator-input {
    color: #222;
    font-weight: 600;
}

/* ------------------------------------------------------------
   2) Labels
------------------------------------------------------------ */
.forminator-label {
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.45;
    margin-bottom: .35rem;
}

/* Required-Stern */
.forminator-label .forminator-required {
    font-size: inherit !important;
}

/* ------------------------------------------------------------
   3) Inputs / Textareas / Visible Select2-Wrapper
------------------------------------------------------------ */
.forminator-input,
.forminator-textarea,
.select2-selection--single {
    width: 100%;
    background: #fff;
    border: 2px solid #444;
    padding: .55rem .75rem;
    border-radius: 4px;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease;
    min-height: 44px; /* WCAG Klickflaeche */
}

/* Hover */
.forminator-input:hover,
.forminator-textarea:hover,
.select2-selection--single:hover {
    border-color: var(--crc-blau);
}

/* Fokus */
.forminator-input:focus,
.forminator-textarea:focus,
.select2-selection--single:focus {
    outline: none;
    border-color: var(--crc-blau);
}

/* Tastaturfokus */
.forminator-input:focus-visible,
.forminator-textarea:focus-visible,
.select2-selection--single:focus-visible {
    outline: 3px solid var(--crc-blau);
    outline-offset: 2px;
}

/* ------------------------------------------------------------
   4) Select2 Styling
------------------------------------------------------------ */
/* === Select2 – WCAG-Kontrastkorrektur (weißes Feld, dunkler Rahmen) === */

.select2-selection--single,
.forminator-select .select2-selection--single {
    background-color: #ffffff !important;  /* weiß */
    border: 2px solid #444 !important;     /* kontraststark */
    color: #222 !important;
    min-height: 44px;
    border-radius: 4px;
}

/* Text der Auswahl */
.select2-selection__rendered {
    color: #222 !important;
    font-size: 1rem;
}

/* Placeholder */
.select2-selection__placeholder {
    color: #555 !important;
    opacity: 1 !important;
}

/* Dropdown */
.select2-container .select2-dropdown {
    background-color: #ffffff !important;
    border: 2px solid #444 !important;
}

/* Dropdown-Optionen */
.select2-results__option {
    background: #fff !important;
    color: #222 !important;
}

/* Hover/Hervorhebung */
.select2-results__option--highlighted {
    background: var(--crc-blau) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------
   5) Checkboxen & Radiobuttons
------------------------------------------------------------ */
.forminator-checkbox-box,
.forminator-radio-button {
    width: 1.25em;
    height: 1.25em;
    border-radius: 3px;
}

.forminator-ui input[type="checkbox"]:focus-visible + .forminator-checkbox-box,
.forminator-ui input[type="radio"]:focus-visible + .forminator-radio-button {
    outline: 3px solid var(--crc-blau);
    outline-offset: 3px;
}

/* ------------------------------------------------------------
   6) Fehlerzustände
------------------------------------------------------------ */
.forminator-has_error .forminator-input,
.forminator-has_error .forminator-textarea,
.forminator-has_error .select2-selection--single {
    border-color: #b30000 !important;
}

.forminator-error-message {
    color: #b30000;
    line-height: 1.3 !important;
    font-size: 0.9rem !important;
    margin-top: .4rem;
    font-weight: 400;
    display: block;
}

/* ------------------------------------------------------------
   7) Consent Text
------------------------------------------------------------ */
.forminator-consent__label,
.forminator-consent__label p {
    font-size: 1rem !important;
    line-height: 1.45;
    color: var(--crc-body);
}

.forminator-consent__label a {
    color: var(--crc-blau);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.forminator-consent__label a:hover,
.forminator-consent__label a:focus {
    color: var(--crc-body);
}

/* ------------------------------------------------------------
   8) Submit-Button
------------------------------------------------------------ */
.forminator-button-submit {
    font-size: 1.1rem !important;
    font-weight: 600;
    padding: 0.9rem 1.6rem !important;
    border-radius: 10px !important;
    background: var(--crc-blau) !important;
    color: #fff !important;
    border: none !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

/* Hover */
.forminator-button-submit:hover,
.forminator-button-submit:focus:not(:focus-visible) {
    background: var(--global-color-14) !important;
}

/* Tastaturfokus */
.forminator-button-submit:focus-visible {
    outline: 3px solid var(--crc-body) !important;
    outline-offset: 4px !important;
}

/* ------------------------------------------------------------
   9) Abstände
------------------------------------------------------------ */
.forminator-field {
    margin-bottom: 1.25rem !important;
}

.forminator-row {
    margin-bottom: .5rem;
}

/* ------------------------------------------------------------*/
/* Sicherstellen, dass der Eingabetext immer dunkel bleibt */
.forminator-input,
.forminator-input:focus,
.forminator-input:active,
.forminator-field.forminator-is_filled .forminator-input {
    color: #111 !important;
}

.forminator-textarea,
.forminator-textarea:focus,
.forminator-textarea:active,
.forminator-field.forminator-is_filled .forminator-textarea {
    color: #111 !important;
}
