/**
 * Contact page and B2B inquiry form styles.
 *
 * @package AMSHOV_Theme
 */

.contact-page,
.contact-page-article,
.contact-main-layout,
.contact-main-layout > *,
.contact-inquiry-panel,
.amshov-inquiry-form,
.contact-process-list {
	min-width: 0;
}

.contact-breadcrumb {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	color: rgb(255 255 255 / 74%);
	font-size: 0.875rem;
}

.contact-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.contact-breadcrumb a {
	color: rgb(255 255 255 / 74%);
	text-decoration: none;
}

.contact-breadcrumb a:hover,
.contact-breadcrumb a:focus-visible {
	color: var(--amshov-white);
}

.contact-breadcrumb-separator {
	color: rgb(255 255 255 / 42%);
}

.contact-hero {
	position: relative;
	background: var(--amshov-background-light);
	overflow: hidden;
}

.contact-hero-media {
	position: relative;
	height: var(--amshov-page-banner-height);
	background:
		radial-gradient(circle at 78% 24%, rgb(48 80 124 / 36%), transparent 28rem),
		linear-gradient(112deg, #0b1017 0%, #142033 56%, #1a304d 100%);
	overflow: hidden;
}

.contact-hero-media::after {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgb(8 10 13 / 76%), rgb(8 10 13 / 24%), rgb(8 10 13 / 68%)),
		linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
	background-size: auto, 5rem 5rem, 5rem 5rem;
	content: "";
	pointer-events: none;
}

.contact-hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact-hero-content {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-width: 58rem;
	padding-block: 2.5rem;
	color: var(--amshov-white);
	text-align: center;
}

.contact-hero-pattern {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.contact-hero-pattern::after {
	position: absolute;
	right: 12%;
	bottom: 24%;
	width: min(18rem, 28vw);
	height: 0.2rem;
	background: var(--amshov-brand-red);
	content: "";
}

.contact-hero-pattern span {
	position: absolute;
	width: clamp(7rem, 14vw, 13rem);
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 14%);
	transform: rotate(45deg);
}

.contact-hero-pattern span:nth-child(1) {
	top: -55%;
	right: 8%;
}

.contact-hero-pattern span:nth-child(2) {
	top: 4%;
	right: 30%;
	border-color: rgb(180 35 44 / 58%);
}

.contact-hero-pattern span:nth-child(3) {
	bottom: -65%;
	left: 12%;
}

.contact-hero-intro {
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: var(--amshov-background-light);
}

.contact-hero-copy {
	max-width: 50rem;
	margin-inline: auto;
	text-align: center;
}

.contact-hero-copy .section-kicker {
	margin-bottom: 1rem;
}

.contact-hero-title {
	margin-bottom: 1.25rem;
	color: var(--amshov-white);
	font-size: clamp(2.5rem, 4.5vw, 4rem);
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.contact-hero-excerpt {
	max-width: 43rem;
	margin: 0 auto;
	color: rgb(255 255 255 / 76%);
	font-size: var(--amshov-body-large);
	line-height: 1.75;
}

.contact-help-title {
	margin-bottom: 1.25rem;
	font-size: clamp(2rem, 3.6vw, 3.25rem);
}

.contact-help-description {
	max-width: 43rem;
	margin: 0 auto;
	color: var(--amshov-text-muted);
	font-size: var(--amshov-body-large);
	line-height: 1.75;
}

.contact-main {
	padding-block: 0 var(--amshov-section-space);
	background: var(--amshov-background-light);
}

.contact-page-content {
	max-width: 58rem;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
}

.contact-page-content > :last-child {
	margin-bottom: 0;
}

.contact-page-content img,
.contact-page-content .wp-block-image img {
	height: auto;
}

.contact-main-layout {
	position: relative;
	background: var(--amshov-white);
	border-top: 0.2rem solid var(--amshov-brand-red);
	box-shadow: 0 0.85rem 2.2rem rgb(20 27 38 / 11%);
}

.contact-information-panel {
	position: relative;
	height: 100%;
	padding: clamp(2rem, 4vw, 3.75rem);
	color: rgb(255 255 255 / 72%);
	background:
		radial-gradient(circle at 88% 12%, rgb(48 80 124 / 34%), transparent 17rem),
		linear-gradient(145deg, #0d0f12 0%, #101720 100%);
	border-left: 1px solid rgb(255 255 255 / 10%);
	overflow: hidden;
}

.contact-information-panel::after {
	position: absolute;
	right: -4rem;
	bottom: -5rem;
	width: 12rem;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 8%);
	content: "";
	transform: rotate(45deg);
	pointer-events: none;
}

.contact-information-panel > * {
	position: relative;
	z-index: 1;
}

.contact-information-panel h2 {
	max-width: 24rem;
	margin-bottom: 2rem;
	color: var(--amshov-white);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.contact-details-list {
	margin: 0;
}

.contact-detail-item {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 1rem;
	row-gap: 0;
	align-items: start;
	padding-block: 1.15rem;
	border-top: 1px solid rgb(255 255 255 / 14%);
}

.contact-detail-item::before {
	display: inline-flex;
	grid-column: 1;
	grid-row: 1 / span 2;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	min-width: 2.5rem;
	aspect-ratio: 1;
	color: var(--amshov-white);
	background: rgb(180 35 44 / 18%);
	border: 1px solid rgb(180 35 44 / 58%);
	border-radius: var(--amshov-radius-sm);
	content: "";
	font-size: 0.72rem;
	font-weight: 800;
}

.contact-detail-email::before {
	content: "@";
}

.contact-detail-phone::before {
	content: "T";
}

.contact-detail-whatsapp::before {
	content: "W";
}

.contact-detail-address::before {
	content: "A";
}

.contact-detail-hours::before {
	content: "H";
}

.contact-detail-map::before {
	content: "M";
}

.contact-details-list dt {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 0.35rem;
	color: rgb(255 255 255 / 54%);
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.contact-details-list dd {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	color: var(--amshov-white);
	overflow-wrap: anywhere;
}

.contact-details-list a {
	color: var(--amshov-white);
	text-decoration: none;
}

.contact-details-list a:hover,
.contact-details-list a:focus-visible {
	color: var(--amshov-brand-red);
}

.contact-details-empty {
	margin: 0;
	color: rgb(255 255 255 / 68%);
}

.contact-social {
	padding-top: 2rem;
	margin-top: 2rem;
	border-top: 1px solid rgb(255 255 255 / 14%);
}

.contact-social h3 {
	margin-bottom: 1rem;
	color: var(--amshov-white);
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.contact-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.contact-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.6rem;
	padding: 0.55rem 0.8rem;
	color: rgb(255 255 255 / 82%);
	background: rgb(255 255 255 / 4%);
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: var(--amshov-radius-sm);
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	transition: color var(--amshov-transition), background-color var(--amshov-transition), border-color var(--amshov-transition);
}

.contact-social-links a:hover,
.contact-social-links a:focus-visible {
	color: var(--amshov-white);
	background: var(--amshov-brand-red);
	border-color: var(--amshov-brand-red);
}

.contact-inquiry-panel {
	height: 100%;
	padding: clamp(2rem, 4vw, 3.75rem);
	background: var(--amshov-white);
}

.contact-inquiry-heading {
	max-width: 46rem;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--amshov-border);
}

.contact-inquiry-heading h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.85rem, 3.2vw, 2.65rem);
}

.contact-inquiry-heading > p:last-child {
	margin-bottom: 0;
	color: var(--amshov-text-muted);
}

.amshov-inquiry-form .row,
.amshov-inquiry-form .row > * {
	min-width: 0;
}

.amshov-inquiry-form .form-label {
	margin-bottom: 0.5rem;
	color: var(--amshov-text);
	font-size: 0.8125rem;
	font-weight: 750;
	letter-spacing: 0.035em;
}

.amshov-inquiry-form .form-label > span {
	color: var(--amshov-brand-red);
}

.amshov-inquiry-form .form-control,
.amshov-inquiry-form .form-select {
	width: 100%;
	min-width: 0;
	min-height: 3.25rem;
	padding: 0.75rem 0.9rem;
	color: var(--amshov-text);
	background-color: var(--amshov-white);
	border-color: #cfd4da;
	border-radius: var(--amshov-radius-sm);
}

.amshov-inquiry-form textarea.form-control {
	min-height: 10rem;
	resize: vertical;
}

.amshov-inquiry-form .form-control:focus,
.amshov-inquiry-form .form-select:focus,
.amshov-inquiry-form .form-check-input:focus {
	border-color: var(--amshov-brand-red);
	box-shadow: 0 0 0 0.2rem rgb(180 35 44 / 18%);
}

.amshov-inquiry-form .form-control.is-invalid,
.amshov-inquiry-form .form-select.is-invalid,
.amshov-inquiry-form .form-check.has-error .form-check-input {
	border-color: var(--amshov-brand-red);
}

.amshov-inquiry-form .form-check {
	padding-left: 1.8rem;
}

.amshov-inquiry-form .form-check-input {
	margin-left: -1.8rem;
}

.amshov-inquiry-form .form-check-label {
	color: var(--amshov-text-muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

.inquiry-field-error {
	display: block;
	margin-top: 0.45rem;
	color: var(--amshov-brand-red-dark);
	font-size: 0.8125rem;
	font-weight: 650;
}

.inquiry-feedback {
	padding: 1rem 1.25rem;
	margin-bottom: 2rem;
	border-left: 0.25rem solid;
	font-weight: 650;
}

.inquiry-feedback-success {
	color: #14532d;
	background: #f0fdf4;
	border-color: #15803d;
}

.inquiry-feedback-error {
	color: #7f1d1d;
	background: #fef2f2;
	border-color: var(--amshov-brand-red);
}

.inquiry-submit-button {
	min-width: 10rem;
}

.inquiry-success-page {
	min-height: 60vh;
	padding-block: clamp(5rem, 11vw, 9rem);
	background:
		radial-gradient(circle at 82% 16%, rgb(180 35 44 / 10%), transparent 24rem),
		var(--amshov-background-light);
}

.inquiry-success-card {
	max-width: 48rem;
	padding: clamp(2.25rem, 6vw, 4.5rem);
	margin: 0 auto;
	text-align: center;
	background: var(--amshov-white);
	border-top: 0.2rem solid var(--amshov-brand-red);
	box-shadow: 0 0.85rem 2.2rem rgb(20 27 38 / 10%);
}

.inquiry-success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	margin-bottom: 1.75rem;
	aspect-ratio: 1;
	color: var(--amshov-white);
	background: var(--amshov-brand-red);
	border-radius: 50%;
	font-size: 2rem;
	font-weight: 800;
}

.inquiry-success-card h1 {
	margin-bottom: 1rem;
	font-size: clamp(2.1rem, 5vw, 3.5rem);
}

.inquiry-success-card p:not(.section-kicker) {
	max-width: 37rem;
	margin: 0 auto;
	color: var(--amshov-text-muted);
	font-size: var(--amshov-body-large);
	line-height: 1.75;
}

.inquiry-success-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 2rem;
}

.amshov-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.contact-section-heading {
	max-width: 52rem;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.contact-section-heading h2 {
	margin-bottom: 0;
}

.contact-process {
	background: var(--amshov-white);
	border-top: 1px solid var(--amshov-border);
}

.contact-process-list {
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: 1px solid var(--amshov-border);
	border-bottom: 1px solid var(--amshov-border);
}

.contact-process-step {
	height: 100%;
	min-height: 15rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-left: 1px solid var(--amshov-border);
}

.contact-process-list > li:last-child .contact-process-step {
	border-right: 1px solid var(--amshov-border);
}

.contact-process-step > span {
	display: block;
	margin-bottom: 2.75rem;
	color: var(--amshov-brand-red);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.12em;
}

.contact-process-step h3 {
	margin-bottom: 0.75rem;
	font-size: 1.2rem;
}

.contact-process-step p {
	margin: 0;
	color: var(--amshov-text-muted);
	font-size: 0.925rem;
}

@media (max-width: 1199.98px) {
	.contact-process-list > li:nth-child(odd) .contact-process-step {
		border-left: 1px solid var(--amshov-border);
	}

	.contact-process-list > li:nth-child(even) .contact-process-step {
		border-right: 1px solid var(--amshov-border);
	}

	.contact-process-list > li:nth-child(n + 3) .contact-process-step {
		border-top: 1px solid var(--amshov-border);
	}
}

@media (max-width: 991.98px) {
	.contact-main-layout > :first-child {
		order: 2;
	}

	.contact-main-layout > :last-child {
		order: 1;
	}

	.contact-information-panel {
		border-bottom: 1px solid rgb(255 255 255 / 10%);
		border-left: 0;
	}
}

@media (max-width: 767.98px) {
	.contact-hero-media {
		height: var(--amshov-page-banner-height);
	}

	.contact-hero-intro {
		padding-block: 3.5rem;
	}

	.contact-hero-title {
		font-size: clamp(2.25rem, 10vw, 3.15rem);
	}

	.contact-inquiry-panel,
	.contact-information-panel {
		padding: 1.75rem 1.25rem;
	}

	.contact-main-layout {
		margin-inline: 0;
	}

	.contact-process-list > li .contact-process-step,
	.contact-process-list > li:nth-child(odd) .contact-process-step,
	.contact-process-list > li:nth-child(even) .contact-process-step,
	.contact-process-list > li:last-child .contact-process-step {
		min-height: 0;
		border-top: 1px solid var(--amshov-border);
		border-right: 1px solid var(--amshov-border);
		border-left: 1px solid var(--amshov-border);
	}

	.contact-process-list > li:first-child .contact-process-step {
		border-top: 0;
	}

	.contact-process-step > span {
		margin-bottom: 1.5rem;
	}

	.inquiry-submit-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.contact-page *,
	.contact-page *::before,
	.contact-page *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
