/* modules/subscribers/assets/subscribe.css
 * Styled with the DreamWeb --dw-* design tokens, each with a sensible fallback
 * so the form still looks finished on sites that don't define the tokens.
 * Override any of these in your global_css / page custom_css, or scope to a
 * variant with the shortcode's class="" attribute. */
.dw-subscribe { font: inherit; }

.dw-subscribe__row {
    display: flex;
    gap: var(--dw-space-2, .5rem);
    flex-wrap: wrap;
    align-items: stretch;
}

.dw-subscribe__email,
.dw-subscribe__name {
    flex: 1 1 12rem;
    padding: var(--dw-space-3, .75rem) var(--dw-space-4, 1rem);
    border: 1px solid var(--dw-color-border, #d1d5db);
    border-radius: var(--dw-radius-md, .5rem);
    background: var(--dw-color-bg, #fff);
    color: var(--dw-color-fg, #1a1a1a);
    font: inherit;
    line-height: 1.4;
    transition: border-color var(--dw-dur-fast, 150ms) ease, box-shadow var(--dw-dur-fast, 150ms) ease;
}

.dw-subscribe__email::placeholder,
.dw-subscribe__name::placeholder { color: var(--dw-color-muted, #9ca3af); }

.dw-subscribe__email:focus,
.dw-subscribe__name:focus {
    outline: none;
    border-color: var(--dw-color-primary, #1a1a1a);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dw-color-primary, #1a1a1a) 20%, transparent);
}

.dw-subscribe__btn {
    padding: var(--dw-space-3, .75rem) var(--dw-space-6, 1.5rem);
    cursor: pointer;
    border: 0;
    border-radius: var(--dw-radius-md, .5rem);
    background: var(--dw-color-primary, #1a1a1a);
    color: var(--dw-color-bg, #fff);
    font: inherit;
    font-weight: 600;
    line-height: 1.4;
    transition: opacity var(--dw-dur-fast, 150ms) ease, transform var(--dw-dur-fast, 150ms) ease;
}

.dw-subscribe__btn:hover { opacity: .9; }
.dw-subscribe__btn:active { transform: translateY(1px); }
.dw-subscribe__btn[disabled] { opacity: .6; cursor: default; transform: none; }

/* honeypot — visually hidden, never shown to humans */
.dw-subscribe__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* third-party CAPTCHA widget mount (Turnstile) */
.dw-subscribe__captcha { margin-top: var(--dw-space-3, .75rem); }

.dw-subscribe__msg { margin: var(--dw-space-2, .5rem) 0 0; font-size: var(--dw-text-sm, .875rem); }
.dw-subscribe__msg.is-success { color: var(--dw-color-success, #1a7f37); }
.dw-subscribe__msg.is-error { color: var(--dw-color-danger, #b32d2e); }
