/* Contact Page Specific Styles - Based on Blogs Page Structure */

/* Contact Section - matches blogs-section structure */
.contact-page .contact-section {
	width: 100%;
	max-width: 1280px;
	min-height: 40px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0 30px 40px;
	position: relative;
	overflow: visible;
}

/* Wave SVG Background - full viewport width */
.contact-page .contact-section-svg-background {
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: calc(100% + 80px);
	background-image: url('/assets/svg/wave2.svg');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	z-index: 0;
	opacity: 1;
	filter: brightness(1) saturate(1.2);
	pointer-events: none;
}

/* Contact Form Wrapper - replaces blogs-wrapper */
.contact-page .contact-form-wrapper {
	width: 100%;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	padding-top: -24px;
}

/* Section Header Wrapper - ensure it's above the SVG background and has proper spacing */
.contact-page .section-header-wrapper {
	z-index: 1;
	/* Padding handled by .section-header-title */
	padding-top: 0;
}

/* Contact Form Block */
.contact-page .contact-form-block {
	margin-top: 0;
	margin-bottom: 0;
}

/* Form Labels */
.contact-page .contact-form-label {
	display: block;
	margin-bottom: 8px;
	color: var(--amp-gray);
	font-family: Gotham, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
}

/* Form Text Fields */
.contact-page .contact-form-text-field {
	width: 100%;
	display: block;
	padding: 12px 16px;
	margin-bottom: 16px;
	color: var(--amp-gray);
	border: none;
	border-radius: 8px;
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
	background-color: var(--white);
	font-family: Gotham Book, Arial, sans-serif;
}

.contact-page .contact-form-text-field:focus {
	outline: none;
	box-shadow: 0 0 0 2px var(--amp-yellow);
}

.contact-page .contact-form-text-field.text-area {
	height: 120px;
	resize: vertical;
	min-height: 120px;
}

/* Form Success/Error Messages */
.contact-page .contact-form-success {
	background-color: transparent;
	border-radius: 8px;
	margin-top: 24px;
}

.contact-page .contact-form-success-text {
	font-size: 18px;
	color: var(--amp-gray);
	text-align: center;
}

.contact-page .error-message {
	background-color: transparent;
	border-radius: 8px;
	margin-top: 24px;
	color: #d32f2f;
	text-align: center;
}

/* Submit Button */
.contact-page .contact-form-submit-btn.get-in-touch-btn-inverted,
.contact-page .contact-form-submit-btn.get-in-touch-btn {
	background-color: var(--amp-gray);
	color: var(--amp-yellow);
	text-align: center;
	border: 2px solid transparent;
	padding: 12px 64px;
	margin-top: 32px;
	margin-bottom: 0;
	display: block;
	width: auto;
	max-width: none;
	margin-left: auto;
	margin-right: 0;
	cursor: pointer;
	transition: all 0.3s ease;
}

.contact-page .contact-form-submit-btn.get-in-touch-btn-inverted:hover,
.contact-page .contact-form-submit-btn.get-in-touch-btn:hover {
	background-color: var(--amp-yellow);
	color: var(--amp-gray);
	border: 2px solid var(--amp-gray);
}

.contact-page .contact-form-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Responsive Styles */
@media screen and (max-width: 991px) {
	.contact-page .contact-section {
		padding: 0 30px 40px;
	}
}

@media screen and (max-width: 767px) {
	.contact-page .contact-section {
		padding: 0 15px 20px;
	}
	
	.contact-page .contact-form-wrapper {
		max-width: 100%;
	}
	
	.contact-page .contact-form-text-field.text-area {
		margin-bottom: 20px;
	}
}
