/**
 * Kontaktformulare – optisch abgestimmt auf submission.css (Blues Events)
 *
 * submission.css enthält u. a. globales label { color: #333 } – hier höhere Spezifität,
 * damit nie „grauer Text auf grauem Grund“ entsteht (helle Karten, dunkle Schrift).
 */

.blues-contact-forms {
    max-width: 800px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: #1a1a1a;
}

.blues-contact-forms * {
    box-sizing: border-box;
}

/* Helle, opake Karten – kontrastreich unabhängig vom Sektions-Hintergrund */
.blues-contact-forms .form-section,
.blues-contact-forms .blues-contact-forms__intro.form-section {
    background-color: #ffffff;
    color: #1a1a1a;
    border-color: rgba(0, 0, 0, 0.12);
}

.blues-contact-forms .form-section label,
.blues-contact-forms .form-section h3,
.blues-contact-forms .form-section__title,
.blues-contact-forms .blues-contact-forms__intro-title,
.blues-contact-forms .blues-contact-forms__intro p,
.blues-contact-forms .blues-contact-forms__radio-label {
    color: #1a1a1a;
}

.blues-contact-forms__intro {
    margin-bottom: 25px;
}

.blues-contact-forms__intro-title {
    color: #1a1a1a;
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #007cba;
}

.blues-contact-forms__intro p {
    margin: 0 0 12px 0;
    color: #1a1a1a;
}

.blues-contact-forms__intro p:last-child {
    margin-bottom: 0;
}

.form-section__title {
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px 0;
}

/* Meldungen */
.blues-contact-forms__messages {
    margin-bottom: 20px;
}

.blues-contact-forms__msg {
    padding: 15px 20px;
    border-radius: 8px;
    font-weight: 500;
}

.blues-contact-forms__msg--success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border: 1px solid #c3e6cb;
}

.blues-contact-forms__msg--error {
    background: linear-gradient(135deg, #f8d7da 0%, #f1b0b7 100%);
    color: #721c24;
    border: 1px solid #f1b0b7;
}

/* Radios (Veröffentlichung) */
.blues-contact-forms__radios {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.blues-contact-forms__radio-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    cursor: pointer;
    line-height: 1.45;
}

.blues-contact-forms__radio-label input[type="radio"] {
    margin-top: 4px;
    flex-shrink: 0;
}

.blues-contact-forms .description {
    font-size: 13px;
    color: #555555;
    margin: 6px 0 0 0;
}

/* Button-Zeile: hell statt grau-in-grau (submission.css Verlauf) */
.blues-contact-forms .submit-section {
    background: #f4f6f8;
    color: #1a1a1a;
}

/**
 * Elementor: gleiche Lesbarkeit (lädt nach elementor-frontend / elementor-post-*).
 * .elementor-widget-container erhöht die Spezifität gegenüber Theme/Elementor-Regeln.
 */
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .form-section,
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .blues-contact-forms__intro.form-section {
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    color: #1a1a1a;
}

.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .form-section label,
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .form-section__title,
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .blues-contact-forms__intro-title,
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .blues-contact-forms__intro p,
.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .blues-contact-forms__radio-label {
    color: #1a1a1a;
}

.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .description {
    color: #555555;
}

.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .submit-button {
    border: none;
}

.elementor-widget-blues_contact_forms .elementor-widget-container .blues-contact-forms .submit-section {
    background: #f4f6f8;
}

/**
 * Helle „Shell“ um das gesamte Widget: dunkle Elementor-Sektionen setzen oft color/background
 * mit hoher Priorität – ohne eigene Fläche bleibt Text dunkel auf dunklem Grund.
 */
.elementor-widget-blues_contact_forms .elementor-widget-container {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    padding: 28px 24px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms label,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .form-section__title,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .blues-contact-forms__intro-title,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .blues-contact-forms__intro p,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .blues-contact-forms__radio-label,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .checkbox-row label {
    color: #1a1a1a !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .description {
    color: #555555 !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms input[type="text"],
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms input[type="email"],
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms input[type="date"],
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms input[type="time"],
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms textarea {
    color: #1a1a1a !important;
    background-color: #ffffff !important;
    border-color: #cccccc !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms input[type="file"] {
    color: #333333 !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .form-section,
.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .blues-contact-forms__intro.form-section {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .submit-section {
    background: #f4f6f8 !important;
    color: #1a1a1a !important;
}

.elementor-widget-blues_contact_forms .blues-contact-forms--light-shell .blues-contact-forms .submit-button {
    color: #ffffff !important;
}

/* Checkboxen sichtbar (submission.css blendet Checkboxen teils aus) */
.blues-contact-forms .checkbox-row label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 400;
    cursor: pointer;
    line-height: 1.45;
}

.blues-contact-forms input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin-top: 4px;
    flex-shrink: 0;
}

.blues-contact-forms input[type="file"] {
    padding: 10px 0;
    border: none;
    font-size: 15px;
}
