/* Container & Grid Setup */
.cf7-modern-form {
    font-family: inherit;
}
.cf7-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px 18px -10px;
}
.cf7-col-6 {
    width: 50%;
    padding: 0 10px;
    box-sizing: border-box;
}
.cf7-col-12 {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
}
@media (max-width: 600px) {
    .cf7-col-6 { width: 100%; margin-bottom: 15px; }
}

/* Titles and Labels */
.cf7-section-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #4B5563;
    margin-bottom: 8px;
    display: block;
}
.cf7-modern-form label {
    font-size: 13px;
    color: #374151;
    width: 100%;
}

/* Input Fields & Textarea */
.cf7-modern-form input[type="text"],
.cf7-modern-form input[type="email"],
.cf7-modern-form textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    background-color: #FAFAFA !important;
    font-size: 14px !important;
    color: #1F2937 !important;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box !important;
    margin-top: 4px;
}

.cf7-modern-form input:focus,
.cf7-modern-form textarea:focus {
    background-color: #FFFFFF !important;
    border-color: #E2A01C !important; /* Impact Deal Gold */
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(226, 160, 28, 0.15) !important;
}

/* Radio Buttons Styling */
.cf7-modern-form .wpcf7-list-item {
    margin: 0 12px 8px 0 !important;
    display: inline-block;
}
.cf7-modern-form .wpcf7-list-item label {
    font-weight: 500;
    cursor: pointer;
}

/* File Upload Box */
.cf7-file-box {
    background-color: #F9FAFB;
    border: 2px dashed #D1D5DB;
    padding: 12px 16px;
    border-radius: 8px;
    text-align: left;
}

/* Submit Button */
.cf7-submit-btn {
    width: 100%;
    background-color: #E2A01C !important; /* Impact Deal Gold */
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cf7-submit-btn:hover {
    background-color: #C88B12 !important;
    transform: translateY(-1px);
}
/* 1. Center & Tidy Up reCAPTCHA Box */
.g-recaptcha, 
div[class*="recaptcha"] {
    display: flex !important;
    justify-content: center !important;
    margin: 16px auto !important;
}

/* 2. Align & Stretch the Right-Hand Buttons */
.modern-newsletter-card .vc_btn3-container,
.vc_btn3-container {
    width: 100% !important;
    display: block !important;
    margin-bottom: 12px !important;
}

.modern-newsletter-card .vc_btn3,
.vc_btn3 {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* 3. Equalize Bottom Alignment for Both Columns */
.vc_row-o-equal-height {
    display: flex !important;
    align-items: stretch !important;
}

.vc_row-o-equal-height > .wpb_column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
/* --- Fix 1: Center the reCAPTCHA box --- */
.wpcf7-form-control-wrap[class*="recaptcha"],
.sib_embed_signup .recaptcha-holder,
.g-recaptcha > div {
    display: flex !important;
    justify-content: center !important;
    margin: 16px auto !important;
    width: 100% !important;
}

/* --- Fix 2: Stretch Right-Hand Buttons Full Width --- */
.vc_btn3-container.vc_btn3-inline,
.vc_btn3-container {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
}

.vc_btn3-container a.vc_btn3 {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* --- Fix 3: Push Bottom Buttons Down to Align with SEND MESSAGE --- */
.vc_column_container > .vc_column-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.vc_column_container > .vc_column-inner > .wpb_wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Force the social buttons container to push to the bottom */
.vc_column_container > .vc_column-inner > .wpb_wrapper > .vc_btn3-container:first-of-type {
    margin-top: auto !important;
}
/* Clean full-width alignment for reCAPTCHA */
.g-recaptcha,
.sib_embed_signup .recaptcha-holder,
div[class*="recaptcha"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 16px 0 !important;
    transform: none !important; /* Remove scaling */
}

/* Ensure the inner frame fits nicely */
.g-recaptcha > div,
div[class*="recaptcha"] > div {
    margin: 0 auto !important;
}
/* 1. Fix reCAPTCHA width & vertical padding */
.g-recaptcha,
div[class*="recaptcha"] {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 24px 0 !important; /* Adds breathing room above and below */
}
.g-recaptcha > div,
div[class*="recaptcha"] > div {
    margin: 0 auto !important;
}

/* 2. Add top space to push bottom buttons down to align with SEND MESSAGE */
.modern-newsletter-card .vc_btn3-container:first-of-type,
.wpb_wrapper > .vc_btn3-container:first-of-type {
    margin-top: 38px !important; /* Pushes the 3 buttons down */
}