/* =============================================================================
   core_newsletter — reusable double-opt-in signup widget
   Full-width footer band: intro (left) + form (right). Theme-aware (--nb-*).
   ============================================================================= */

.nb-newsletter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 5vw, 3.5rem);
    align-items: center;
    width: 100%;
}

.nb-newsletter__intro {
    min-width: 0;
}

.nb-newsletter__title {
    margin: 0 0 .4rem;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 800;
    color: var(--nb-text, #e9ebf5);
}

.nb-newsletter__text {
    margin: 0;
    font-size: .95rem;
    line-height: 1.6;
    color: var(--nb-text-muted, #9aa1bd);
    max-width: 46ch;
}

.nb-newsletter__fields {
    min-width: 0;
}

/* Honeypot + the off-screen email label — present for a11y/bots, never seen. */
.nb-newsletter__hp,
.nb-newsletter__label {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.nb-newsletter__row {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.nb-newsletter__email {
    flex: 1 1 220px;
    min-width: 0;
}

.nb-newsletter__submit {
    flex: 0 0 auto;
    white-space: nowrap;
}

.nb-newsletter__consent {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-top: .7rem;
    font-size: .8rem;
    line-height: 1.5;
    color: var(--nb-text-muted, #9aa1bd);
}

.nb-newsletter__consent input[type="checkbox"] {
    margin-top: .15rem;
    flex: 0 0 auto;
    accent-color: var(--nb-blue, #004efe);
}

.nb-newsletter__consent a {
    color: var(--nb-cyan-text, var(--nb-cyan, #22d3ee));
    text-decoration: underline;
}

/* Captcha (ALTCHA) — only shown when the server asks for it. */
.nb-newsletter__captcha {
    margin-top: .7rem;
}

.nb-newsletter__captcha altcha-widget {
    display: block;
    --altcha-max-width: 100%;
    --altcha-border-radius: 10px;
    --altcha-color-border: var(--nb-border, rgba(255, 255, 255, .12));
    --altcha-color-text: var(--nb-text, #e9ebf5);
    --altcha-color-base: var(--nb-card-bg, rgba(255, 255, 255, .03));
}

.nb-newsletter__status {
    margin: .7rem 0 0;
    font-size: .85rem;
    line-height: 1.5;
    padding: .5rem .7rem;
    border-radius: 8px;
}

.nb-newsletter__status.is-ok {
    color: var(--nb-success-text, #16a34a);
    background: rgba(34, 197, 94, .12);
}

.nb-newsletter__status.is-error {
    color: var(--nb-danger-text, #dc2626);
    background: rgba(220, 38, 38, .12);
}

@media (max-width: 768px) {
    .nb-newsletter {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

@media (max-width: 480px) {
    .nb-newsletter__submit {
        flex: 1 1 100%;
    }
}
