/**
 * Villa Antares global frontend foundation.
 *
 * Section-specific styles belong to their respective implementation tasks.
 */

:root {
	--villa-antares-content-width: var(--wp--style--global--content-size, 45rem);
	--villa-antares-wide-width: var(--wp--style--global--wide-size, 90rem);
	--villa-antares-gutter: var(--wp--preset--spacing--sm, 1.25rem);
	--villa-antares-touch-target: 2.75rem;
	--villa-antares-safe-area-top: env(safe-area-inset-top, 0px);
	--villa-antares-safe-area-right: env(safe-area-inset-right, 0px);
	--villa-antares-safe-area-bottom: env(safe-area-inset-bottom, 0px);
	--villa-antares-safe-area-left: env(safe-area-inset-left, 0px);
}

html {
	box-sizing: border-box;
	background-color: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--primary);
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	background-color: inherit;
	color: inherit;
	font-family: inherit;
}

:where(p, li, dd, blockquote, figcaption, a) {
	overflow-wrap: anywhere;
}

:where(img, picture, video, canvas, svg, iframe) {
	display: block;
	max-width: 100%;
}

:where(img, video) {
	height: auto;
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.villa-antares-container {
	width: 100%;
	max-width: calc(
		var(--villa-antares-wide-width) + (var(--villa-antares-gutter) * 2)
	);
	margin-inline: auto;
	padding-inline-start: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	);
	padding-inline-end: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
}

.villa-antares-reading-width {
	width: 100%;
	max-width: var(--villa-antares-content-width);
	margin-inline: auto;
}

/*
 * Safe gutter breakout for media placed directly inside the project container.
 * It reaches the viewport edges on small screens without using viewport units.
 */
.villa-antares-container > .villa-antares-full-bleed {
	width: auto;
	max-width: none;
	margin-inline-start: calc(
		-1 * max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-left)
		)
	);
	margin-inline-end: calc(
		-1 * max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-right)
		)
	);
}

.villa-antares-touch-target {
	display: inline-flex;
	min-width: var(--villa-antares-touch-target);
	min-height: var(--villa-antares-touch-target);
	align-items: center;
	justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	[data-villa-antares-motion] {
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
		transition-duration: 0.01ms;
	}
}

/**
 * Header and fullscreen navigation.
 *
 * Blocksy owns the Header Builder row. The child theme keeps the public Header
 * static, limits transparency to desktop and defines the shared overlay panel.
 */

:root {
	--villa-antares-header-height: 4.75rem;
	--villa-antares-header-layer: 10020;
	--villa-antares-menu-layer: 10010;
	--villa-antares-menu-duration: 560ms;
	--villa-antares-menu-easing: cubic-bezier(0.76, 0, 0.24, 1);
	--villa-antares-overlay-menu-font-size:
		var(--wp--preset--font-size--heading-small);
}

#header {
	position: relative;
	z-index: var(--villa-antares-header-layer);
}

#header [data-row="middle"] {
	--height: var(--villa-antares-header-height);
	min-height: var(--villa-antares-header-height);
	border: 0;
	background: var(--wp--preset--color--text);
	box-shadow: none;
	transition:
		min-height 220ms ease,
		background-color 220ms ease;
}

#header [data-row="middle"][data-transparent-row="yes"] {
	background: transparent;
}

#header [data-row="middle"] > div {
	min-height: inherit;
}

#header [data-row="middle"] .ct-container-fluid {
	width: 100%;
	padding-inline-start: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	);
	padding-inline-end: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
}

#header [data-column="middle"] {
	justify-content: center;
}

#header [data-column="end"] {
	justify-content: flex-end;
}

#header [data-id="logo"] .site-title {
	margin: 0;
	color: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--primary);
	font-size: clamp(0.8rem, 3.7vw, 1rem);
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 220ms ease;
}

#header [data-id="logo"] .site-title a {
	color: inherit;
}

/* The villa name is already part of the opening video. */
.home #header [data-id="logo"] .site-title {
	display: none;
}

#header .villa-antares-menu-toggle {
	--villa-antares-menu-toggle-width: 4rem;
	--villa-antares-menu-toggle-line-width: 2.1rem;
	position: relative;
	display: inline-grid;
	inline-size: var(--villa-antares-menu-toggle-width);
	min-inline-size: var(--villa-antares-touch-target);
	block-size: var(--villa-antares-touch-target);
	min-block-size: var(--villa-antares-touch-target);
	padding: 0;
	place-items: center;
	border: 0;
	color: var(--wp--preset--color--surface);
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

#header .villa-antares-menu-toggle .ct-icon {
	display: none;
}

#header .villa-antares-menu-toggle .ct-label {
	color: inherit;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
	transition: opacity 180ms ease;
}

#header .villa-antares-menu-toggle::before,
#header .villa-antares-menu-toggle::after {
	position: absolute;
	inset-inline-start: 0;
	inline-size: var(--villa-antares-menu-toggle-line-width);
	block-size: 2px;
	background: currentColor;
	content: "";
	transform-origin: center;
	transition:
		inset-inline-start 360ms var(--villa-antares-menu-easing),
		inline-size 360ms var(--villa-antares-menu-easing),
		inset-block-start 260ms ease,
		transform 260ms ease;
}

#header .villa-antares-menu-toggle::before {
	inset-block-start: 0;
	inset-inline-start: calc(
		100% - var(--villa-antares-menu-toggle-line-width)
	);
}

#header .villa-antares-menu-toggle::after {
	inset-block-start: calc(100% - 2px);
}

#header
	.villa-antares-menu-toggle:is(:hover, :focus-visible)::before,
#header
	.villa-antares-menu-toggle:is(:hover, :focus-visible)::after {
	inset-inline-start: 0;
	inline-size: 100%;
}

#header .ct-header-socials {
	justify-content: flex-end;
	color: var(--wp--preset--color--surface);
}

#header .ct-header-socials .ct-social-box a {
	min-width: var(--villa-antares-touch-target);
	min-height: var(--villa-antares-touch-target);
	color: inherit;
}

.villa-antares-menu-open #header [data-row="middle"] {
	background: transparent;
}

.villa-antares-menu-open #header {
	position: fixed;
	z-index: calc(var(--villa-antares-menu-layer) - 1);
	inset: 0 0 auto;
	inline-size: 100%;
}

.villa-antares-menu-open #header [data-id="logo"] .site-title,
.villa-antares-menu-open #header .villa-antares-menu-toggle,
.villa-antares-menu-open #header .ct-header-socials {
	color: var(--wp--preset--color--text);
}

.villa-antares-menu-open #header .villa-antares-menu-toggle .ct-label {
	opacity: 0;
}

.villa-antares-menu-open #header .villa-antares-menu-toggle::before {
	inset-block-start: 50%;
	inset-inline-start: 50%;
	inline-size: 2rem;
	transform: translate(-50%, -50%) rotate(45deg);
}

.villa-antares-menu-open #header .villa-antares-menu-toggle::after {
	inset-block-start: 50%;
	inset-inline-start: 50%;
	inline-size: 2rem;
	transform: translate(-50%, -50%) rotate(-45deg);
}

html.villa-antares-menu-open,
html.villa-antares-menu-open body {
	overflow: hidden;
}

html.villa-antares-menu-open body {
	position: fixed;
	inset: calc(-1 * var(--villa-antares-locked-scroll, 0px)) 0 auto;
	width: 100%;
}

.villa-antares-menu {
	position: fixed;
	z-index: var(--villa-antares-menu-layer);
	inset: 0;
	height: 100vh;
	overflow: hidden;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--canvas);
	transform: translateY(-100%);
	visibility: hidden;
	transition:
		transform var(--villa-antares-menu-duration)
			var(--villa-antares-menu-easing),
		visibility 0s linear var(--villa-antares-menu-duration);
}

@supports (height: 100dvh) {
	.villa-antares-menu {
		height: 100dvh;
	}
}

.villa-antares-menu-open .villa-antares-menu {
	transform: translateY(0);
	visibility: visible;
	transition:
		transform var(--villa-antares-menu-duration)
			var(--villa-antares-menu-easing),
		visibility 0s;
}

.villa-antares-menu__close {
	position: absolute;
	z-index: 1;
	inset-block-start: max(1rem, var(--villa-antares-safe-area-top));
	inset-inline-end: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	display: inline-grid;
	inline-size: var(--villa-antares-touch-target);
	block-size: var(--villa-antares-touch-target);
	padding: 0;
	place-items: center;
	border: 0;
	color: var(--wp--preset--color--text);
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: color 180ms ease;
}

.villa-antares-menu__close:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--accent);
}

.villa-antares-menu__close svg {
	inline-size: 2rem;
	block-size: 2rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-width: 2;
}

.villa-antares-menu__scroll {
	height: 100%;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.villa-antares-menu__content {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	padding-top: calc(
		var(--villa-antares-header-height) +
		var(--villa-antares-safe-area-top) +
		var(--wp--preset--spacing--md, 2rem)
	);
	padding-bottom: max(
		var(--wp--preset--spacing--md, 2rem),
		var(--villa-antares-safe-area-bottom)
	);
}

.villa-antares-menu__navigation {
	display: flex;
	flex: 1 0 auto;
	align-items: flex-start;
}

.villa-antares-menu__list {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.villa-antares-menu__list > li {
	margin: 0;
	opacity: 0;
	transform: translateY(-0.75rem);
	transition:
		opacity 260ms ease,
		transform 320ms ease;
}

.villa-antares-menu-open .villa-antares-menu__list > li {
	opacity: 1;
	transform: translateY(0);
	transition-delay: calc(
		100ms + (var(--villa-antares-menu-index, 0) * 35ms)
	);
}

.villa-antares-menu__list > li:nth-child(1) {
	--villa-antares-menu-index: 1;
}

.villa-antares-menu__list > li:nth-child(2) {
	--villa-antares-menu-index: 2;
}

.villa-antares-menu__list > li:nth-child(3) {
	--villa-antares-menu-index: 3;
}

.villa-antares-menu__list > li:nth-child(4) {
	--villa-antares-menu-index: 4;
}

.villa-antares-menu__list > li:nth-child(5) {
	--villa-antares-menu-index: 5;
}

.villa-antares-menu__list > li:nth-child(6) {
	--villa-antares-menu-index: 6;
}

.villa-antares-menu__list a {
	position: relative;
	display: inline-block;
	max-width: 100%;
	padding-block: clamp(0.28rem, 1vh, 0.65rem);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--villa-antares-overlay-menu-font-size);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 0.98;
	text-decoration: none;
	text-transform: uppercase;
}

.villa-antares-menu__list a::after {
	position: absolute;
	right: 0;
	bottom: 0.22rem;
	left: 0;
	height: 2px;
	background: var(--wp--preset--color--accent);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 220ms ease;
}

.villa-antares-menu__list a:hover,
.villa-antares-menu__list a:focus-visible,
.villa-antares-menu__list a[aria-current="location"] {
	color: var(--wp--preset--color--accent);
}

.villa-antares-menu__list a:hover::after,
.villa-antares-menu__list a:focus-visible::after,
.villa-antares-menu__list a[aria-current="location"]::after {
	transform: scaleX(1);
}

.villa-antares-menu__socials {
	flex: 0 0 auto;
	padding-top: var(--wp--preset--spacing--md, 2rem);
}

.villa-antares-menu__socials .ct-social-box {
	gap: 0.75rem;
}

.villa-antares-menu__socials .ct-social-box a {
	display: inline-flex;
	min-width: var(--villa-antares-touch-target);
	min-height: var(--villa-antares-touch-target);
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--text);
}

@media (min-width: 62.5rem) {
	:root {
		--villa-antares-header-height: 5.75rem;
	}

	#header [data-id="logo"] .site-title {
		font-size: clamp(1rem, 1.15vw, 1.25rem);
	}

	#header .villa-antares-menu-toggle {
		--villa-antares-menu-toggle-width: 4.25rem;
		--villa-antares-menu-toggle-line-width: 2.25rem;
	}

	#header .villa-antares-menu-toggle .ct-label {
		font-size: 1.05rem;
	}

	.villa-antares-menu__content {
		padding-top: calc(
			var(--villa-antares-header-height) +
			var(--villa-antares-safe-area-top) +
			var(--wp--preset--spacing--lg, 3.5rem)
		);
		padding-bottom: max(
			var(--wp--preset--spacing--lg, 3.5rem),
			var(--villa-antares-safe-area-bottom)
		);
	}

	.villa-antares-menu__navigation {
		align-items: flex-start;
	}

	.villa-antares-menu__list {
		max-width: min(70rem, 74vw);
	}

	.villa-antares-menu__list a {
		padding-block: clamp(0.22rem, 0.7vh, 0.5rem);
	}

	.villa-antares-menu__socials {
		display: none;
	}
}

@media (max-height: 34rem) {
	.villa-antares-menu__content {
		padding-top: calc(
			var(--villa-antares-header-height) +
			var(--villa-antares-safe-area-top) +
			1rem
		);
	}

	.villa-antares-menu__navigation {
		align-items: flex-start;
	}

	.villa-antares-menu__list a {
		padding-block: 0.2rem;
	}
}

@media (max-width: 999.98px) and (orientation: landscape) and (max-height: 34rem) {
	#header [data-device="mobile"] [data-row="middle"] .ct-container-fluid {
		position: relative;
	}

	#header [data-device="mobile"] [data-column="middle"] {
		position: absolute;
		inset-inline-end: max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-right)
		);
		inline-size: auto;
	}
}

@media (max-width: 999.98px) {
	#header [data-device="mobile"] [data-row="middle"],
	#header
		[data-device="mobile"]
		[data-row="middle"][data-transparent-row="yes"] {
		background: var(--wp--preset--color--text);
	}

	.villa-antares-menu-open
		#header
		[data-device="mobile"]
		[data-row="middle"] {
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.villa-antares-menu,
	.villa-antares-menu__list > li,
	.villa-antares-menu__list a::after,
	#header [data-row="middle"],
	#header [data-id="logo"] .site-title,
	#header .villa-antares-menu-toggle::before,
	#header .villa-antares-menu-toggle::after,
	#header .villa-antares-menu-toggle .ct-label {
		transition-duration: 0.01ms;
		transition-delay: 0s;
	}
}

/**
 * Full-width Gutenberg gallery with an optional Swiper enhancement.
 */
.entry-content > .villa-antares-gallery,
.entry-content.is-layout-constrained > .villa-antares-gallery,
.villa-antares-gallery {
	position: relative;
	inline-size: 100%;
	max-inline-size: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.villa-antares-gallery > .wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	inline-size: 100%;
	max-inline-size: none;
	margin: 0;
}

.villa-antares-gallery
	> .wp-block-gallery.has-nested-images
	> figure.wp-block-image:not(#individual-image) {
	display: block;
	inline-size: 100% !important;
	max-inline-size: none;
	block-size: 100vh;
	block-size: 100svh;
	margin: 0;
	overflow: hidden;
}

.villa-antares-gallery
	> .wp-block-gallery.has-nested-images
	> figure.wp-block-image
	img {
	display: block;
	inline-size: 100%;
	block-size: 100% !important;
	object-fit: cover;
	object-position: center;
}

.villa-antares-gallery.swiper {
	block-size: 100vh;
	block-size: 100svh;
	overflow: hidden;
}

.villa-antares-gallery .swiper-notification {
	position: absolute;
	z-index: -1000;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
}

.villa-antares-gallery.swiper
	> .wp-block-gallery.has-nested-images.swiper-wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0;
	block-size: 100%;
}

.villa-antares-gallery.swiper
	> .wp-block-gallery.has-nested-images
	> figure.wp-block-image.swiper-slide:not(#individual-image) {
	flex: 0 0 100%;
	inline-size: 100% !important;
	block-size: 100%;
}

.villa-antares-gallery__arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	display: grid;
	place-items: center;
	inline-size: 3rem;
	block-size: 3rem;
	padding: 0;
	border: 1px solid rgb(255 253 248 / 72%);
	border-radius: 50%;
	color: #fffdf8;
	background: rgb(18 18 18 / 42%);
	box-shadow: none;
	transform: translateY(-50%);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		opacity 180ms ease;
}

.villa-antares-gallery__arrow--previous {
	inset-inline-start: max(1rem, var(--villa-antares-safe-area-left));
}

.villa-antares-gallery__arrow--next {
	inset-inline-end: max(1rem, var(--villa-antares-safe-area-right));
}

.villa-antares-gallery__arrow svg {
	inline-size: 1.25rem;
	block-size: 1.25rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.villa-antares-gallery__arrow:hover {
	border-color: #fffdf8;
	background: rgb(18 18 18 / 62%);
}

.villa-antares-gallery__arrow:focus-visible {
	outline: 2px solid #fffdf8;
	outline-offset: 3px;
}

.villa-antares-gallery__arrow:disabled,
.villa-antares-gallery__arrow.is-disabled {
	opacity: 0.38;
	cursor: default;
}

@media (prefers-reduced-motion: reduce) {
	.villa-antares-gallery__arrow {
		transition-duration: 0.01ms;
	}
}

/**
 * Fullscreen Hero Video.
 */

.villa-antares-hero {
	position: relative;
	isolation: isolate;
	inline-size: 100%;
	max-inline-size: none;
	block-size: 100vh;
	block-size: 100svh;
	margin: 0;
	overflow: hidden;
	color: #fff;
	background: #171714;
}

.villa-antares-hero::before,
.villa-antares-hero::after {
	position: absolute;
	z-index: 2;
	right: 0;
	left: 0;
	pointer-events: none;
	content: "";
}

.villa-antares-hero::before {
	top: 0;
	block-size: min(32%, 15rem);
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.34),
		rgba(0, 0, 0, 0)
	);
}

.villa-antares-hero::after {
	bottom: 0;
	block-size: min(28%, 13rem);
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.3),
		rgba(0, 0, 0, 0)
	);
}

.villa-antares-hero__poster,
.villa-antares-hero__poster img,
.villa-antares-hero__video {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
}

.villa-antares-hero__poster {
	z-index: 0;
	margin: 0;
	opacity: 1;
	transition: opacity 220ms ease;
}

.villa-antares-hero__poster img {
	display: block;
}

.villa-antares-hero__video {
	z-index: 1;
	opacity: 0;
	cursor: pointer;
	transition: opacity 220ms ease;
}

.villa-antares-hero.is-video-playing .villa-antares-hero__poster {
	opacity: 0;
}

.villa-antares-hero.is-video-playing .villa-antares-hero__video {
	opacity: 1;
}

.villa-antares-hero__enter {
	position: absolute;
	z-index: 5;
	inset: 0;
	display: grid;
	place-items: center;
	padding: clamp(1.5rem, 5vw, 3rem);
	color: #fffdf8;
	background:
		linear-gradient(
			180deg,
			rgb(12 12 12 / 48%) 0%,
			rgb(12 12 12 / 62%) 45%,
			rgb(12 12 12 / 78%) 100%
		);
	transition: opacity 420ms ease, visibility 420ms ease;
}

.villa-antares-hero.is-entered .villa-antares-hero__enter {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.villa-antares-hero__enter-inner {
	display: grid;
	justify-items: center;
	gap: clamp(0.85rem, 2.5vw, 1.35rem);
	max-inline-size: 28rem;
	text-align: center;
}

.villa-antares-hero__enter-brand {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.25rem, 8vw, 4.5rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.villa-antares-hero__enter-text {
	margin: 0;
	color: rgb(255 253 248 / 78%);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(0.95rem, 2.4vw, 1.1rem);
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.villa-antares-hero__enter-button {
	display: inline-flex;
	min-inline-size: 10rem;
	min-block-size: 2.75rem;
	align-items: center;
	justify-content: center;
	margin-block-start: clamp(0.5rem, 2vw, 1rem);
	padding: 0.75rem 1.75rem;
	border: 1px solid var(--wp--preset--color--accent, #c6a76b);
	color: var(--wp--preset--color--text, #121212);
	background: var(--wp--preset--color--accent, #c6a76b);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease;
}

.villa-antares-hero__enter-button:hover {
	border-color: #fffdf8;
	color: var(--wp--preset--color--text, #121212);
	background: #fffdf8;
}

.villa-antares-hero__enter-button:focus-visible {
	outline: 2px solid #fffdf8;
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.villa-antares-hero__enter {
		transition: none;
	}
}

/*
 * The supplied landscape master includes a very narrow dark edge along its
 * bottom frame. A restrained centered crop removes it without changing the
 * portrait media or distorting either source.
 */
@media (min-width: 690px), (orientation: landscape) {
	.villa-antares-hero__poster img,
	.villa-antares-hero__video {
		transform: scale(1.03);
	}
}

.villa-antares-hero__copy {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.villa-antares-hero__controls {
	position: absolute;
	z-index: 4;
	right: 50%;
	bottom: calc(2rem + var(--villa-antares-safe-area-bottom));
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.9rem;
	transform: translateX(50%);
}

.villa-antares-hero__controls[hidden],
.villa-antares-hero__fallback[hidden] {
	display: none;
}

.villa-antares-hero__media-controls {
	position: relative;
	display: grid;
	inline-size: clamp(3.75rem, 4.4vw, 4.25rem);
	block-size: clamp(3.75rem, 4.4vw, 4.25rem);
	place-items: center;
}

.villa-antares-hero__control {
	position: relative;
	display: inline-grid;
	grid-area: 1 / 1;
	inline-size: 100%;
	block-size: 100%;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: #cdbb3e;
	box-shadow: 0 0.2rem 1.25rem rgba(0, 0, 0, 0.18);
	cursor: pointer;
	transition:
		background-color 180ms ease,
		opacity 180ms ease,
		transform 180ms ease;
	-webkit-tap-highlight-color: transparent;
}

.villa-antares-hero__control:hover {
	background: #dac94e;
	transform: scale(1.04);
}

.villa-antares-hero__control:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.villa-antares-hero__control:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.villa-antares-hero__icon {
	position: absolute;
	inline-size: 2.4rem;
	block-size: 2.4rem;
	fill: currentColor;
}

.villa-antares-hero__control[data-state="paused"] [data-icon="pause"],
.villa-antares-hero__control[data-state="playing"] [data-icon="play"],
.villa-antares-hero__control[data-state="muted"] [data-icon="sound"],
.villa-antares-hero__control[data-state="sound"] [data-icon="muted"] {
	visibility: hidden;
}

.villa-antares-hero__control--sound {
	opacity: 0;
	pointer-events: none;
}

.villa-antares-hero.is-video-playing
	.villa-antares-hero__control--sound {
	opacity: 1;
	pointer-events: auto;
}

.villa-antares-hero.is-video-playing
	.villa-antares-hero__control--play:not(:focus-visible) {
	opacity: 0;
	pointer-events: none;
}

.villa-antares-hero.is-video-playing
	.villa-antares-hero__control--play:focus-visible {
	z-index: 1;
}

.villa-antares-hero__next {
	display: inline-grid;
	min-inline-size: var(--villa-antares-touch-target);
	min-block-size: var(--villa-antares-touch-target);
	place-items: center;
	color: #fff;
	text-decoration: none;
	filter: drop-shadow(0 0.12rem 0.4rem rgba(0, 0, 0, 0.35));
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.villa-antares-hero__next:hover {
	color: #cdbb3e;
	transform: translateY(0.2rem);
}

.villa-antares-hero__next:focus-visible {
	outline-color: #fff;
}

.villa-antares-hero__next svg {
	inline-size: clamp(2.7rem, 3.3vw, 3.5rem);
	block-size: auto;
	animation: villa-antares-hero-next-float 1s ease-in-out infinite;
}

@keyframes villa-antares-hero-next-float {
	0%,
	100% {
		transform: translateY(-0.18rem);
	}

	50% {
		transform: translateY(0.32rem);
	}
}

.villa-antares-hero__fallback {
	position: absolute;
	z-index: 5;
	right: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	bottom: calc(
		max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-bottom)
		) +
		var(--villa-antares-touch-target) +
		0.75rem
	);
	left: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	);
	max-inline-size: 34rem;
	margin: 0;
	color: #fff;
	font-size: 0.875rem;
	line-height: 1.45;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}

.villa-antares-hero__fallback a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.villa-antares-hero__fallback--noscript {
	display: block;
}

@media (max-width: 689.98px) and (orientation: portrait) {
	.villa-antares-hero__copy {
		z-index: 3;
		top: 47%;
		right: max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-right)
		);
		left: max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-left)
		);
		width: auto;
		height: auto;
		padding: 0;
		margin: 0;
		overflow: visible;
		color: #fff;
		font-family: Arial, Helvetica, sans-serif;
		text-align: center;
		text-shadow:
			0 1px 16px rgba(0, 0, 0, 0.7),
			0 0 2px rgba(0, 0, 0, 0.48);
		white-space: normal;
		clip: auto;
		clip-path: none;
		border: 0;
		transform: translateY(-50%);
	}

	.villa-antares-hero__title {
		margin: 0;
		color: inherit;
		font-family: inherit;
		font-size: clamp(1.75rem, 9vw, 3rem);
		font-weight: 400;
		letter-spacing: 0.075em;
		line-height: 1.05;
		text-transform: uppercase;
	}

	.villa-antares-hero__location {
		margin: 0.75rem 0 0;
		font-size: clamp(0.72rem, 3.4vw, 0.95rem);
		font-weight: 400;
		letter-spacing: 0.12em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.villa-antares-hero__tagline {
		max-inline-size: 31rem;
		margin: 1.25rem auto 0;
		font-size: clamp(0.86rem, 3.7vw, 1.08rem);
		font-weight: 400;
		line-height: 1.45;
	}
}

@media (max-width: 999.98px) {
	.villa-antares-hero {
		block-size: calc(
			100vh - var(--villa-antares-header-height)
		);
		block-size: calc(
			100svh - var(--villa-antares-header-height)
		);
	}
}

@media (max-height: 34rem) {
	.villa-antares-hero__controls {
		bottom: max(0.65rem, var(--villa-antares-safe-area-bottom));
		gap: 0.35rem;
	}

	.villa-antares-hero__media-controls {
		inline-size: 3.25rem;
		block-size: 3.25rem;
	}
}

@media (max-width: 689.98px) and (orientation: portrait) and (max-height: 36rem) {
	.villa-antares-hero__copy {
		top: 45%;
	}

	.villa-antares-hero__location {
		margin-top: 0.5rem;
	}

	.villa-antares-hero__tagline {
		margin-top: 0.75rem;
		line-height: 1.35;
	}
}

@media (prefers-reduced-motion: reduce) {
	.villa-antares-hero__poster,
	.villa-antares-hero__video {
		transition: none;
	}

	.villa-antares-hero__next svg {
		animation: none;
	}
}

/**
 * Hero block editor.
 */

.villa-antares-hero-editor {
	padding: clamp(1rem, 2vw, 2rem);
	color: #27251f;
	background: #f6f2e9;
}

.villa-antares-hero-editor__intro {
	margin-block-end: 1.25rem;
}

.villa-antares-hero-editor__intro h2,
.villa-antares-hero-editor__copy-preview h1 {
	margin: 0;
	color: inherit;
}

.villa-antares-hero-editor__intro p {
	margin: 0.5rem 0 0;
}

.villa-antares-hero-editor__grid {
	display: grid;
	gap: 1rem;
	margin-block-start: 1rem;
}

.villa-antares-hero-editor__media {
	min-width: 0;
	padding: 1rem;
	border: 1px solid #ded8ca;
	background: #fffdf8;
}

.villa-antares-hero-editor__media-heading,
.villa-antares-hero-editor__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.villa-antares-hero-editor__status {
	color: #68645a;
	font-size: 0.75rem;
	text-transform: uppercase;
}

.villa-antares-hero-editor__poster {
	width: 100%;
	max-height: 15rem;
	margin-block-start: 0.75rem;
	object-fit: contain;
	background: #27251f;
}

.villa-antares-hero-editor__details {
	margin: 0.75rem 0;
	color: #68645a;
	font-size: 0.875rem;
	overflow-wrap: anywhere;
}

.villa-antares-hero-editor__copy-preview {
	padding: clamp(1.5rem, 4vw, 3rem) 1rem;
	margin-block-start: 1rem;
	color: #fff;
	text-align: center;
	background: #27251f;
}

.villa-antares-hero-editor__copy-preview p {
	margin: 0.65rem auto 0;
}

@media (min-width: 48rem) {
	.villa-antares-hero-editor__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/**
 * Introduction.
 */

.villa-antares-introduction {
	position: relative;
	inline-size: 100%;
	max-inline-size: none;
	padding-block: var(--wp--preset--spacing--lg, 3rem);
	padding-inline-start: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	);
	padding-inline-end: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	margin: 0;
	scroll-margin-top: 1rem;
	background: var(--wp--preset--color--canvas);
}

.villa-antares-introduction__layout {
	--villa-antares-editorial-overlap: clamp(2rem, 3vw, 3.5rem);

	display: grid;
	inline-size: 100%;
	max-inline-size: 94rem;
	isolation: isolate;
	margin-inline: auto;
}

.villa-antares-introduction__text-top,
.villa-antares-introduction__text-bottom {
	position: relative;
	z-index: 2;
	min-inline-size: 0;
	padding-inline: clamp(1.25rem, 6vw, 2rem);
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--surface);
}

.villa-antares-introduction__text-top {
	padding-block: clamp(6rem, 28vw, 7.5rem) 0;
}

.villa-antares-introduction__text-bottom {
	padding-block: 0 clamp(3rem, 14vw, 5rem);
}

.villa-antares-introduction__decorative {
	position: absolute;
	inset-block-start: clamp(2.5rem, 12vw, 4rem);
	inset-inline-start: clamp(1.25rem, 6vw, 2rem);
	max-inline-size: calc(100% - clamp(2.5rem, 12vw, 4rem));
	color: rgba(39, 37, 31, 0.07);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.25rem, 11vw, 5rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1;
	white-space: nowrap;
}

.villa-antares-introduction__marker {
	display: flex;
	align-items: center;
	gap: clamp(0.65rem, 3vw, 1rem);
	color: var(--wp--preset--color--accent);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(0.9rem, 3.8vw, 1.05rem);
	font-weight: 400;
	line-height: 1.2;
}

.villa-antares-introduction__marker-line {
	inline-size: clamp(2.75rem, 14vw, 4rem);
	block-size: 1px;
	background: var(--wp--preset--color--muted);
}

.villa-antares-introduction__title {
	max-inline-size: 10ch;
	margin: clamp(2rem, 9vw, 3rem) 0 0;
	color: var(--wp--preset--color--text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.25rem, 11vw, 4rem);
	font-weight: 400;
	letter-spacing: 0.085em;
	line-height: 1.02;
	overflow-wrap: normal;
	text-transform: uppercase;
	word-break: normal;
}

.villa-antares-introduction__lead,
.villa-antares-introduction__body {
	max-inline-size: 64ch;
	margin-block-start: clamp(2rem, 9vw, 3rem);
	color: var(--wp--preset--color--muted);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(1rem, 0.975rem + 0.15vw, 1.075rem);
	line-height: 1.65;
}

.villa-antares-introduction__lead > p,
.villa-antares-introduction__body > p {
	margin: 0 0 30px 0;
}

.villa-antares-introduction__body > p + p {
	margin-block-start: 0.9rem;
}

.villa-antares-introduction__body > p:last-child {
	margin-block-start: 1.4rem;
	color: var(--wp--preset--color--text);
	font-weight: 600;
	letter-spacing: 0.04em;
}

.villa-antares-introduction__cta {
	display: inline-flex;
	inline-size: 100%;
	max-inline-size: 31rem;
	min-block-size: var(--villa-antares-touch-target);
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	margin-block-start: clamp(2rem, 9vw, 3rem);
	border: 2px solid currentColor;
	border-radius: 999px;
	color: var(--wp--preset--color--text);
	background: transparent;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	overflow-wrap: normal;
	transition:
		color 180ms ease,
		background-color 180ms ease;
}

.villa-antares-introduction__cta:hover {
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--text);
}

.villa-antares-introduction__media {
	position: relative;
	z-index: 1;
	inline-size: 100%;
	aspect-ratio: 4 / 5;
	

	overflow: hidden;
	background: var(--wp--preset--color--border);
}

.villa-antares-introduction__image {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
	object-position:
		var(--villa-antares-introduction-focal-x, 50%)
		var(--villa-antares-introduction-focal-y, 50%);
}

.villa-antares-introduction__vertical-label {
	display: none;
}

@media (min-width: 48rem) {
	.villa-antares-introduction {
		padding-block: var(--wp--preset--spacing--xl, 4rem);
		padding-inline-start: max(
			var(--wp--preset--spacing--md, 2rem),
			var(--villa-antares-safe-area-left)
		);
		padding-inline-end: max(
			var(--wp--preset--spacing--md, 2rem),
			var(--villa-antares-safe-area-right)
		);
	}

	.villa-antares-introduction__text-top,
	.villa-antares-introduction__text-bottom {
		padding-inline: clamp(2.5rem, 7vw, 4rem);
	}

	.villa-antares-introduction__text-top {
		padding-block: clamp(6.5rem, 14vw, 8rem) 0;
	}

	.villa-antares-introduction__text-bottom {
		padding-block: 0 clamp(4rem, 8vw, 5rem);
	}

	.villa-antares-introduction__decorative {
		inset-block-start: clamp(2.75rem, 6vw, 4rem);
		inset-inline-start: clamp(2.5rem, 7vw, 4rem);
		max-inline-size: calc(100% - clamp(5rem, 14vw, 8rem));
		font-size: clamp(4rem, 9vw, 6rem);
	}

	.villa-antares-introduction__marker {
		font-size: 1rem;
	}

	.villa-antares-introduction__title {
		font-size: clamp(3rem, 7vw, 4rem);
	}

}

@media (min-width: 64rem) {
	.villa-antares-introduction {
		padding-block: clamp(6rem, 8vw, 8rem);
		padding-inline: var(--wp--preset--spacing--md, 2rem);
	}

	.villa-antares-introduction__layout {
		grid-template-columns: 1fr;
		/*
		 * The image is 52% wide with a 4:5 aspect-ratio, so it needs
		 * 0.52 * (5/4) = 0.65 of the layout's width in height
		 * (20:13). Giving the layout that exact, definite ratio
		 * means the two flexible spacer rows below (1fr) share a
		 * fixed, predictable amount of leftover space instead of an
		 * open-ended one, so the text-top + text-bottom pair is
		 * reliably centered as one unit against the image — matching
		 * the original single-card, centered overlap layout even
		 * though the markup now has three items.
		 */
		grid-template-rows: 1fr auto auto 1fr;
		aspect-ratio: 20 / 13;
	}

	.villa-antares-introduction__text-top,
	.villa-antares-introduction__text-bottom {
		grid-column: 1;
		z-index: 1;
		inline-size: calc(
			48% + var(--villa-antares-editorial-overlap)
		);
		padding-inline: calc(
			clamp(3rem, 4vw, 4.75rem) +
				var(--villa-antares-editorial-overlap)
		);
		justify-self: start;
	}

	.villa-antares-introduction__text-top {
		grid-row: 2;
		padding-block: clamp(6.5rem, 8vw, 8rem) 0;
	}

	.villa-antares-introduction__text-bottom {
		grid-row: 3;
		padding-block: 0 clamp(3.5rem, 4vw, 4.75rem);
	}

	.villa-antares-introduction__decorative {
		inset-block-start: clamp(2.5rem, 3.5vw, 3.5rem);
		inset-inline-start: clamp(3rem, 4vw, 4.75rem);
		max-inline-size: calc(100% - clamp(6rem, 8vw, 9.5rem));
		font-size: clamp(4rem, 5vw, 5.5rem);
	}

	.villa-antares-introduction__title {
		max-inline-size: none;
		margin-block-start: clamp(1.75rem, 2.5vw, 2.5rem);
		font-size: 4.25rem;
	}

	.villa-antares-introduction__lead,
	.villa-antares-introduction__body {
		font-size: 1rem;
		line-height: 1.6;
	}

	.villa-antares-introduction__lead {
		margin-block-start: clamp(1.75rem, 2.5vw, 2.5rem);
	}

	/*
	 * On desktop the image overlaps beside the text instead of breaking
	 * the flow, so the first "rest" paragraph must sit as close to the
	 * lead paragraph as consecutive paragraphs normally do.
	 */
	.villa-antares-introduction__body {
		margin-block-start: 0.75rem;
	}

	.villa-antares-introduction__body > p + p {
		margin-block-start: 0.75rem;
	}

	.villa-antares-introduction__body > p:last-child {
		margin-block-start: 1.1rem;
	}

	.villa-antares-introduction__cta {
		inline-size: auto;
		min-inline-size: 15rem;
		margin-block-start: clamp(1.75rem, 2.5vw, 2.5rem);
	}

	.villa-antares-introduction__media {
		grid-column: 1;
		grid-row: 1 / 5;
		z-index: 2;
		inline-size: 52%;
		block-size: 100%;
		margin: 0;
		justify-self: end;
	}
}

@media (min-width: 80rem) {
	.villa-antares-introduction__layout {
		inline-size: calc(100% - 5.5rem);
	}

	.villa-antares-introduction__vertical-label {
		position: absolute;
		inset-block-start: 90%;
		inset-inline-end: max(
			1.25rem,
			var(--villa-antares-safe-area-right)
		);
		display: flex;
		align-items: center;
		gap: 1rem;
		color: var(--wp--preset--color--text);
		font-family: Arial, Helvetica, sans-serif;
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.16em;
		line-height: 1;
		text-transform: uppercase;
		transform: translateY(-50%);
		writing-mode: vertical-rl;
	}

	.villa-antares-introduction__vertical-line {
		inline-size: 1px;
		block-size: 7rem;
		background: var(--wp--preset--color--accent);
	}
}

@media (prefers-reduced-motion: reduce) {
	.villa-antares-introduction__cta {
		transition: none;
	}
}

/**
 * About Villa Antares.
 */

.villa-antares-about {
	inline-size: 100%;
	max-inline-size: none;
	padding-block: var(--wp--preset--spacing--xl, 4rem);
	padding-inline: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	) max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	margin: 0;
	background: var(--wp--preset--color--canvas);
	scroll-margin-top: 1rem;
}

.villa-antares-about__rows {
	--villa-antares-editorial-overlap: clamp(2rem, 3vw, 3.5rem);

	display: grid;
	gap: var(--wp--preset--spacing--lg, 3rem);
	max-inline-size: 90rem;
	margin-inline: auto;
}

.villa-antares-about__row {
	display: grid;
	gap: 0;
	min-inline-size: 0;
	isolation: isolate;
	margin: 0;
}

.villa-antares-about__card,
.villa-antares-about__media {
	min-inline-size: 0;
	margin: 0;
}

.villa-antares-about__card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding: clamp(2rem, 8vw, 3.5rem) clamp(1.25rem, 6vw, 2rem);
	color: var(--wp--preset--color--text);
	background: rgb(255 253 248 / 90%);
}

.villa-antares-about__card > * {
	position: relative;
	z-index: 1;
	max-inline-size: 62ch;
	margin: 0;
}

.villa-antares-about__card > * + * {
	margin-block-start: 1rem;
}

.villa-antares-about__card > p {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1rem, 0.975rem + 0.15vw, 1.075rem);
	line-height: 1.65;
}

.villa-antares-about__title,
.villa-antares-about__heading {
	color: var(--wp--preset--color--text);
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.villa-antares-about__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	color: var(--wp--preset--color--accent) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.85rem !important;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.villa-antares-about__eyebrow-number,
.villa-antares-about__eyebrow-label {
	color: inherit;
}

.villa-antares-about__eyebrow-line {
	inline-size: clamp(2.5rem, 10vw, 4rem);
	flex: 0 0 auto;
	block-size: 1px;
	background: var(--wp--preset--color--muted);
}

.villa-antares-about__title {
	font-size: clamp(2rem, 9vw, 3.75rem);
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.villa-antares-about__subtitle {
	color: var(--wp--preset--color--accent) !important;
	font-size: clamp(1rem, 3.6vw, 1.2rem) !important;
	letter-spacing: 0.025em;
}

.villa-antares-about__heading {
	font-size: clamp(1.7rem, 7vw, 2.75rem);
}

.villa-antares-about__media {
	position: relative;
	display: block;
	order: -1;
	inline-size: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--border);
}

.villa-antares-about__media img {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
}

/*.villa-antares-about__card::before {
	position: absolute;
	display: none;
	inset-block-start: clamp(1.5rem, 4vw, 3rem);
	inset-inline-start: clamp(1.25rem, 5vw, 3.5rem);
	max-inline-size: calc(100% - 2.5rem);
	color: rgba(39, 37, 31, 0.07);
	content: "Villa Antares";
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.5rem, 9vw, 5.5rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 1;
	white-space: nowrap;
}
*/
@media (min-width: 64rem) {

	/*
	.villa-antares-about__card::before {
		display: block;
	}*/

	.villa-antares-about {
		padding-block: clamp(6rem, 8vw, 8rem);
		padding-inline: var(--wp--preset--spacing--md, 2rem);
	}

	.villa-antares-about__rows {
		gap: clamp(4rem, 7vw, 7rem);
	}

	.villa-antares-about__row {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
		min-block-size: clamp(34rem, 48vw, 50rem);
		align-items: center;
	}

	.villa-antares-about__row--image-first > .villa-antares-about__media {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.villa-antares-about__row--image-first > .villa-antares-about__card {
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
	}

	.villa-antares-about__row--text-first > .villa-antares-about__card {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.villa-antares-about__row--text-first > .villa-antares-about__media {
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
	}

	.villa-antares-about__card {
		z-index: 2;
		inline-size: calc(
			39% + var(--villa-antares-editorial-overlap)
		);
		min-block-size: clamp(25rem, 32vw, 34rem);
		padding-block: clamp(3rem, 4.5vw, 5rem);
		padding-inline: clamp(2.25rem, 3.5vw, 4rem);
		background: rgb(255 253 248 / 84%);
	}

	.villa-antares-about__media {
		z-index: 1;
		inline-size: 61%;
		block-size: 100%;
		min-block-size: clamp(34rem, 48vw, 50rem);
		aspect-ratio: auto;
	}

	.villa-antares-about__card::after {
		position: absolute;
		inset-block: 34%;
		inset-inline-end: clamp(1.5rem, 3vw, 3rem);
		z-index: 1;
		inline-size: 1px;
		background: var(--wp--preset--color--accent);
		content: "";
	}

	.villa-antares-about__title {
		font-size: clamp(2.25rem, 3.25vw, 3.25rem);
	}

	.villa-antares-about__heading {
		font-size: clamp(1.6rem, 2.2vw, 2.25rem);
	}

	.villa-antares-about__subtitle {
		font-size: clamp(0.95rem, 1.1vw, 1.1rem) !important;
	}

	.villa-antares-about__card > p {
		font-size: clamp(0.9rem, 0.8rem + 0.25vw, 1rem);
		line-height: 1.55;
	}
}

/**
 * Introduction block editor.
 */

.villa-antares-introduction-editor {
	display: grid;
	gap: 1.25rem;
	padding: clamp(1rem, 2vw, 2rem);
	color: #27251f;
	background: #f6f2e9;
}

.villa-antares-introduction-editor__text,
.villa-antares-introduction-editor__media {
	min-inline-size: 0;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	background: #fffdf8;
}

.villa-antares-introduction-editor__decorative {
	display: block;
	margin-block-end: 1rem;
	color: #9f9a8f;
	font-size: clamp(2rem, 5vw, 4rem);
	font-style: italic;
	line-height: 1;
}

.villa-antares-introduction-editor__marker {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: #b08354;
}

.villa-antares-introduction-editor__marker > span:nth-child(2) {
	inline-size: 3rem;
	block-size: 1px;
	background: #68645a;
}

.villa-antares-introduction-editor__title {
	margin: 1.5rem 0;
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.05;
}

.villa-antares-introduction-editor__body {
	color: #68645a;
	line-height: 1.65;
}

.villa-antares-introduction-editor__body p {
	margin-block: 0 0.75rem;
}

.villa-antares-introduction-editor__cta {
	display: flex;
	min-block-size: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	margin-block-start: 1.5rem;
	border: 2px solid #27251f;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.villa-antares-introduction-editor__media img,
.villa-antares-introduction-editor__placeholder {
	inline-size: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #ded8ca;
}

.villa-antares-introduction-editor__placeholder {
	display: grid;
	padding: 1.5rem;
	place-items: center;
	color: #68645a;
	text-align: center;
}

.villa-antares-introduction-editor__media-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block-start: 1rem;
}

@media (min-width: 64rem) {
	.villa-antares-introduction-editor {
		grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr);
	}
}

/**
 * Sustainable Luxury.
 */

.villa-antares-sustainability {
	--villa-antares-sustainability-padding-block:
		var(--wp--preset--spacing--xl, 4rem);
	--villa-antares-sustainability-padding-inline-start:
		max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-left)
		);
	--villa-antares-sustainability-padding-inline-end:
		max(
			var(--villa-antares-gutter),
			var(--villa-antares-safe-area-right)
		);
	display: grid;
	inline-size: 100%;
	max-inline-size: none;
	gap: 0;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--text);
	scroll-margin-top: 1rem;
}

.villa-antares-sustainability::after {
	inline-size: 100%;
	min-block-size: 0;
	background-image: url("../img/villa-antares-sustainability.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	content: "";
}

.villa-antares-sustainability__inner {
	inline-size: 100%;
	max-inline-size: calc(
		90rem +
		var(--villa-antares-sustainability-padding-inline-start) +
		var(--villa-antares-sustainability-padding-inline-end)
	);
	padding-block: var(--villa-antares-sustainability-padding-block);
	padding-inline:
		var(--villa-antares-sustainability-padding-inline-start)
		var(--villa-antares-sustainability-padding-inline-end);
	margin-inline: auto;
}

.villa-antares-sustainability__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	color: var(--wp--preset--color--accent);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.villa-antares-sustainability__eyebrow-number,
.villa-antares-sustainability__eyebrow-label {
	color: inherit;
}

.villa-antares-sustainability__eyebrow-line {
	inline-size: clamp(2.5rem, 10vw, 4rem);
	flex: 0 0 auto;
	block-size: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 55%, transparent);
}

.villa-antares-sustainability__title {
	/*max-inline-size: 12ch;*/
	margin: clamp(1.5rem, 6vw, 2.5rem) 0 0;
	color: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.5rem, 12vw, 5.5rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	overflow-wrap: anywhere;
}

.villa-antares-sustainability__intro {
	/*max-inline-size: 54ch;*/
	margin: clamp(2rem, 8vw, 3rem) 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 78%, transparent);
	font-size: clamp(1.05rem, 1rem + 0.25vw, 1.25rem);
	line-height: 1.6;
}

.villa-antares-sustainability__intro
{
	margin-block-start: 1.25rem;
}

.villa-antares-sustainability__list {
	display: grid;
	gap: 0;
	margin-block-start: clamp(2.5rem, 10vw, 4.5rem);
	border-block-start: 1px solid rgb(255 253 248 / 28%);
}

.villa-antares-sustainability__item {
	display: grid !important;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
	min-inline-size: 0;
	padding-block: 1.25rem;
	margin: 0 !important;
	border-block-end: 1px solid rgb(255 253 248 / 28%);
}

.villa-antares-sustainability__item > p {
	min-inline-size: 0;
	margin: 0;
	color: inherit;
	font-size: clamp(1rem, 0.975rem + 0.12vw, 1.075rem);
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.villa-antares-sustainability__item > .villa-antares-sustainability__number {
	color: var(--wp--preset--color--accent);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.7;
}

.villa-antares-sustainability__outro {
	/*max-inline-size: 62ch;*/
	padding-inline-start: clamp(1.25rem, 5vw, 3rem);
	margin: clamp(3rem, 11vw, 5rem) 0 0;
	border-inline-start: 1px solid var(--wp--preset--color--accent);
	color: inherit;
	font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.5rem);
	line-height: 1.5;
}

.villa-antares-sustainability__view {
	margin: clamp(2.5rem, 9vw, 4rem) 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 78%, transparent);
	font-size: clamp(1.05rem, 1rem + 0.25vw, 1.25rem);
	line-height: 1.6;
}

@media (max-width: 63.999rem) {
	.villa-antares-sustainability {
		grid-template-rows: auto auto;
	}

	.villa-antares-sustainability::after {
		block-size: auto;
		aspect-ratio: 4 / 3;
		min-block-size: 0;
		background-image: url("../img/villa-antares-sustainability-960.webp");
	}
}

@media (min-width: 64rem) {
	.villa-antares-sustainability {
		--villa-antares-sustainability-padding-block:
			clamp(6rem, 9vw, 9rem);
		--villa-antares-sustainability-padding-inline-start:
			var(--wp--preset--spacing--md, 2rem);
		--villa-antares-sustainability-padding-inline-end:
			var(--wp--preset--spacing--md, 2rem);
	}

	.villa-antares-sustainability__title {
		font-size: 4.25rem;
	}

	.villa-antares-sustainability__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(4, auto);
		grid-auto-flow: column;
		column-gap: clamp(3rem, 8vw, 9rem);
	}

	.villa-antares-sustainability__outro {
		margin-inline-start: auto;
	}
}

/**
 * Features.
 */

.villa-antares-features {
	inline-size: 100%;
	max-inline-size: none;
	padding-block: var(--wp--preset--spacing--xl, 4rem);
	padding-inline: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	) max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	margin: 0;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--canvas);
	scroll-margin-top: 1rem;
}

.villa-antares-features__inner {
	inline-size: 100%;
	max-inline-size: 90rem;
	margin-inline: auto;
}

.villa-antares-features__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	color: var(--wp--preset--color--accent) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.85rem !important;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.villa-antares-features__eyebrow-number,
.villa-antares-features__eyebrow-label {
	color: inherit;
}

.villa-antares-features__eyebrow-line {
	inline-size: clamp(2.5rem, 10vw, 4rem);
	flex: 0 0 auto;
	block-size: 1px;
	background: var(--wp--preset--color--muted);
}

.villa-antares-features__title {
	margin: clamp(1.5rem, 6vw, 2.5rem) 0 0;
	color: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.75rem, 12vw, 5.5rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	overflow-wrap: anywhere;
}

.villa-antares-features__categories {
	display: grid;
	margin-block-start: clamp(3rem, 11vw, 5rem);
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.villa-antares-features__category {
	min-inline-size: 0;
	padding-block: clamp(2rem, 7vw, 3rem);
	border-block-end: 1px solid var(--wp--preset--color--border);
}

.villa-antares-features__category-heading {
	display: flex !important;
	gap: 0.75rem;
	align-items: center;
	margin: 0;
}

.villa-antares-features__category-number {
	flex: 0 0 auto;
	margin: 0;
	color: var(--wp--preset--color--accent);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.villa-antares-features__category-title {
	display: flex;
	flex: 1 1 auto;
	gap: 0.75rem;
	align-items: center;
	min-inline-size: 0;
	margin: 0;
	color: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(1.4rem, 6vw, 2rem);
	font-weight: 400;
	line-height: 1.1;
}

.villa-antares-features__category-title::after {
	flex: 1 1 auto;
	block-size: 1px;
	background: var(--wp--preset--color--border);
	content: "";
}

.villa-antares-features__list {
	padding: 0;
	margin: clamp(1.5rem, 6vw, 2.25rem) 0 0;
	list-style: none;
	color: var(--wp--preset--color--muted);
	font-size: clamp(0.975rem, 0.95rem + 0.12vw, 1.05rem);
	line-height: 1.5;
}

.villa-antares-features__list li {
	position: relative;
	padding-inline-start: 1rem;
	margin: 0;
	overflow-wrap: anywhere;
}

.villa-antares-features__list li::before {
	position: absolute;
	inset-block-start: 0.72em;
	inset-inline-start: 0;
	inline-size: 0.28rem;
	block-size: 1px;
	background: var(--wp--preset--color--accent);
	content: "";
}

.villa-antares-features__list li + li {
	margin-block-start: 0.6rem;
}

@media (min-width: 64rem) {
	.villa-antares-features {
		padding-block: clamp(6rem, 9vw, 9rem);
		padding-inline: var(--wp--preset--spacing--md, 2rem);
	}

	.villa-antares-features__title {
		font-size: 4.25rem;
	}

	.villa-antares-features__categories {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.villa-antares-features__category {
		padding: clamp(2.5rem, 4vw, 4.5rem) clamp(2rem, 4vw, 4rem);
		border-block-end: 0;
	}

	.villa-antares-features__category:first-child {
		padding-inline-start: 0;
	}

	.villa-antares-features__category + .villa-antares-features__category {
		border-inline-start: 1px solid var(--wp--preset--color--border);
	}

	.villa-antares-features__category:last-child {
		padding-inline-end: 0;
	}
}

/**
 * Location.
 */

.villa-antares-location {
	inline-size: 100%;
	max-inline-size: none;
	padding-block-start: var(--wp--preset--spacing--xl, 4rem);
	padding-inline: max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-left)
	) max(
		var(--villa-antares-gutter),
		var(--villa-antares-safe-area-right)
	);
	margin: 0;
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--text);
	scroll-margin-top: 1rem;
}

.villa-antares-location__inner {
	inline-size: 100%;
	max-inline-size: 90rem;
	margin-inline: auto;
}

.villa-antares-location__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	color: var(--wp--preset--color--accent) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.85rem !important;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.villa-antares-location__eyebrow-number,
.villa-antares-location__eyebrow-label {
	color: inherit;
}

.villa-antares-location__eyebrow-line {
	inline-size: clamp(2.5rem, 10vw, 4rem);
	flex: 0 0 auto;
	block-size: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 55%, transparent);
}

.villa-antares-location__title {
	margin: clamp(1.5rem, 6vw, 2.5rem) 0 0;
	color: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.75rem, 12vw, 5.5rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	overflow-wrap: anywhere;
}

.villa-antares-location__intro {
	/*max-inline-size: 62ch;*/
	margin: clamp(2rem, 8vw, 3rem) 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 78%, transparent);
	font-size: clamp(1.05rem, 1rem + 0.25vw, 1.25rem);
	line-height: 1.6;
}

.villa-antares-location__distances {
	display: grid;
	margin-block-start: clamp(3rem, 11vw, 5rem);
	border-block-start: 1px solid rgb(255 253 248 / 28%);
}

.villa-antares-location__distance {
	--villa-antares-location-distance-padding: clamp(1.25rem, 2vw, 2.5rem);
	min-inline-size: 0;
	padding-block: 1.5rem;
	border-block-end: 1px solid rgb(255 253 248 / 28%);
}

.villa-antares-location__distance-value,
.villa-antares-location__distance-label {
	margin: 0;
}

.villa-antares-location__distance-value {
	color: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(1.65rem, 7vw, 2.5rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.villa-antares-location__distance-label {
	margin-block-start: 0.55rem;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 78%, transparent);
	font-size: clamp(0.9rem, 0.875rem + 0.1vw, 1rem);
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.villa-antares-map {
	display: block;
	inline-size: 100%;
	max-inline-size: none;
	aspect-ratio: 4 / 3;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--wp--preset--color--border);
}

.entry-content.is-layout-constrained > .villa-antares-map {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.villa-antares-map__embed,
.villa-antares-map__embed iframe {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 100%;
}

.villa-antares-map__embed {
	block-size: 100%;
	min-block-size: 20rem;
}

.villa-antares-map__embed iframe {
	border: 0;
}

@media (max-width: 63.999rem) {
	.entry-content > .villa-antares-gallery,
	.entry-content.is-layout-constrained > .villa-antares-gallery,
	.entry-content > .villa-antares-sustainability,
	.entry-content.is-layout-constrained > .villa-antares-sustainability,
	.entry-content > .villa-antares-map,
	.entry-content.is-layout-constrained > .villa-antares-map {
		inline-size: 100vw;
		max-inline-size: 100vw !important;
		margin-inline: calc(50% - 50vw) !important;
	}

	.entry-content > .villa-antares-map,
	.entry-content.is-layout-constrained > .villa-antares-map {
		block-size: 100vh;
		block-size: 100svh;
		aspect-ratio: auto;
	}
}

@media (min-width: 37.5rem) {
	.villa-antares-location__distances {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.villa-antares-location__distance {
		padding-inline: clamp(1.5rem, 5vw, 3rem);
	}

	.villa-antares-location__distance:nth-child(odd) {
		padding-inline-start: 0;
	}

	.villa-antares-location__distance:nth-child(even) {
		border-inline-start: 1px solid rgb(255 253 248 / 28%);
	}
}

@media (min-width: 64rem) {
	.villa-antares-location {
		padding-block-start: clamp(6rem, 9vw, 9rem);
		padding-inline: var(--wp--preset--spacing--md, 2rem);
	}

	.villa-antares-location__title {
		font-size: 4.25rem;
	}

	.villa-antares-location__distances {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.villa-antares-location__distance {
		padding-block: clamp(1.75rem, 3vw, 3rem);
		padding-inline: var(--villa-antares-location-distance-padding);
		border-block-end: 0;
	}

	.villa-antares-location__distance + .villa-antares-location__distance {
		border-inline-start: 1px solid rgb(255 253 248 / 28%);
	}

	.villa-antares-location__distance:nth-child(odd) {
		padding-inline-start: var(--villa-antares-location-distance-padding);
	}

	.villa-antares-location__distance:first-child {
		padding-inline-start: 0;
	}

	.villa-antares-location__distance:last-child {
		padding-inline-end: 0;
	}

	.villa-antares-map {
		aspect-ratio: 16 / 7;
	}
}
/****************************************************/
/* CONTACT FORM */
/****************************************************/

/**
 * Villa Antares — Contact section
 *
 * Expected structure:
 * .villa-antares-contact
 * └── .villa-antares-contact__panel
 *
 * Background image:
 * assets/img/villa-antares-contact.webp
 */

.villa-antares-contact {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	inline-size: 100%;
	max-inline-size: none;
	min-block-size: min(48rem, 100svh);
	padding-block: clamp(3rem, 10vw, 5.5rem);
	padding-inline:
		max(
			var(--villa-antares-gutter, 1.25rem),
			env(safe-area-inset-left)
		)
		max(
			var(--villa-antares-gutter, 1.25rem),
			env(safe-area-inset-right)
		);
	margin: 0;
	overflow: hidden;
	color: var(--wp--preset--color--surface, #fffdf8);
	background-color: var(--wp--preset--color--text, #121212);
	background-image: url("../img/villa-antares-contact-1920.webp");
	background-image: image-set(
		url("../img/villa-antares-contact-1920.webp") 1x,
		url("../img/villa-antares-contact.webp") 2x
	);
	background-repeat: no-repeat;
	background-position: 42% center;
	background-size: cover;
	scroll-margin-top: 1rem;
}

.entry-content.is-layout-constrained > .villa-antares-contact {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

/**
 * Zatamnjenje pozadinske fotografije.
 */
.villa-antares-contact::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgb(12 12 12 / 22%) 0%,
		rgb(12 12 12 / 34%) 42%,
		rgb(12 12 12 / 48%) 100%
	);
	content: "";
	pointer-events: none;
}

/**
 * Panel koji sadrži naslov i Fluent Forms formu.
 */
.villa-antares-contact__panel {
	inline-size: 100%;
	max-inline-size: 22rem;
	padding: clamp(1.1rem, 2vw, 1.5rem);
	margin: 0;
	color: var(--wp--preset--color--surface, #fffdf8);
	background-color: rgb(18 18 18 / 42%);
	border-block-start: 1px solid rgb(255 253 248 / 28%);
	border-block-end: 1px solid rgb(255 253 248 / 28%);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

/**
 * Naslovni sadržaj unutar panela.
 */
.villa-antares-contact__panel h2 {
	max-inline-size: 11ch;
	margin-block-start: 0;
	margin-block-end: clamp(1rem, 3vw, 1.5rem);
	color: var(--wp--preset--color--surface, #fffdf8);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2rem, 7vw, 3.75rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.villa-antares-contact__panel p {
	max-inline-size: 38rem;
	color: rgb(255 253 248 / 78%);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(0.9rem, 1.8vw, 0.98rem);
	line-height: 1.55;
}

/**
 * Fluent Forms — stilovi su ograničeni samo na Contact sekciju.
 */
.villa-antares-contact .fluentform {
	inline-size: 100%;
}

.villa-antares-contact .frm-fluent-form {
	margin: 0;
}

.villa-antares-contact .ff-el-group {
	margin-block-end: clamp(0.85rem, 1.6vw, 1.05rem);
}

.villa-antares-contact .ff-el-input--label {
	margin-block-end: 0.45rem;
}

.villa-antares-contact .ff-el-input--label label {
	margin: 0;
	color: rgb(255 253 248 / 84%);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.villa-antares-contact .ff-el-required {
	color: var(--wp--preset--color--accent, #c6a76b);
}

/**
 * Input, email i textarea polja.
 */
.villa-antares-contact .ff-el-form-control {
	inline-size: 100%;
	min-block-size: 2.5rem;
	padding: 0.5rem 0 !important;
	border: 0 !important;
	border-block-end: 1px solid rgb(255 253 248 / 48%) !important;
	border-radius: 0 !important;
	outline: 0;
	color: var(--wp--preset--color--surface, #fffdf8) !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	line-height: 1.45;
	transition:
		border-color 180ms ease,
		background-color 180ms ease;
}

.villa-antares-contact textarea.ff-el-form-control {
	min-block-size: 5.5rem;
	padding-block-start: 0.6rem !important;
	resize: vertical;
}

.villa-antares-contact .ff-el-form-control::placeholder {
	color: rgb(255 253 248 / 50%);
	opacity: 1;
}

.villa-antares-contact .ff-el-form-control:hover {
	border-block-end-color: rgb(255 253 248 / 78%) !important;
}

.villa-antares-contact .ff-el-form-control:focus,
.villa-antares-contact .ff-el-form-control:focus-visible {
	border-block-end-color:
		var(--wp--preset--color--accent, #c6a76b) !important;
	outline: 2px solid var(--wp--preset--color--accent, #c6a76b);
	outline-offset: 3px;
}

/**
 * Submit dugme.
 */
.villa-antares-contact .ff-btn-submit {
	display: inline-flex !important;
	min-inline-size: 8.5rem;
	min-block-size: 2.4rem;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.25rem !important;
	border:
		1px solid
		var(--wp--preset--color--accent, #c6a76b) !important;
	border-radius: 0 !important;
	color: var(--wp--preset--color--text, #121212) !important;
	background:
		var(--wp--preset--color--accent, #c6a76b) !important;
	box-shadow: none !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease;
}

.villa-antares-contact .ff-btn-submit:hover {
	border-color:
		var(--wp--preset--color--surface, #fffdf8) !important;
	color: var(--wp--preset--color--text, #121212) !important;
	background:
		var(--wp--preset--color--surface, #fffdf8) !important;
}

.villa-antares-contact .ff-btn-submit:focus-visible {
	outline:
		2px solid
		var(--wp--preset--color--surface, #fffdf8);
	outline-offset: 4px;
}

.villa-antares-contact .ff-btn-submit:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

/**
 * Validacija.
 */
.villa-antares-contact .ff-el-is-error .ff-el-form-control {
	border-block-end-color: #f2aaa3 !important;
}

.villa-antares-contact .ff-el-is-error .text-danger,
.villa-antares-contact .error {
	margin-block-start: 0.5rem;
	color: #f2aaa3 !important;
	font-size: 0.85rem;
	line-height: 1.4;
}

.villa-antares-contact .ff-message-success {
	padding: 0.85rem 1rem;
	border: 1px solid rgb(255 253 248 / 42%);
	border-radius: 0;
	color: var(--wp--preset--color--surface, #fffdf8);
	background-color: rgb(18 18 18 / 48%);
	box-shadow: none;
}

/**
 * Turnstile, ako bude dodat.
 */
.villa-antares-contact .cf-turnstile {
	margin-block: 0.5rem 1.5rem;
}

/**
 * Tablet.
 */
@media (min-width: 48rem) {
	.villa-antares-contact {
		padding-inline: clamp(2rem, 5vw, 5rem);
		background-position: center;
	}

	.villa-antares-contact::before {
		background: linear-gradient(
			90deg,
			rgb(12 12 12 / 12%) 0%,
			rgb(12 12 12 / 22%) 45%,
			rgb(12 12 12 / 42%) 100%
		);
	}

	.villa-antares-contact__panel {
		inline-size: min(48%, 22rem);
		margin-inline-start: auto;
	}
}

/**
 * Desktop.
 */
@media (min-width: 64rem) {
	.villa-antares-contact {
		min-block-size: min(52rem, 100svh);
		padding-inline: clamp(3rem, 7vw, 8rem);
		background-position: 42% center;
	}

	.villa-antares-contact__panel {
		inline-size: min(100%, 22rem);
	}
}

/**
 * Turning off transitions when user demands less animations.
 */
@media (prefers-reduced-motion: reduce) {
	.villa-antares-contact .ff-el-form-control,
	.villa-antares-contact .ff-btn-submit {
		transition: none;
	}
}

/**
 * Site footer.
 */
.villa-antares-footer {
	inline-size: 100%;
	max-inline-size: none;
	padding: clamp(4rem, 10vw, 8rem) var(--villa-antares-gutter) clamp(2rem, 5vw, 3rem);
	margin: 0;
	color: #fffdf8;
	background: #050505;
}

.villa-antares-footer__inner {
	display: grid;
	gap: 1.25rem;
	max-inline-size: 90rem;
	margin-inline: auto;
}

.villa-antares-footer__name,
.villa-antares-footer__address,
.villa-antares-footer__contact {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
}

.villa-antares-footer__name {
	color: var(--wp--preset--color--accent, #c6a76b);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 6vw, 4.75rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 0.95;
}

.villa-antares-footer__address,
.villa-antares-footer__contact {
	color: rgb(255 253 248 / 82%);
	font-size: clamp(0.95rem, 1vw, 1.05rem);
	line-height: 1.65;
}

.villa-antares-footer__contacts {
	display: grid;
	gap: 0.65rem;
	margin-block-start: 1.25rem;
}

.villa-antares-footer__address::before,
.villa-antares-footer__contacts::before {
	display: block;
	margin-block-end: 0.8rem;
	color: #fffdf8;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.villa-antares-footer__address::before {
	content: "Location";
}

.villa-antares-footer__contacts::before {
	content: "Contact";
}

@media (min-width: 48rem) {
	.villa-antares-footer__inner {
		grid-template-columns: minmax(13rem, 1.1fr) minmax(14rem, 1fr) minmax(12rem, 0.85fr);
		gap: clamp(2rem, 5vw, 5.5rem);
		align-items: start;
	}

	.villa-antares-footer__address {
		padding-inline-start: clamp(2rem, 5vw, 5.5rem);
		border-inline-start: 1px solid rgb(255 253 248 / 42%);
	}

	.villa-antares-footer__contacts {
		margin-block-start: 0;
	}
}
