/* ============================================================================
   Contact Form Section - Template Component Styles
   ========================================================================== */

   .contact-form-section {
    background: #fff;
    position: relative;
    padding: unset !important;
    color: var(--contact-form-heading-color, #1a1a1a);
}

.contact-form-section_container {
    max-width: 100% !important;
    padding: unset !important;
}
.contact-form-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 130px;
    align-items: center;
    position: relative;
}

/* Left column - Content */
.contact-content-column {
    position: relative;
    display: block;
    justify-content: flex-end;
    padding-left: 128px;
    max-width: 455px;
    box-sizing: content-box;
}

.contact-content-column_text {
    /* width: 72%; */
}

.contact-form-container {
    width: 80%;
}

/* Contact sub-heading styling now handled by global sub-heading-text.css */

/* Contact sub-heading ::before now handled by global sub-heading-text.css */

h2.contact-heading {
    font-size: var(--h2-size, 36px);
    font-weight: var(--heading-font-weight, 700);
    line-height: var(--heading-line-height, 1.2);
    color: var(--contact-form-heading-color, #1a1a1a);
    margin-bottom: 1.5rem;
    font-family: var(--h1-h2-font-family, inherit);
    font-weight: bold !important;
}

.contact-description p{
    font-size: var(--font-size-base, 16px)!important;
    line-height: var(--body-line-height, 1.6);
    color: var(--contact-form-paragraph-color, #555555);
    font-family: var(--body-font-family, inherit);
}

.contact-description p {
    margin-bottom: 1rem;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Right column - Form */
.contact-form-column {
    position: relative;
    all: unset;
    background-color: #E8F5FA;
    padding: 6rem;
}

/* Contact form container styles removed - styling applied to parent column */

.form-header {
    margin-bottom: 2.5rem;
}

.form-title {
    font-size: var(--h6-size, 16px);
    font-weight: var(--heading-font-weight, 600);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--contact-form-subheading-color, #06b3ea);
    margin-bottom: 0.5rem;
    font-family: var(--h5-h6-font-family, inherit);
}

.form-subtitle {
    font-size: var(--h4-size, 22px);
    font-weight: var(--heading-font-weight, 700);
    color: var(--contact-form-heading-color, #1a1a1a);
    margin-bottom: 0;
    font-family: 'DM Sans' !important;
    max-width: 390px;
    font-size: 2.4rem !important;
    line-height: 1.26em !important;
}

/* Form Styling */
.contact-form-wrapper {
    width: 100%;
}

.contact-form {
    width: 100%;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.form-group {
    width: 100%;
}

.form-group:not(.form-row .form-group) {
    margin-bottom: 1.25rem;
}

.form-input {
    width: 100%;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #000 !important;
    border-radius: unset;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--body-font-family, inherit);
    background: transparent;
    color: var(--contact-form-heading-color, #1a1a1a);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
    border: unset;
}

.form-input:focus {
    outline: none;
    border-color: var(--contact-form-subheading-color, #06b3ea);
    box-shadow: 0 0 0 3px rgba(6, 179, 234, 0.1);
}

.form-input::placeholder {
    color: #000;
    font-weight: 400;
}

/* Select Dropdown */
select.form-input {
    cursor: pointer;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6,9 12,15 18,9"></polyline></svg>');
    background-repeat: no-repeat;
    background-position: right 1.25rem center;
    background-size: 16px;
    padding-right: 3rem;
}

/* Textarea */
textarea.form-input {
    resize: vertical;
    height: 52px;
    padding: 1rem 1.25rem;
}
textarea.form-input:active, textarea.form-input:focus{
    height:130px;
}

/* Form Actions */
.form-actions {
    margin-top: 2rem;
    text-align: right;
}

.form-submit-btn {
    /* Uses global button styling with enhanced styling for contact form */
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    background: var(--contact-form-subheading-color, #06b3ea) !important;
    color: white !important;
    padding: 0.875rem 1.75rem !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    box-shadow: 0 2px 8px rgba(6, 179, 234, 0.25) !important;
}

.form-submit-btn:hover {
    background: var(--btn-hover-bg, #0095c7) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(6, 179, 234, 0.4) !important;
}

.form-submit-btn svg {
    transition: transform 0.3s ease;
}

.form-submit-btn:hover svg {
    transform: translateX(4px);
}

/* Responsive Design */
@media (max-width: 1440px) {
    .contact-form-column_left {
        padding-left: var(--page-px);
        padding-right: var(--page-px);
    }
    .contact-content-column_text,
    .contact-form-container {
        width: 100%;
    }
    .contact-form-column {
        padding-right: var(--page-px);
        padding-left: 40px;
    }
}

@media (max-width: 1200px) {
    .contact-form-content {
        gap: 30px;
    }

    .contact-form-column {
        padding: 6rem 2rem;
    }

    .contact-content-column_text {
        width: 100%;
    }

    .contact-content-column {
        padding-left: var(--page-px);
    }

    .contact-form-container {
        width: 100%;
    }
}

@media (max-width: 992px) {
    .contact-form-content {
        grid-template-columns: 1fr;
        gap: unset;
        text-align: left;
    }
    
    .contact-content-column {
        order: 1;
        padding-left: unset!important;
        padding-right: unset!important;
    }
    
    .contact-form-column {
        order: 2;
    }

    .contact-content-column_text {
        width: 100%;
        margin: 0 auto;
        padding-left: var(--page-px);
        padding-right: var(--page-px);
        padding-top: 100px;
        padding-bottom: 100px;
        text-align: center;
    }

    .contact-form-column {
        padding-left: var(--page-px);
        padding-right: var(--page-px);
        padding-top: 100px;
        padding-bottom: 100px;
    }
    
    /* Contact sub-heading responsive styles now handled by global sub-heading-text.css */
    
    /* .contact-form-container {
        padding: 1.5rem;
    } */
    
    .form-row {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    p.form-subtitle {
        font-size: 30px !important;
        text-align: center;
    }

    h4.form-title.sub-heading-text {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .contact-heading {
        /* font-size: calc(var(--h2-size, 36px) * 0.8); */
        margin-bottom: 1rem;
    }
    
    
    .contact-form-container {
        padding: unset;
    }
    
    .form-actions {
        text-align: center;
        margin-top: 2rem;
    }
    
    .form-submit-btn {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }

    .contact-content-column {
        padding-left: 0;
    }
}
