.sparrow-captcha {
    display: block;
}

.wpcf7-not-valid-tip {
    color: red;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}

.sparrow-contact-messages {
    margin: 10px 0;
    font-size: 14px;
}
.sparrow-contact-success { color: #107c41; }
.sparrow-contact-error { color: #b30000; }

/* ---------- Newsletter (Sendy) ----------
   Bewusst zurückhaltend: Layout, Zustände und Barrierefreiheit kommen von
   hier, die Marken-Optik setzt das jeweilige Seiten-Stylesheet über die
   --sparrow-nl-* Variablen bzw. eigene Regeln. */
.sparrow-newsletter {
    --sparrow-nl-accent: #1a1a1a;
    --sparrow-nl-accent-text: #fff;
    --sparrow-nl-border: #ddd;
    --sparrow-nl-radius: 8px;
    --sparrow-nl-max-width: 520px;
}

.sparrow-newsletter-form {
    max-width: var(--sparrow-nl-max-width);
}

.sparrow-newsletter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.sparrow-newsletter-email {
    flex: 1 1 220px;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid var(--sparrow-nl-border);
    border-radius: var(--sparrow-nl-radius);
    font: inherit;
}

.sparrow-newsletter-submit {
    flex: 0 0 auto;
    padding: 12px 24px;
    border: none;
    border-radius: var(--sparrow-nl-radius);
    background: var(--sparrow-nl-accent);
    color: var(--sparrow-nl-accent-text);
    font: inherit;
    cursor: pointer;
}

.sparrow-newsletter-submit[disabled] {
    opacity: 0.6;
    cursor: default;
}

/* Gestapelt auf schmalen Schirmen. Das flex:0 0 auto muss sein: in der Spalte
   würde die flex-basis von oben (220px) auf die HÖHE des Eingabefelds wirken. */
@media (max-width: 480px) {
    .sparrow-newsletter-row {
        flex-direction: column;
    }

    .sparrow-newsletter-email {
        flex: 0 0 auto;
    }

    .sparrow-newsletter-submit {
        width: 100%;
    }
}

.sparrow-newsletter-messages {
    margin: 10px 0 0;
    font-size: 14px;
    min-height: 1em;
}
.sparrow-newsletter-success { color: #107c41; }
.sparrow-newsletter-error { color: #b30000; }

.sparrow-newsletter-note {
    margin: 10px 0 0;
    font-size: 13px;
    opacity: 0.75;
}

/* Rückfrage der Challenge — nur sichtbar, wenn serverseitig eingeschaltet.
   Das Markup wird von sparrow-forms.js nachgetragen, nicht ins gecachte
   HTML gerendert. */
.sparrow-newsletter-challenge {
    margin: 10px 0 0;
    font-size: 14px;
}
.sparrow-newsletter-challenge-label {
    display: block;
}
.sparrow-newsletter-challenge-answer {
    margin-top: 4px;
    max-width: 160px;
}

.sparrow-newsletter-noscript {
    margin: 10px 0 0;
    font-size: 13px;
    color: #b30000;
}
