/*
 * PPW Formulare 1.7.1
 *
 * Contact Form 7 bleibt Transport- und Basisvalidierungsengine. PPW Formulare
 * ist die einzige gemeinsame Frontend-Schicht fuer Formular-Lebenszyklus,
 * sichtbare Validierung, ARIA, Fokus/Scroll und Statusmeldungen. Fachplugins
 * liefern ihre Regeln ueber die PPWForms-Adapter-Schnittstelle.
 * Typografie, Farben und Abstaende liegen weiterhin im Gesamt-CSS.
 */
.wpcf7 form.ppw-validation-pending .wpcf7-not-valid-tip {
    display: none !important;
}

/* Deklarierte PPW-Felder besitzen einen eigenen stabilen Rueckmeldeplatz.
 * Native CF7-Tipps derselben Komponente werden ausgeblendet, damit pro Fehler
 * genau eine sichtbare und semantisch eindeutige Meldung existiert. */
.wpcf7 form.ppw-form-ux-ready [data-ppw-managed-field] .wpcf7-not-valid-tip {
    display: none !important;
}


/* 1.6.0: einheitliche Statuskomponente fuer alle PPW-Formulare.
 * Diese Regeln sind absichtlich formularart-unabhaengig. Kontakt, Newsletter
 * und Fachadapter verwenden denselben DOM-Vertrag und dieselbe Darstellung. */
.wpcf7 form.ppw-form-ux-ready.ppw-form-manages-native-response .wpcf7-response-output {
    display: none !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: var(--ppw-form-feedback-gap, 0.8rem) 0 0 !important;
    padding: 0.9rem 1rem !important;
    border: 0 !important;
    border-left: var(--ppw-info-box-rule-width, 3px) solid var(--ppw-info-box-rule-color-neutral, #8C9778) !important;
    border-radius: var(--ppw-info-box-radius, 0) !important;
    background: var(--ppw-bg, #FFFDF9) !important;
    color: var(--ppw-form-note-color, var(--ppw-text-color, #29311F)) !important;
    font-family: var(--ppw-font-sans, inherit) !important;
    font-size: var(--ppw-form-note-font-size, inherit) !important;
    line-height: var(--ppw-form-note-line-height, 1.5) !important;
    font-weight: var(--ppw-form-note-font-weight, 400) !important;
    letter-spacing: var(--ppw-form-note-letter-spacing, normal) !important;
    text-transform: none !important;
    box-sizing: border-box !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status[hidden] {
    display: none !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status-title,
.wpcf7 form.ppw-form-ux-ready .ppw-form-status-text {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status-title {
    margin-bottom: 0.2rem !important;
    color: var(--ppw-primary, #2F3725) !important;
    font-weight: 600 !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status--error {
    border-left-color: var(--ppw-form-error-color, var(--ppw-error, #8A5A52)) !important;
    background: var(--ppw-form-error-background, #FBF4F2) !important;
    color: var(--ppw-form-error-color, var(--ppw-error, #8A5A52)) !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status--error .ppw-form-status-title {
    color: var(--ppw-form-error-color, var(--ppw-error, #8A5A52)) !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status--success {
    border-left-color: var(--ppw-info-box-rule-color-neutral, #8C9778) !important;
    background: var(--ppw-form-success-background, #F8F5EF) !important;
    color: var(--ppw-form-note-color, var(--ppw-text-color, #29311F)) !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status-text--spaced {
    margin-top: 0.55rem !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status-emphasis {
    color: var(--ppw-primary, #2F3725) !important;
    font-weight: 600 !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status a {
    color: var(--ppw-link-text, var(--ppw-primary, #2F3725)) !important;
    font: inherit !important;
    text-decoration-line: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.2em !important;
}

.wpcf7 form.ppw-form-ux-ready .ppw-form-status a:hover,
.wpcf7 form.ppw-form-ux-ready .ppw-form-status a:focus-visible {
    color: var(--ppw-secondary, #6F7957) !important;
}
/* PPW semantic form status: info / review */
.ppw-form-status.ppw-form-status--info {
    border-color: #74828A;
    background: #F3F6F7;
    color: #29311F;
}

.ppw-form-status.ppw-form-status--review {
    border-color: #B38A45;
    background: #FCF8EF;
    color: #29311F;
}

.ppw-form-status.ppw-form-status--info .ppw-form-status-title {
    color: #435159;
}

.ppw-form-status.ppw-form-status--review .ppw-form-status-title {
    color: #6F5421;
}
