/* ── Contact Page Layout Overrides ────────────────────────────────── */

/* Override prose heading colors — use Elementor's green */
.elementor-418 .elementor-heading-title {
    color: #223502 !important;
}
.elementor-418 .elementor-element-9c26408 .elementor-heading-title {
    color: #223502 !important;
}
.elementor-418 .elementor-element-233a25d .elementor-heading-title {
    color: #668C01 !important;
}

/* Reduce top padding (original 240px was for transparent absolute header) */
.elementor-418 .elementor-element.elementor-element-97857d8 {
    --padding-top: 120px !important;
}

/* Tabs section: centered at 90% width, bottom margin for spacing */
.elementor-418 .elementor-element.elementor-element-fd07ff5 {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
}

/* Form section: centered at 90% width, bottom margin for footer spacing */
.elementor-418 .elementor-element.elementor-element-2f6457f {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 64px !important;
}

/* Remove extra space between tabs and form ("Leave us a message") */
.elementor-418 .elementor-element.elementor-element-233a25d > .elementor-widget-container {
    margin: 40px 0 32px 0 !important;
}

/* Prose resets for contact page headings */
.entry-content .elementor-418 h2.elementor-heading-title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ── Contact Form 7 – Custom Styling ──────────────────────────────── */

.wpcf7-form {
    max-width: 849px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.wpcf7-form label {
    display: block;
    font-weight: 700;
    margin-bottom: 4px;
    font-family: Montserrat;
    font-size: 0.8rem;
    color: #4A4A4A;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 0px !important;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    background: #B0A7A50D;
    margin-top: 0 !important;
}

.wpcf7-form p {
    margin: 0 !important;
}

.wpcf7-form br {
    display: none !important;
}

.wpcf7-form textarea {
    height: 150px;
    resize: vertical;
    border-radius: 20px;
}

/* Responsive Two-Column Layout */
@media (min-width: 768px) {
    .wpcf7-form .form-row {
        display: flex;
        gap: 10px;
    }

    .wpcf7-form .form-row div {
        flex: 1;
    }
}

.wpcf7-form p:nth-of-type(2) {
    display: flex;
    justify-content: center;
}

/* Submit Button */
.wpcf7-form input[type="submit"] {
    background-color: #9cc36b;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    margin-bottom: 40px;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #85a15b;
}

.wpcf7-form ::placeholder {
    padding: 12px;
    font-family: Montserrat, sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 18px;
    color: #B0A7A5;
}

@media (max-width: 767px) {
    .wpcf7-form .form-row {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .wpcf7-form .wpcf7-list-item {
        margin-left: 0;
    }

    /* Mobile: full width, no side margins */
    .elementor-418 .elementor-element.elementor-element-fd07ff5 {
        width: 100% !important;
    }
    .elementor-418 .elementor-element.elementor-element-2f6457f {
        width: 100% !important;
        margin-bottom: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Select Dropdown */
.wpcf7-form select {
    width: 100%;
    padding: 10px 16px;
    margin-bottom: 0px !important;
    margin-top: 0 !important;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    background-color: #B0A7A50D;
    font-family: Montserrat, sans-serif;
    color: #4A4A4A;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='%234A4A4A'%20class='bi%20bi-caret-down-fill'%20viewBox='0%200%2016%2016'%3E%3Cpath%20d='M7.247%2011.14%202.451%206.342c-.566-.566-.163-1.528.636-1.528h9.826c.799%200%201.202.962.636%201.528L8.753%2011.14a1%201%200%200%201-1.506%200z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
}

.wpcf7-form select::-ms-expand {
    display: none;
}

/* intlTelInput inside form */
.wpcf7-form .intl-tel-input.separate-dial-code {
    margin-top: 0;
    width: 100%;
}
