/* Gutenberg ACF block wrappers — full bleed */

.wp-block-acf-hero,
.wp-block-acf-local-bar,
.wp-block-acf-welcome,
.wp-block-acf-suites-showcase,
.wp-block-acf-suites-grid,
.wp-block-acf-promo-banner,
.wp-block-acf-facilities,
.wp-block-acf-faq,
.wp-block-acf-about-milos,
.wp-block-acf-contact-form,
.wp-block-acf-booking-cta,
.wp-block-acf-location-map,
.wp-block-acf-contact-band {
	margin: 0;
	max-width: none;
}

.entry-content > .wp-block-acf-hero:first-child,
.entry-content > *:first-child {
	margin-top: 0;
}

.page-shell {
	padding-block: var(--space-6);
}

.page-shell:has(.hero),
.page-shell:has(.local-bar),
.page-shell:has(.suites-showcase),
.page-shell:has(.suites),
.page-shell:has(.welcome),
.page-shell:has(.promo-banner),
.page-shell:has(.facilities),
.page-shell:has(.faq),
.page-shell:has(.about-milos),
.page-shell:has(.contact-form-block),
.page-shell:has(.location),
.page-shell:has(.booking),
.page-shell:has(.contact-band) {
	padding-block: 0;
}

body:not(.has-transparent-header) #main > .page-shell {
	padding-top: calc(var(--header-height) + 2rem);
}

body:not(.has-transparent-header) #main > .suites.page-shell,
body:not(.has-transparent-header) #main > .villa-single {
	padding-top: calc(var(--header-height) + 2.5rem);
}

.villa-single {
	width: min(100%, 48rem);
	margin-inline: auto;
	padding-inline: var(--pad-x);
	padding-bottom: var(--space-6);
}

.villa-single__header {
	display: grid;
	gap: 0.75rem;
	margin-bottom: 2rem;
}

.villa-single__kicker {
	font-size: var(--fs-kicker);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.villa-single__title {
	font-size: var(--fs-h2);
}

.villa-single__meta {
	color: var(--color-ink-muted);
}

.villa-single__hero {
	margin: 0 0 2rem;
}

.villa-single__hero img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.villa-single__back {
	margin-top: 2.5rem;
}

.suites__empty {
	width: min(100%, var(--content-max));
	margin: 0 auto;
	color: var(--color-ink-muted);
}

.site-header__brand--logo {
	position: relative;
}

.site-header__brand--logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.site-header__brand--logo img {
	max-height: 3.75rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

@media (min-width: 900px) {
	.site-header__brand--logo img {
		max-height: 4.8rem;
	}
}

.site-header__logo--sticky img {
	animation: eiriana-deco-spin 18s linear infinite;
	transform-origin: center center;
	will-change: transform;
}

.site-header__brand--dual .site-header__logo {
	display: inline-flex;
	align-items: center;
	transition: opacity 0.3s var(--ease);
}

.site-header__brand--dual .site-header__logo--sticky {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
	pointer-events: none;
}

.site-header.is-scrolled .site-header__brand--dual .site-header__logo--default,
.site-header.is-solid .site-header__brand--dual .site-header__logo--default {
	opacity: 0;
	pointer-events: none;
}

.site-header.is-scrolled .site-header__brand--dual .site-header__logo--sticky,
.site-header.is-solid .site-header__brand--dual .site-header__logo--sticky {
	opacity: 1;
	pointer-events: auto;
}

/* Sticky-only: show sticky logo always when no default logo */
.site-header__brand--logo:not(.site-header__brand--dual) .site-header__logo--sticky {
	display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
	.site-header__logo--sticky img {
		animation: none;
	}
}
