/* ── Moosend Newsletter Subscribe Form ────────────────────────────────────── */

/* ── Sidebar only: sticky positioning ───────────────────────────────────── */
#secondary .widget_fourtwenty_moosend_subscribe {
    position: sticky;
    top: 120px;
    z-index: 1000;
}

/* ── Sidebar only: green gradient + padding on form body ────────────────── */
/* Gradient lives on the wrapper in production; we apply it to the inner div
   scoped to #secondary so footer/popup get no gradient.
   Padding is also sidebar-only — footer heading sits flush against content. */
#secondary .fourtwenty-moosend-form .sib_signup_box_inside_1 {
    background: radial-gradient(circle, rgb(139,197,63) 30%, rgb(166,253,45) 100%) !important;
    border-radius: 0 0 20px 20px;
    padding: 20px;
}

/* ── Footer: no padding — heading sits flush against description text ─────── */
/* Production #SIB-footer .sib_signup_box_inside_2 has no explicit padding. */
.foot-news .fourtwenty-moosend-form .sib_signup_box_inside_1 {
    padding: 0;
}

/* ── Popup / modal: all rules matched from production #SIB-modal ─────────── */
/* Sources: #SIB-modal h3, #SIB-modal p, #SIB-modal .sib_signup_box_inside_3 */
#popup-widget .widget_fourtwenty_moosend_subscribe {
    margin-bottom: 15px;
}
#popup-widget .widget_fourtwenty_moosend_subscribe .widget-title {
    color: #04670b !important;
    margin: 10px 20px 0;
}
#popup-widget .fourtwenty-moosend-form .sib_signup_box_inside_1 {
    padding: 5px 20px 10px;
}
#popup-widget .fourtwenty-moosend-form .newsletter-form-desc {
    font-size: 18px;
    line-height: 22px;
}

/* ── Description text: match production #SIB-sidebar p {font-size:20px} ── */
.fourtwenty-moosend-form .newsletter-form-desc {
    font-size: 20px;
    line-height: 25px;
    margin: 0 0 16px;
    padding: 0;
}

/* ── Field wrapper paragraphs ───────────────────────────────────────────── */
.fourtwenty-moosend-form p.sib-email-area,
.fourtwenty-moosend-form p.sib-FIRSTNAME-area,
.fourtwenty-moosend-form p.sib-COUNTRY-area {
    margin: 0 0 16px;
    padding: 0;
}

/* ── Text inputs ────────────────────────────────────────────────────────── */
.fourtwenty-moosend-form input[type="email"],
.fourtwenty-moosend-form input[type="text"] {
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: 10px;
    padding: 5px 10px;
    font-size: 20px;
    color: #495057;
    background-color: #fff;
    box-sizing: border-box;
}

/* ── Select: match input appearance, placeholder colour ─────────────────── */
.fourtwenty-moosend-form select {
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: 10px;
    padding: 5px 10px;
    font-size: 20px;
    background-color: #fff;
    box-sizing: border-box;
    cursor: pointer;
    color: #6c757d;
}
.fourtwenty-moosend-form select:valid,
.fourtwenty-moosend-form select option:not([value=""]):not([disabled]) {
    color: #495057;
}
.fourtwenty-moosend-form select option[value=""],
.fourtwenty-moosend-form select option[disabled] {
    color: #6c757d;
}

/* ── Terms row: flexbox keeps checkbox pinned left, text wraps cleanly ───── */
/* Using flex instead of inline to defeat any theme overrides on checkboxes. */
.fourtwenty-moosend-form .moosend-terms-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin: 0 0 8px;
    padding: 0;
}
.fourtwenty-moosend-form .moosend-terms-check {
    flex: 0 0 auto;
    margin: 3px 7px 0 0;
    cursor: pointer;
    width: auto !important;
}
.fourtwenty-moosend-form .moosend-terms-label {
    flex: 1 1 auto;
    display: block;
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
    margin: 0;
    cursor: pointer;
}
.fourtwenty-moosend-form .moosend-terms-label a {
    color: rgb(4,103,11);
    text-decoration: none;
}
.fourtwenty-moosend-form .moosend-terms-label a:hover {
    text-decoration: underline;
}

/* ── Honeypot: always hidden ─────────────────────────────────────────────── */
.fourtwenty-moosend-form .moosend-hp {
    position: absolute;
    left: -9999px;
    top: -9999px;
}

/* ── reCAPTCHA ───────────────────────────────────────────────────────────── */
.fourtwenty-moosend-form .g-recaptcha {
    margin: 0 0 12px;
}

/* ── Submit button: matches production #8bc53f / hover #04670b ──────────── */
.fourtwenty-moosend-form .moosend-submit-btn {
    display: block;
    width: 100%;
    background-color: #8bc53f;
    color: #fff;
    border: 1px solid rgba(248,249,250,0.5);
    border-radius: 4px;
    font-size: 20px;
    font-weight: 500;
    font-family: "Fira Sans Extra Condensed", sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 10px 12px;
    margin-top: 10px;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.15s ease;
}
.fourtwenty-moosend-form .moosend-submit-btn:hover {
    background-color: #04670b;
    color: #fff;
}
.fourtwenty-moosend-form .moosend-submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ── Success / error messages ───────────────────────────────────────────── */
.fourtwenty-moosend-form .moosend-msg {
    padding: 6px 12px;
    margin-bottom: 16px;
    border: 1px solid transparent;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 14px;
}
.fourtwenty-moosend-form .moosend-msg.moosend-success {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d;
}
.fourtwenty-moosend-form .moosend-msg.moosend-error {
    background-color: #f2dede;
    border-color: #ebccd1;
    color: #a94442;
}
