/* ==========================================================================
   Contact Form (image left, form right)
   ========================================================================== */

.sec-contact-form {
	padding: 150px 0;
	background: var(--clr-white);
}

.sec-contact-form__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 240px;
	display: grid;
	grid-template-columns: 668px 1fr;
	gap: 99px;
	align-items: center;
}

.sec-contact-form__media {
	width: 668px;
	max-width: 100%;
	aspect-ratio: 668 / 669;
	border-radius: 10px;
	overflow: hidden;
}

.sec-contact-form__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sec-contact-form__content {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.sec-contact-form__heading {
	font-size: var(--fs-h2);
	line-height: 1.12;
	color: var(--clr-black);
}

/* Form layout (both Gravity Forms + fallback) -------------------------- */
.sec-contact-form__form,
.sec-contact-form__fallback,
.sec-contact-form__form .gform_wrapper form,
.sec-contact-form__form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	width: 100%;
}

.sec-contact-form__row--2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.sec-contact-form__field,
.gform_wrapper .gfield,
.wpcf7-form .field-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--clr-black);
}

.sec-contact-form__field span { color: var(--clr-black); }

.sec-contact-form__field input,
.sec-contact-form__field textarea,
.sec-contact-form .gform_wrapper input[type="text"],
.sec-contact-form .gform_wrapper input[type="tel"],
.sec-contact-form .gform_wrapper input[type="email"],
.sec-contact-form .gform_wrapper textarea,
.sec-contact-form .wpcf7-form-control {
	width: 100%;
	border: 1px solid var(--clr-light-gray);
	border-radius: 8px;
	padding: 16px 18px;
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: var(--clr-black);
	background: var(--clr-white);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.sec-contact-form__field input:focus,
.sec-contact-form__field textarea:focus,
.sec-contact-form .gform_wrapper input:focus,
.sec-contact-form .gform_wrapper textarea:focus,
.sec-contact-form .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 3px rgba(7, 143, 214, 0.15);
}

.sec-contact-form .gform_wrapper .gform_footer,
.sec-contact-form .wpcf7-form .wpcf7-submit {
	display: flex;
	justify-content: flex-start;
	margin-top: 14px;
}

.sec-contact-form__submit { align-self: flex-start; }
.sec-contact-form__form .gform_wrapper p.gform_required_legend {
    display: none;

}

.sec-contact-form__form .gform_wrapper {
    font-family: Nunito;
font-weight: 400;
font-style: Regular;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;

}


.sec-contact-form__form .gform_wrapper .gfield label.gfield_label,.sec-contact-form__form .gform_wrapper .gfield span.gfield_required {
        font-family: Nunito;
        font-weight: 400;
        font-size: 14px;
        line-height: 1;
        color: #272727;
        text-transform: none;
        margin-bottom: 0;
}
.sec-contact-form__form .gform_wrapper .gfield {
    gap: 8px;
}

.sec-contact-form__form .gform_wrapper .gfield .ginput_container input {
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 10px;
    padding: 10px;
    height: 60px;
    font-size: 16px;
    font-family: 'Nunito';
    color: #000000;
    box-shadow: none;
}

.sec-contact-form__form .gform_wrapper .gfield .ginput_container textarea {
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 10px;
    padding: 10px;
    height: 160px;
    font-size: 16px;
    font-family: 'Nunito';
    color: #000000;
    box-shadow: none;
}

.sec-contact-form__form .gform-footer input.gform_button {
    padding: 20px 35px !important;
    border-radius: 10px !important;
    border: none;
    cursor: pointer !important;
    font-family: var(--font-body) !important;
    font-size: var(--fs-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    background-color: var(--clr-primary) !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
    margin-top: 0 !important;
}

.sec-contact-form__form .gform-footer input.gform_button:hover {
     background: var(--clr-primary-dark) !important;
    color: var(--clr-white) !important;
    transform: translateY(-1px)!important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12)!important;
    outline: none!important;
}


.sec-contact-form__form .gform-footer {
    margin-top:0 !important;
}

.sec-contact-form__form .gform_wrapper div#gform_fields_1 {
    column-gap: 20px;
    row-gap: 20px;
}

@media (max-width: 1279px) {
	.sec-contact-form__inner { padding: 0 60px; grid-template-columns: 1fr 1fr; gap: 60px; }
	.sec-contact-form__media { width: 100%; }
}

@media (max-width: 1023px) {
	.sec-contact-form         { padding: 80px 0; }
	.sec-contact-form__inner  { grid-template-columns: 1fr; gap: 40px; }
	.sec-contact-form__media  { max-width: 500px; margin: 0 auto; }
}

@media (max-width: 767px) {
	.sec-contact-form__inner       { padding: 0 24px; }
	.sec-contact-form__row--2col   { grid-template-columns: 1fr; }
	.sec-contact-form {padding: 50px 0;}
	    .sec-contact-form__inner {
        gap: 30px;
    }
	
}

@media (max-width: 640px) {
	.sec-contact-form {padding: 40px 0;}
	
}
