/* WOW Mailchimp — signup form.
   Everything visual is a custom property so the Elementor controls (and the
   shortcode's accent / button_text / radius attributes) override one value
   instead of fighting selectors. */

.wow-mc-form {
    --wow-mc-accent: #111;
    --wow-mc-button-text: #fff;
    --wow-mc-button-hover-bg: var(--wow-mc-accent);
    --wow-mc-button-hover-text: var(--wow-mc-button-text);
    --wow-mc-radius: 6px;
    --wow-mc-gap: 10px;
    --wow-mc-field-bg: #fff;
    --wow-mc-field-text: #111;
    --wow-mc-field-border: #c9c9c9;
    --wow-mc-field-focus: var(--wow-mc-accent);
    --wow-mc-field-padding: 12px 14px;
    --wow-mc-button-padding: 12px 22px;
    --wow-mc-success: #2e7d32;
    --wow-mc-error: #b32d2e;
    box-sizing: border-box;
}
.wow-mc-form *,
.wow-mc-form *::before,
.wow-mc-form *::after { box-sizing: inherit; }

.wow-mc-form__heading { margin: 0 0 8px; }
.wow-mc-form__message { margin: 0 0 16px; }
.wow-mc-form__message > :last-child { margin-bottom: 0; }

.wow-mc-form__form { margin: 0; }

.wow-mc-form__fields {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wow-mc-gap);
    justify-content: var(--wow-mc-justify, flex-start);
}
.wow-mc-form--stacked .wow-mc-form__fields { flex-direction: column; flex-wrap: nowrap; }

.wow-mc-form .wow-mc-form__input {
    flex: 1 1 180px;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: var(--wow-mc-field-padding);
    font: inherit;
    line-height: 1.3;
    color: var(--wow-mc-field-text);
    background: var(--wow-mc-field-bg);
    border: 1px solid var(--wow-mc-field-border);
    border-radius: var(--wow-mc-radius);
}
.wow-mc-form--stacked .wow-mc-form__input { flex: 0 0 auto; width: 100%; }
.wow-mc-form .wow-mc-form__input::placeholder { color: var(--wow-mc-field-placeholder, currentColor); opacity: .6; }
.wow-mc-form .wow-mc-form__input:focus {
    outline: 2px solid var(--wow-mc-field-focus);
    outline-offset: 1px;
    border-color: var(--wow-mc-field-focus);
}

.wow-mc-form .wow-mc-form__button {
    flex: 0 0 auto;
    margin: 0;
    padding: var(--wow-mc-button-padding);
    font: inherit;
    font-weight: 600;
    line-height: 1.3;
    color: var(--wow-mc-button-text);
    background: var(--wow-mc-accent);
    border: 1px solid var(--wow-mc-button-border, transparent);
    border-radius: var(--wow-mc-button-radius, var(--wow-mc-radius));
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.wow-mc-form .wow-mc-form__button:hover,
.wow-mc-form .wow-mc-form__button:focus-visible {
    color: var(--wow-mc-button-hover-text);
    background: var(--wow-mc-button-hover-bg);
    border-color: var(--wow-mc-button-hover-border, var(--wow-mc-button-border, transparent));
}
.wow-mc-form .wow-mc-form__button:hover { opacity: var(--wow-mc-button-hover-opacity, .88); }
.wow-mc-form .wow-mc-form__button:focus-visible { outline: 2px solid var(--wow-mc-field-focus); outline-offset: 2px; }
.wow-mc-form .wow-mc-form__button[disabled] { opacity: .6; cursor: progress; }
.wow-mc-form--stacked .wow-mc-form__button,
.wow-mc-button-full-yes .wow-mc-form__button { width: 100%; }
.wow-mc-button-full-yes .wow-mc-form__button { flex-basis: 100%; }

.wow-mc-form__consent {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 12px 0 0;
    font-size: .9em;
    line-height: 1.4;
    cursor: pointer;
}
.wow-mc-form__consent input { margin: .2em 0 0; flex: 0 0 auto; }

.wow-mc-form__feedback { margin: 12px 0 0; font-size: .95em; }
.wow-mc-form__feedback:empty { display: none; }
.wow-mc-form__feedback.is-success { color: var(--wow-mc-success); }
.wow-mc-form__feedback.is-error { color: var(--wow-mc-error); }

/* Once subscribed, the fields go and the message stays. */
.wow-mc-form__form.is-done .wow-mc-form__fields,
.wow-mc-form__form.is-done .wow-mc-form__consent { display: none; }
.wow-mc-form__form.is-done .wow-mc-form__feedback { margin-top: 0; }

.wow-mc-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.wow-mc-form .screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .wow-mc-form .wow-mc-form__button { transition: none; }
}
