/* ══════════════════════════════════════════════════════════════
   FCM Newsletter Block — "Sign up for our newsletter"
   Pre-footer global Divi section (#fcm-newsletter, .fcm-nl-block).
   Matches Figma node 1324:606. Form: [fcm_newsletter_form] (WPForms).
   ══════════════════════════════════════════════════════════════ */

#fcm-newsletter {
    position : relative;
    overflow : hidden;
}

/* Two columns: intro + phones | form */
#fcm-newsletter .fcm-nl-block__row {
    display               : grid;
    grid-template-columns : minmax(0, 523px) minmax(0, 556px);
    justify-content       : space-between;
    gap                   : 40px;
}

#fcm-newsletter .fcm-nl-block__row::before,
#fcm-newsletter .fcm-nl-block__row::after,
#fcm-newsletter .fcm-nl-block__col::before,
#fcm-newsletter .fcm-nl-block__col::after {
    display : none;
}

#fcm-newsletter .fcm-nl-block__col {
    float         : none;
    width         : auto;
    margin        : 0 !important;
    display       : flex;
    flex-direction: column;
}

#fcm-newsletter .fcm-nl-block__col > .et_pb_module {
    margin-bottom : 0 !important;
}

#fcm-newsletter .fcm-nl-block__col p {
    padding-bottom : 0;
}

/* Heading + intro text */
#fcm-newsletter .fcm-nl-block__intro {
    position : relative;
    z-index  : 1;
}

#fcm-newsletter .fcm-nl-block__intro h2 {
    margin      : 0 0 26px;
    padding     : 0;
    font-family : 'Parkinsans', sans-serif;
    font-size   : 40px;
    font-weight : 600;
    line-height : 1.48;
    color       : #0C6865;
}

#fcm-newsletter .fcm-nl-block__intro p,
#fcm-newsletter .fcm-nl-block__lead p {
    font-family : 'Comfortaa', sans-serif;
    font-size   : 20px;
    font-weight : 400;
    line-height : 1.48;
    color       : #2C3638;
}

#fcm-newsletter .fcm-nl-block__intro p {
    max-width : 500px;
}

/* Phones mockup: fills the rest of the column down to the section's bottom
   edge (cancels the section's bottom padding) and is cropped by the section. */
#fcm-newsletter .fcm-nl-block__col > .fcm-nl-block__phones {
    position      : relative;
    z-index       : 0;
    flex          : 1 0 auto;
    width         : 100%;
    min-height    : 312px;
    margin-bottom : -70px !important;
    pointer-events: none;
}

#fcm-newsletter .fcm-nl-block__phones .et_pb_image_wrap {
    position : static;
}

#fcm-newsletter .fcm-nl-block__phones img {
    position  : absolute;
    top       : -146.8px;
    left      : -301.2px;
    width     : 1387px;
    max-width : none;
    height    : auto;
    transform : rotate(10.63deg);
}

/* Form column sits above the phones' overflow */
#fcm-newsletter .fcm-nl-block__col--intro {
    z-index : 0;
}

#fcm-newsletter .fcm-nl-block__col--form {
    position : relative;
    z-index  : 1;
    gap      : 33px;
}

/* ── WPForms overrides ───────────────────────────────────────── */

#fcm-newsletter .wpforms-container {
    margin  : 0;
    padding : 0;
}

#fcm-newsletter .wpforms-field-container {
    display        : flex;
    flex-direction : column;
    gap            : 33px;
}

#fcm-newsletter .wpforms-field {
    padding : 0;
}

#fcm-newsletter .wpforms-field input[type=text],
#fcm-newsletter .wpforms-field input[type=email] {
    width         : 100%;
    max-width     : none;
    height        : 60px;
    padding       : 0 22px;
    background    : #FFF;
    border        : 0;
    border-radius : 5px;
    box-shadow    : none;
    font-family   : 'Comfortaa', sans-serif;
    font-size     : 15px;
    line-height   : normal;
    color         : #2C3638;
}

#fcm-newsletter .wpforms-field input[type=text]::placeholder,
#fcm-newsletter .wpforms-field input[type=email]::placeholder {
    color   : rgba(0, 23, 34, .6);
    opacity : 1;
}

#fcm-newsletter .wpforms-field input[type=text]:focus,
#fcm-newsletter .wpforms-field input[type=email]:focus {
    outline        : 2px solid #0C6865;
    outline-offset : 0;
}

/* Consent checkbox */
#fcm-newsletter .wpforms-field-checkbox ul {
    margin     : 0;
    padding    : 0;
    list-style : none;
}

#fcm-newsletter .wpforms-field-checkbox li {
    display     : flex;
    align-items : flex-start;
    gap         : 10px;
    margin      : 0;
    padding     : 0;
}

#fcm-newsletter .wpforms-field-checkbox input[type=checkbox] {
    flex          : 0 0 20px;
    width         : 20px;
    height        : 20px;
    margin        : 3px 0 0;
    background    : #FFF center / 14px no-repeat;
    border        : 1px solid #7F7F7F;
    border-radius : 2px;
    box-shadow    : none;
    cursor        : pointer;
    appearance    : none;
    -webkit-appearance : none;
}

#fcm-newsletter .wpforms-field-checkbox input[type=checkbox]::before,
#fcm-newsletter .wpforms-field-checkbox input[type=checkbox]::after {
    display : none;
}

#fcm-newsletter .wpforms-field-checkbox input[type=checkbox]:checked {
    background-color : #0C6865;
    background-image : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    border-color     : #0C6865;
}

#fcm-newsletter .wpforms-field-checkbox input[type=checkbox]:focus-visible {
    outline        : 2px solid #0C6865;
    outline-offset : 2px;
}

#fcm-newsletter .wpforms-field-checkbox .wpforms-field-label-inline {
    margin      : 0;
    padding     : 0;
    font-family : 'Comfortaa', sans-serif;
    font-size   : 15px;
    font-weight : 400;
    line-height : 1.48;
    color       : #2C3638;
    cursor      : pointer;
}

#fcm-newsletter .wpforms-field-checkbox .wpforms-field-label-inline a {
    color           : #0C6865;
    text-decoration : underline;
}

/* Register button */
#fcm-newsletter .wpforms-submit-container {
    margin  : 33px 0 0;
    padding : 0;
}

#fcm-newsletter button.wpforms-submit {
    width         : 100%;
    height        : 60px;
    padding       : 13px 20px;
    background    : #FED55C;
    border        : 0;
    border-radius : 100px;
    box-shadow    : none;
    font-family   : 'Comfortaa', sans-serif;
    font-size     : 20px;
    font-weight   : 700;
    line-height   : 1.48;
    color         : #0C6865;
    cursor        : pointer;
    transition    : background-color .2s ease;
}

#fcm-newsletter button.wpforms-submit:hover,
#fcm-newsletter button.wpforms-submit:focus-visible {
    background : #FFE28D;
}

#fcm-newsletter .wpforms-submit-spinner {
    margin         : 0 0 0 8px;
    vertical-align : middle;
}

/* Validation, reCAPTCHA, confirmation */
#fcm-newsletter label.wpforms-error,
#fcm-newsletter .wpforms-error-container {
    margin      : 6px 0 0;
    padding     : 0;
    background  : none;
    border      : 0;
    font-family : 'Comfortaa', sans-serif;
    font-size   : 13px;
    color       : #C0392B;
}

#fcm-newsletter .wpforms-field-checkbox label.wpforms-error {
    padding-left : 30px;
}

#fcm-newsletter .wpforms-recaptcha-container {
    padding : 0;
}

#fcm-newsletter .wpforms-recaptcha-container:not(:has(.wpforms-error)) {
    display : none;
}

#fcm-newsletter .wpforms-confirmation-container-full {
    margin        : 0;
    padding       : 20px 22px;
    background    : #AAEBB5;
    border        : 0;
    border-radius : 5px;
    color         : #004A59;
}

#fcm-newsletter .wpforms-confirmation-container-full p {
    margin      : 0;
    padding     : 0;
    font-family : 'Comfortaa', sans-serif;
    font-size   : 15px;
    line-height : 1.48;
    color       : #004A59;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width : 1199px) {
    #fcm-newsletter .fcm-nl-block__row {
        grid-template-columns : minmax(0, 1fr) minmax(0, 1fr);
        gap                   : 60px;
    }

    #fcm-newsletter .fcm-nl-block__col > .fcm-nl-block__phones {
        min-height : 250px;
    }

    #fcm-newsletter .fcm-nl-block__phones img {
        top   : -117.4px;
        left  : -270px;
        width : 1110px;
    }
}

/* Single column; the phones mockup is decorative and dropped. */
@media (max-width : 980px) {
    #fcm-newsletter .fcm-nl-block__row {
        grid-template-columns : minmax(0, 1fr);
        gap                   : 32px;
    }

    #fcm-newsletter .fcm-nl-block__col > .fcm-nl-block__phones {
        display : none;
    }

    #fcm-newsletter .fcm-nl-block__intro h2 {
        margin-bottom : 16px;
        font-size     : 32px;
    }

    #fcm-newsletter .fcm-nl-block__col--form,
    #fcm-newsletter .wpforms-field-container {
        gap : 24px;
    }

    #fcm-newsletter .wpforms-submit-container {
        margin-top : 24px;
    }
}

@media (max-width : 767px) {
    #fcm-newsletter .fcm-nl-block__intro h2 {
        font-size   : 26px;
        line-height : 1.38;
    }

    #fcm-newsletter .fcm-nl-block__intro p,
    #fcm-newsletter .fcm-nl-block__lead p {
        font-size : 16px;
    }

    #fcm-newsletter .wpforms-field input[type=text],
    #fcm-newsletter .wpforms-field input[type=email],
    #fcm-newsletter button.wpforms-submit {
        height : 54px;
    }

    #fcm-newsletter button.wpforms-submit {
        font-size : 18px;
    }
}

@media (prefers-reduced-motion : reduce) {
    #fcm-newsletter button.wpforms-submit {
        transition : none;
    }
}
