/**
 * Contact Form 7 — style via htmlClass fe-cf7-form on the CF7 block
 */

.fe-main--contact {
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
	padding-bottom: 6rem !important;
	width: 100%;
}

.fe-main--contact > .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
	width: 100%;
}

.fe-contact-hero {
	margin-bottom: 4rem;
}

.fe-contact-hero__title {
	color: var(--wp--preset--color--on-surface);
	line-height: 1.2;
	margin-bottom: 1.5rem;
	margin-top: 0;
}

.fe-contact-hero__description {
	color: var(--wp--preset--color--on-surface-variant);
	line-height: 1.7;
	margin: 0;
}

.fe-contact-layout {
	display: grid;
	gap: var(--wp--preset--spacing--gutter);
	grid-template-columns: 1fr;
}

.fe-contact-layout > *,
.fe-contact-sidebar > * {
	margin-block-start: 0 !important;
}

.fe-contact-form-card,
.fe-contact-digital-card {
	background-color: var(--wp--preset--color--surface-container-lowest);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline-variant) 30%, transparent);
	border-radius: 0.75rem;
	box-shadow: 0 1px 2px rgba(11, 28, 48, 0.06);
	padding: 2rem;
}

.fe-contact-card-title {
	align-items: center;
	color: var(--wp--preset--color--on-surface);
	display: flex;
	gap: 0.75rem;
	margin-bottom: 2rem;
	margin-top: 0;
}

.fe-contact-card-title__icon {
	color: var(--wp--preset--color--primary);
}

.fe-contact-sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--gutter);
}

.fe-contact-location-card {
	background-color: #213145;
	border-radius: 0.75rem;
	color: var(--wp--preset--color--on-primary);
	min-height: 16rem;
	overflow: hidden;
	padding: 2rem;
	position: relative;
}

.fe-contact-location-card::before {
	background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuBZ2dxlaasge229vRr2e5zCZ4IeEUXMqLu-dVnjVE4HUOhbj7bmHU3Iyy0O4MjBKOtUGsJPkNPQjF53xtHCAV4tXcnJzVv9OymourzWJ7qzdf4hF9SyQKxs_jxNheEc6yqs-pGnO8kG3jjEfPO65J-7KupN55PTFkYBN5NjP-L1-R6At9N6z1z_TGvQPN91KWsxBoizTNBIBZyX2vFux5UY2TcOdpQJYB-7ukEB5yZ7tE41cPhX0AMFWPYs9274DvOVUWMMRNdP");
	background-position: center;
	background-size: cover;
	content: "";
	inset: 0;
	mix-blend-mode: overlay;
	opacity: 0.2;
	position: absolute;
}

.fe-contact-location-card::after {
	border: 4px solid color-mix(in srgb, var(--wp--preset--color--secondary-container) 35%, transparent);
	border-radius: 50%;
	bottom: -5rem;
	content: "";
	height: 16rem;
	opacity: 0.35;
	position: absolute;
	right: -5rem;
	width: 16rem;
}

.fe-contact-location-card > * {
	position: relative;
	z-index: 1;
}

.fe-contact-location-card__label {
	color: var(--wp--preset--color--secondary-container);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 0.5rem;
	margin-top: 0;
	text-transform: uppercase;
}

.fe-contact-location-card__title {
	color: var(--wp--preset--color--on-primary);
	margin-bottom: 0.5rem;
	margin-top: 0;
}

.fe-contact-location-card__copy {
	color: color-mix(in srgb, var(--wp--preset--color--secondary-container) 80%, transparent);
	margin: 0;
	max-width: 24rem;
}

.fe-contact-digital-card {
	background-color: var(--wp--preset--color--surface-container-low);
}

.fe-contact-digital-card__title {
	color: var(--wp--preset--color--on-surface);
	margin-bottom: 1.5rem;
	margin-top: 0;
}

.fe-contact-social-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.fe-contact-social-card {
	align-items: center;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline-variant) 20%, transparent);
	border-radius: 0.5rem;
	color: inherit;
	display: flex;
	gap: 1rem;
	padding: 1rem;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fe-contact-social-card:hover {
	box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
	transform: translateX(4px);
}

.fe-contact-social-card__icon {
	align-items: center;
	background-color: var(--wp--preset--color--footer-navy);
	border-radius: 0.25rem;
	color: var(--wp--preset--color--on-primary);
	display: inline-flex;
	flex-shrink: 0;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.fe-contact-social-card__icon--linkedin {
	background-color: #0077b5;
}

.fe-contact-social-card__icon--rss {
	background-color: var(--wp--preset--color--secondary-container);
	color: var(--wp--preset--color--on-secondary-container);
}

.fe-contact-social-card__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.fe-contact-social-card__label {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--label-caps);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.fe-contact-social-card__title {
	color: var(--wp--preset--color--on-surface);
	font-weight: 700;
}

.fe-contact-social-card__arrow {
	color: var(--wp--preset--color--outline);
	transition: color 0.2s ease;
}

.fe-contact-social-card:hover .fe-contact-social-card__arrow {
	color: var(--wp--preset--color--secondary);
}

.fe-contact-availability-card {
	align-items: flex-start;
	background-color: #fff9f0;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline-variant) 30%, transparent);
	border-radius: 0.5rem;
	display: flex;
	gap: 1rem;
	padding: 1.5rem;
}

.fe-contact-availability-card__status {
	background-color: var(--wp--preset--color--success);
	border-radius: 50%;
	display: block;
	flex-shrink: 0;
	height: 0.75rem;
	margin-block-start: 0.25rem !important;
	margin-top: 0.25rem;
	position: relative;
	width: 0.75rem;
	z-index: 0;
}

.fe-contact-availability-card__status::before {
	animation: fe-contact-ping 1.4s cubic-bezier(0, 0, 0.2, 1) infinite;
	background-color: var(--wp--preset--color--success);
	border-radius: inherit;
	content: "";
	inset: 0;
	opacity: 0.75;
	position: absolute;
	z-index: -1;
}

@keyframes fe-contact-ping {
	75%,
	100% {
		opacity: 0;
		transform: scale(2);
	}
}

.fe-contact-availability-card__content {
	margin: 0;
}

.fe-contact-availability-card__title {
	color: #76726b;
	font-size: var(--wp--preset--font-size--body-md);
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.fe-contact-availability-card__copy {
	color: #494640;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.5;
	margin: 0.25rem 0 0;
}

.fe-contact-availability-card__copy code {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
}

.fe-cf7-form {
	margin: 0;
}

.fe-cf7-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0;
}

.fe-cf7-form .wpcf7-form p {
	margin: 0;
}

.fe-cf7-form__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.fe-cf7-form .wpcf7-form label {
	display: block;
	font-size: var(--wp--preset--font-size--label-caps);
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.fe-cf7-form .wpcf7-form input[type="email"],
.fe-cf7-form .wpcf7-form input[type="text"],
.fe-cf7-form .wpcf7-form input[type="tel"],
.fe-cf7-form .wpcf7-form input[type="url"],
.fe-cf7-form .wpcf7-form textarea,
.fe-cf7-form .wpcf7-form select {
	background-color: var(--wp--preset--color--surface-container-low);
	border: 2px solid color-mix(in srgb, var(--wp--preset--color--outline-variant) 50%, transparent);
	border-radius: 0.5rem;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body-md);
	margin-top: 0.5rem;
	padding: 0.75rem 1rem;
	transition: border-color 0.2s ease;
	width: 100%;
}

.fe-cf7-form .wpcf7-form input:focus,
.fe-cf7-form .wpcf7-form textarea:focus,
.fe-cf7-form .wpcf7-form select:focus {
	border-color: var(--wp--preset--color--secondary);
	outline: none;
}

.fe-cf7-form .wpcf7-form input[type="submit"],
.fe-cf7-form .wpcf7-form button[type="submit"] {
	background-color: var(--wp--preset--color--secondary);
	border: none;
	border-radius: 0.5rem;
	color: var(--wp--preset--color--on-secondary);
	cursor: pointer;
	font-size: var(--wp--preset--font-size--label-caps);
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 1rem 2.5rem;
	text-transform: uppercase;
	transition: filter 0.2s ease;
}

.fe-cf7-form .wpcf7-form input[type="submit"]:hover,
.fe-cf7-form .wpcf7-form button[type="submit"]:hover {
	filter: brightness(0.95);
}

.fe-cf7-form .wpcf7-spinner {
	margin: 0 0 0 0.75rem;
}

.fe-cf7-form .wpcf7-response-output {
	border-radius: 0.5rem;
	margin: 0 !important;
	padding: 0.75rem 1rem !important;
}

.fe-cf7-form .mc4wp-checkbox label {
	align-items: flex-start;
	display: flex;
	font-size: var(--wp--preset--font-size--body-sm);
	font-weight: 500;
	gap: 0.625rem;
	letter-spacing: normal;
	line-height: 1.5;
	margin: 0;
	text-transform: none;
}

.fe-cf7-form .mc4wp-checkbox input[type="checkbox"] {
	accent-color: var(--wp--preset--color--secondary);
	flex: 0 0 auto;
	height: 1.125rem;
	margin: 0.125rem 0 0;
	width: 1.125rem;
}

@media (min-width: 768px) {
	.fe-cf7-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.fe-contact-layout {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
}

/* Newsletter band — compact inline form */
.fe-newsletter-form .wpcf7-form p {
	margin: 0;
}

.fe-newsletter-form .wpcf7-form label {
	display: none;
}

.fe-newsletter-form .wpcf7-form input[type="email"],
.fe-newsletter-form .wpcf7-form input[type="text"] {
	border-radius: 9999px;
	flex: 1 1 auto;
	min-width: 0;
}

.fe-newsletter-form .wpcf7-form input[type="submit"],
.fe-newsletter-form .wpcf7-form button[type="submit"] {
	border-radius: 9999px;
	flex-shrink: 0;
	white-space: nowrap;
}
