/* ==========================================================================
   Contact page – corporate form on hero image background
   ========================================================================== */

.site-main--contact {
	padding: 0;
}

.site-main--contact > .container {
	max-width: none;
	padding: 0;
}

.contact-page-shell {
	max-width: 760px;
	margin: 0 auto;
	padding: var(--page-section-top) 24px 4.5rem;
}

.contact-page__lead {
	max-width: 56ch;
	margin: -0.75rem auto 2.25rem;
	padding: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.85;
	color: rgba(255, 255, 255, 0.92);
	text-align: center;
}

.contact-page__lead p {
	margin: 0;
}

/* Form card */
.contact-page__form {
	position: relative;
	padding: clamp(2rem, 4vw, 2.5rem);
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(122, 162, 202, 0.32);
	border-radius: 10px;
	box-shadow:
		0 24px 56px rgba(6, 13, 24, 0.28),
		0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

/* Privacy block – plain black text, no box */
.contact-page__privacy,
.contact-page__form #forminator-module-109 .forminator-field-html .animephill-contact-privacy,
.contact-page__form #forminator-module-109 .animephill-contact-privacy,
.contact-page__form .animephill-contact-privacy {
	margin: 0;
	padding: 0;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #1a1a1a !important;
}

.contact-page__form #forminator-module-109 .forminator-field-html input,
.contact-page__form #forminator-module-109 .forminator-field-html textarea,
.contact-page__form #forminator-module-109 .forminator-field-html select {
	display: none !important;
}

.contact-page__form #forminator-module-109 .forminator-field-html .forminator-html {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 0 !important;
	border-radius: 0 !important;
}

.contact-page__form #forminator-module-109 .forminator-field--honeypot,
.contact-page__form #forminator-module-109 .forminator-row.forminator-hidden {
	display: none !important;
}

.contact-page__privacy-title,
.contact-page__form #forminator-module-109 .animephill-contact-privacy__title,
.contact-page__form #forminator-module-109 .animephill-contact-privacy :is(h1, h2, h3, h4) {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
	color: #1a1a1a !important;
}

.contact-page__privacy-text,
.contact-page__form #forminator-module-109 .animephill-contact-privacy__text,
.contact-page__form #forminator-module-109 .animephill-contact-privacy p {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.75;
	color: #1a1a1a !important;
}

.contact-page__privacy-link,
.contact-page__form #forminator-module-109 .animephill-contact-privacy__link {
	margin: 0.6rem 0 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1a1a1a !important;
}

.contact-page__privacy-link a,
.contact-page__form #forminator-module-109 .animephill-contact-privacy__link a,
.contact-page__form #forminator-module-109 .animephill-contact-privacy a {
	color: #1a1a1a !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.contact-page__privacy-link a:hover,
.contact-page__form #forminator-module-109 .animephill-contact-privacy__link a:hover,
.contact-page__form #forminator-module-109 .animephill-contact-privacy a:hover {
	color: #333333 !important;
}

/* Forminator */
.contact-page__form .animephill-forminator,
.contact-page__form #forminator-module-109 {
	position: relative;
	z-index: 1;
}

.contact-page__form #forminator-module-109 {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin: 0 !important;
}

.contact-page__form #forminator-module-109 > .forminator-row {
	grid-column: 1;
	margin: 0 !important;
}

.contact-page__form #forminator-module-109 > .forminator-response-message {
	margin-bottom: 0 !important;
}

.contact-page__form #forminator-module-109 > .forminator-row-last {
	margin-top: 0.75rem !important;
}

.contact-page__form #forminator-module-109 .forminator-col,
.contact-page__form #forminator-module-109 .forminator-field,
.contact-page__form #forminator-module-109 .forminator-field-html,
.contact-page__form #forminator-module-109 .forminator-field-textarea {
	width: 100% !important;
	max-width: 100% !important;
}

.contact-page__form #forminator-module-109 .forminator-field-html {
	color: #1a1a1a !important;
}

/* Hide stray empty field row directly above privacy HTML block */
.contact-page__form #forminator-module-109 .forminator-row:has(+ .forminator-row .animephill-contact-privacy):not(:has(.animephill-contact-privacy)):not(:has(.forminator-select)):not(:has(select)) {
	display: none !important;
}

.contact-page__form #forminator-module-109 .forminator-col {
	flex: 1 1 100% !important;
	padding: 0 !important;
}

.contact-page__form #forminator-module-109 .forminator-label {
	display: block !important;
	margin: 0 0 0.55rem !important;
	padding: 0 !important;
	border: none !important;
	font-family: var(--font-sans) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	color: #2a4060 !important;
	line-height: 1.45 !important;
}

.contact-page__form #forminator-module-109 .forminator-label .forminator-required {
	margin-left: 0.15rem;
	color: #c44b7a !important;
	font-size: 0.95em;
}

.contact-page__form #forminator-module-109 .forminator-description,
.contact-page__form #forminator-module-109 .forminator-char-limit {
	margin: 0.2rem 0 0.35rem !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	color: #7a8fa8 !important;
}

.contact-page__form #forminator-module-109 .forminator-input,
.contact-page__form #forminator-module-109 .forminator-textarea,
.contact-page__form #forminator-module-109 .forminator-ui input[type="text"],
.contact-page__form #forminator-module-109 .forminator-ui input[type="email"],
.contact-page__form #forminator-module-109 .forminator-ui input[type="tel"],
.contact-page__form #forminator-module-109 .forminator-ui select,
.contact-page__form #forminator-module-109 .forminator-ui textarea {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0.78em 1em !important;
	font-family: var(--font-sans) !important;
	font-size: 0.9375rem !important;
	line-height: 1.5 !important;
	color: #1a2e44 !important;
	background: #f8fafc !important;
	border: 1px solid #c5d4e4 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
}

.contact-page__form #forminator-module-109 .forminator-textarea,
.contact-page__form #forminator-module-109 .forminator-ui textarea {
	min-height: 180px !important;
	border-radius: 6px !important;
	resize: vertical !important;
}

.contact-page__form #forminator-module-109 .forminator-input::placeholder,
.contact-page__form #forminator-module-109 .forminator-textarea::placeholder,
.contact-page__form #forminator-module-109 .forminator-ui input::placeholder,
.contact-page__form #forminator-module-109 .forminator-ui textarea::placeholder {
	color: rgba(26, 46, 68, 0.38) !important;
}

.contact-page__form #forminator-module-109 .forminator-input:focus,
.contact-page__form #forminator-module-109 .forminator-textarea:focus,
.contact-page__form #forminator-module-109 .forminator-ui input:focus,
.contact-page__form #forminator-module-109 .forminator-ui select:focus,
.contact-page__form #forminator-module-109 .forminator-ui textarea:focus {
	outline: none !important;
	color: #1a2e44 !important;
	background: #ffffff !important;
	border-color: #3f98d0 !important;
	box-shadow: 0 0 0 3px rgba(63, 152, 208, 0.18) !important;
}

.contact-page__form #forminator-module-109 .forminator-error-message {
	margin-top: 0.35rem !important;
	padding: 0.35em 0.65em !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: #8b2848 !important;
	background: #fdf0f4 !important;
	border: 1px solid #e8b4c8 !important;
	border-radius: 4px !important;
}

.contact-page__form #forminator-module-109 .forminator-response-message {
	padding: 0.85em 1em !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #2a4060 !important;
	background: #f4f7fb !important;
	border: 1px solid #dde5ef !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

.contact-page__form #forminator-module-109 .forminator-response-message.forminator-success {
	background: #f0f8ea !important;
	border-color: #b8d8a8 !important;
	color: #3a5a30 !important;
}

.contact-page__form #forminator-module-109 .forminator-response-message.forminator-error {
	background: #fdf0f4 !important;
	border-color: #e8b4c8 !important;
	color: #8b2848 !important;
}

.contact-page__form #forminator-module-109 .forminator-pagination-steps,
.contact-page__form #forminator-module-109 .forminator-pagination-footer {
	grid-column: 1 / -1;
}

.contact-page__form #forminator-module-109 .forminator-pagination-steps .forminator-break,
.contact-page__form #forminator-module-109 .forminator-pagination-footer .forminator-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.55em 1.1em !important;
	font-family: var(--font-sans) !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: #2a6ea8 !important;
	background: #f4f7fb !important;
	border: 1px solid #c5d4e4 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

.contact-page__form #forminator-module-109 .forminator-pagination-steps .forminator-break:hover,
.contact-page__form #forminator-module-109 .forminator-pagination-footer .forminator-button:hover {
	background: #eef3f8 !important;
	border-color: #3f98d0 !important;
}

.contact-page__form #forminator-module-109 .forminator-button-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 180px !important;
	padding: 0.8em 2.25em !important;
	margin: 0 auto !important;
	font-family: var(--font-display) !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	color: #ffffff !important;
	background: #2a6ea8 !important;
	border: 1px solid #1f5a8c !important;
	border-radius: 6px !important;
	box-shadow: 0 4px 14px rgba(26, 78, 130, 0.28) !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.contact-page__form #forminator-module-109 .forminator-row-last .forminator-field {
	display: flex;
	justify-content: center;
}

.contact-page__form #forminator-module-109 .forminator-button-submit:hover {
	background: #1f5a8c !important;
	box-shadow: 0 6px 18px rgba(26, 78, 130, 0.35) !important;
}

.contact-page__form #forminator-module-109 .forminator-button-submit:active {
	background: #1a5088 !important;
}

.contact-page__form #forminator-module-109 .select2-container {
	width: 100% !important;
	max-width: 100% !important;
}

.contact-page__form #forminator-module-109 .select2-container--default .select2-selection--single,
.contact-page__form #forminator-module-109 .select2-container--default .select2-selection--multiple {
	min-height: 46px !important;
	padding: 0.4em 0.75em !important;
	color: #1a2e44 !important;
	background: #f8fafc !important;
	border: 1px solid #c5d4e4 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

.contact-page__form #forminator-module-109 .select2-container--default .select2-selection__rendered {
	padding: 0 !important;
	color: #1a2e44 !important;
	line-height: 1.5 !important;
}

.contact-page__form #forminator-module-109 .select2-container--default .select2-selection__arrow {
	height: 100% !important;
	right: 10px !important;
}

.contact-page__form #forminator-module-109 .select2-container--default .select2-selection__arrow b {
	border-top-color: #5a7a9a !important;
}

.contact-page__form #forminator-module-109 .select2-container--open .select2-selection--single {
	border-color: #3f98d0 !important;
	box-shadow: 0 0 0 3px rgba(63, 152, 208, 0.18) !important;
}

.contact-page__form #forminator-module-109 select.forminator-select--default {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a7a9a' d='M6 8 0 0h12z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.9em center !important;
	padding-right: 2.25em !important;
}

/* Select2 dropdown (appended to body) */
body.animephill-contact-page .select2-container--default .select2-dropdown {
	border: 1px solid #c5d4e4 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	box-shadow: 0 8px 24px rgba(26, 46, 68, 0.14) !important;
	overflow: hidden;
}

body.animephill-contact-page .select2-container--default .select2-search--dropdown {
	padding: 0.5rem 0.6rem !important;
	background: #f8fafc !important;
	border-bottom: 1px solid #e4ecf4 !important;
}

body.animephill-contact-page .select2-container--default .select2-search--dropdown .select2-search__field {
	padding: 0.5em 0.75em !important;
	border: 1px solid #c5d4e4 !important;
	border-radius: 4px !important;
	color: #1a2e44 !important;
	background: #ffffff !important;
}

body.animephill-contact-page .select2-container--default .select2-results__option {
	padding: 0.65em 0.95em !important;
	font-size: 0.9375rem !important;
	line-height: 1.45 !important;
	color: #1a2e44 !important;
}

body.animephill-contact-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.animephill-contact-page .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: #eef3f8 !important;
	color: #1a2e44 !important;
}

body.animephill-contact-page .select2-container--default .select2-results__option[aria-selected="true"],
body.animephill-contact-page .select2-container--default .select2-results__option[data-selected="true"] {
	background: #e4ecf4 !important;
	color: #1a2e44 !important;
}

body.animephill-contact-page .select2-container--default .select2-results__option--highlighted[aria-selected="true"],
body.animephill-contact-page .select2-container--default .select2-results__option--highlighted[data-selected="true"] {
	background: #dde8f2 !important;
	color: #1a2e44 !important;
}

@media (max-width: 768px) {
	.contact-page-shell {
		padding-inline: 18px;
	}

	.contact-page__lead {
		text-align: left;
	}

	.contact-page__form #forminator-module-109 {
		gap: 1.35rem;
	}

	.contact-page__form #forminator-module-109 .forminator-button-submit {
		width: 100% !important;
		min-width: 0 !important;
	}
}
