/* =========================================
   0. MAP FULL-BLEED LEFT | FORM ALIGNED TO BODY 1346px RIGHT EDGE
   ========================================= */
.elementor-element-d8031ce {
    display: flex !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    padding-right: calc((100vw - 1346px) / 2) !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
}

/* Map column: fills all remaining space, true left edge to form's start */
.elementor-element-912aa11 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Form column: fixed normal width, right edge lines up with page's 1346px grid */
.elementor-element-466c201.submit-container {
    flex: 0 0 auto !important;
    width: calc((1346px / 2) - 10px) !important;
    max-width: calc((1346px / 2) - 10px) !important;
}

.elementor-element-d2d4400 {
    width: 100% !important;
    max-width: 100% !important;
}

.elementor-element-d2d4400 > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-element-815552d,
.elementor-element-baf342f {
    width: 100% !important;
    flex-shrink: 0;
}

/* =========================================
   1. MAP RESPONSIVENESS & ALIGNMENT FIX
   ========================================= */
.elementor-element-d1830b2 {
    height: 100% !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.elementor-element-d1830b2 iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
}

.elementor-element-912aa11 .elementor-widget-html,
.elementor-element-912aa11 .elementor-widget-html iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.submit-container,
.submit-container .e-con-inner,
.submit-container .elementor-widget-shortcode,
.submit-container .elementor-shortcode,
.submit-container .wpcf7 {
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* =========================================
   2. FLEXBOX LAYOUT (ALL FIELDS FULL WIDTH)
   ========================================= */
.submit-container form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 100%;
    align-content: flex-start;
}

.submit-container form p {
    width: 100% !important; 
    margin-bottom: 15px !important;
}

.submit-container form p:nth-of-type(1),
.submit-container form p:nth-of-type(2) { 
    width: 100% !important; 
}

.submit-container form p:nth-of-type(5) {
    margin-top: auto;
    margin-bottom: 10px;
    text-align: left;
}

.submit-container form .wpcf7-response-output {
    width: 100%;
    margin: 12px 0 0 0 !important;
    padding: 10px 15px !important;
    font-size: 0.9rem;
    line-height: 1.4;
    border-radius: 4px;
    align-self: flex-end;
}

/* =========================================
   3. INPUT FIELDS & TEXTAREA STYLING
   ========================================= */
.submit-container label {
    display: block;
    width: 100%;
}

.submit-container input.wpcf7-text,
.submit-container input.wpcf7-email,
.submit-container textarea.wpcf7-textarea {
    width: 100% !important;
    border: 1px solid #cccccc !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box;
    padding: 10px 15px !important;
    margin-top: 5px;
    margin-bottom: 0;
    display: block !important;
}

.submit-container textarea.wpcf7-textarea {
    height: 85px !important;
    min-height: 85px !important;
    resize: vertical;
}

.submit-container input.wpcf7-text:hover,
.submit-container input.wpcf7-email:hover,
.submit-container textarea.wpcf7-textarea:hover,
.submit-container input.wpcf7-text:focus,
.submit-container input.wpcf7-email:focus,
.submit-container textarea.wpcf7-textarea:focus {
    border-color: #00A859 !important;
    box-shadow: none !important;
}

/* =========================================
   4. BUTTON STYLING (NORMAL WIDTH)
   ========================================= */
.submit-container .wpcf7-submit {
    background-color: #00A859 !important;
    font-family: var(--e-global-typography-ac7c53f-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-ac7c53f-font-size) !important;
    font-weight: var(--e-global-typography-ac7c53f-font-weight) !important;
    line-height: var(--e-global-typography-ac7c53f-line-height) !important;
    fill: var(--e-global-color-accent) !important;
    color: var(--e-global-color-accent) !important;
    border: 1px solid #00A859 !important;
    border-radius: 5px !important;
    padding: 12px 34px !important;
    transition: all 0.3s ease !important;
    width: auto !important;
    display: inline-block !important;
    cursor: pointer;
}

.submit-container .wpcf7-submit:hover {
    background-color: #004B93 !important;
    border-color: #004B93 !important;
}

/* =========================================
   5. HONEYPOT FIELD (HIDDEN SPAM TRAP)
   ========================================= */
.submit-container input.honeypot,
.submit-container .honeypot,
.submit-container input[name="your-website"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* =========================================
   6. RECAPTCHA STYLING (POSITIONED UP)
   ========================================= */
.submit-container .wpcf7 .g_recaptcha,
.submit-container iframe[src*="recaptcha"],
.wpcf7-form .g_recaptcha,
.g_recaptcha {
    margin: 10px 0 20px 0 !important;
    display: block !important;
    width: auto !important;
    transform: scale(1) !important;
    transform-origin: left top !important;
}

.submit-container form p:has(.g_recaptcha),
.g_recaptcha_container {
    width: 100% !important;
    margin-bottom: 15px !important;
}

/* reCAPTCHA v3 badge (bottom right corner) */
.grecaptcha-badge {
    visibility: visible !important;
}

/* =========================================
   7. TABLET & MOBILE RESPONSIVENESS
   ========================================= */
@media (max-width: 1024px) {
    .elementor-element-d8031ce {
        display: flex !important;
        flex-direction: column-reverse !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-element-912aa11,
    .elementor-element-466c201.submit-container {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .elementor-element-d1830b2,
    .elementor-element-d1830b2 iframe {
        min-height: 450px !important;
        margin-bottom: 0 !important;
    }

    .submit-container {
        margin-bottom: 40px !important;
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .elementor-element-912aa11,
    .elementor-element-d1830b2,
    .submit-container,
    .submit-container .e-con-inner,
    .submit-container .elementor-widget-shortcode,
    .submit-container .elementor-shortcode,
    .submit-container .wpcf7 {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
    }

    .elementor-element-d1830b2 iframe {
        height: 400px !important;
        min-height: 400px !important;
    }

    .submit-container form p:nth-of-type(1),
    .submit-container form p:nth-of-type(2) {
        width: 100% !important;
    }

    .submit-container form p:nth-of-type(5) {
        margin-top: 10px;
        margin-bottom: 0 !important;
    }

    .submit-container .wpcf7-submit {
        width: auto !important;
        display: inline-block !important;
    }

    .submit-container form .wpcf7-response-output {
        margin-bottom: 0 !important;
    }
}