/* Ammare — stili del tema. I colori e i caratteri vengono da theme.json. */

:root {
	--ob-accent: var(--wp--preset--color--blu);
	--ob-accent-contrast: var(--wp--preset--color--bianco);
	--ob-text: var(--wp--preset--color--inchiostro);
	--ob-muted: var(--wp--preset--color--grigio);
	--ob-bg: var(--wp--preset--color--sabbia);
	--ob-surface: var(--wp--preset--color--bianco);
	--ob-border: #CFDCE1;
	--ob-radius: var(--wp--custom--radius, 4px);
	--ob-font-heading: var(--wp--preset--font-family--stalysta);
	--ob-font-body: var(--wp--preset--font-family--gotham);
	--ammare-header-h: 4.5rem;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--ammare-header-h) + 1rem); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

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

.skip-link.screen-reader-text:focus { z-index: 100000; }

/* ---------- Testi di servizio ---------- */
.ammare-occhiello {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--blu);
	margin-bottom: 0.5rem;
}
.ammare-occhiello a { text-decoration: none; }
.ammare-en {
	font-family: var(--wp--preset--font-family--averta);
	font-style: italic;
	font-weight: 300;
	font-size: 1rem;
	color: var(--wp--preset--color--legno);
	margin-bottom: 0 !important;
}
.ammare-en + .wp-block-heading { margin-top: 0.25rem; }
.ammare-lead {
	font-weight: 300;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	max-width: 40rem;
}
.ammare-link-freccia a {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.ammare-link-freccia a::after { content: " →"; }

/* ---------- Intestazione ---------- */
.wp-site-blocks > header,
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--sabbia);
	/* Niente backdrop-filter: renderebbe il menu mobile (position: fixed) prigioniero dell'intestazione. */
	border-bottom: 1px solid rgba(21, 110, 138, 0.12);
	transition: background-color 0.3s ease, border-color 0.3s ease;
}
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0px); }

.ammare-header {
	min-height: var(--ammare-header-h);
	padding-left: clamp(1rem, 4vw, 2.5rem) !important;
	padding-right: clamp(1rem, 4vw, 2.5rem) !important;
	max-width: 1440px;
	margin: 0 auto;
}
.ammare-logo { display: block; line-height: 0; flex-shrink: 0; }
.ammare-logo img { width: clamp(8.5rem, 20vw, 11.5rem); height: auto; }
.ammare-logo__bianco { display: none; }

.ammare-header__prenota .wp-block-button__link { padding: 0.75rem 1.2rem; }

/* Selettore di lingua IT | EN: discreto, accanto al menu. */
.ammare-lingue { display: flex; align-items: center; gap: 0.4rem; font-size: 0.8rem; letter-spacing: 0.12em; white-space: nowrap; }
.ammare-lingue a, .ammare-lingue__attiva { display: inline-flex; align-items: center; min-height: 44px; min-width: 32px; justify-content: center; color: inherit; text-decoration: none; }
.ammare-lingue a { opacity: 0.7; }
.ammare-lingue a:hover, .ammare-lingue a:focus-visible { opacity: 1; text-decoration: underline; text-underline-offset: 0.3em; }
.ammare-lingue__attiva { font-weight: 600; }
.ammare-lingue__sep { opacity: 0.4; }
header.is-over-hero:not(.is-scrolled) .ammare-lingue { color: #fff; }
.screen-reader-text:not(:focus) { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* Sulla home l'intestazione sta sopra il video finché non si scorre. */
header.is-over-hero:not(.is-scrolled) {
	position: fixed;
	left: 0;
	right: 0;
	background: linear-gradient(to bottom, rgba(10, 30, 38, 0.55), rgba(10, 30, 38, 0));
	border-bottom-color: transparent;
}
header.is-over-hero.is-scrolled { position: fixed; left: 0; right: 0; }
header.is-over-hero:not(.is-scrolled) .ammare-logo__colore { display: none; }
header.is-over-hero:not(.is-scrolled) .ammare-logo__bianco { display: block; }
header.is-over-hero:not(.is-scrolled) .wp-block-navigation,
header.is-over-hero:not(.is-scrolled) .wp-block-navigation-item__content,
header.is-over-hero:not(.is-scrolled) .wp-block-navigation__responsive-container-open { color: #fff; }
header.is-over-hero:not(.is-scrolled) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--inchiostro); }

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--sabbia) !important;
	padding: 1.25rem clamp(1.25rem, 6vw, 2.5rem) 2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--blu) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--stalysta);
	font-size: 2rem;
	letter-spacing: 0.02em;
}

@media (max-width: 599px) {
	.ammare-header { gap: 0.5rem; }
	.ammare-header__destra { gap: 0.75rem !important; }
	.ammare-header__prenota .wp-block-button__link { padding: 0.65rem 0.9rem; font-size: 0.75rem; }
}

/* ---------- Apertura con video ---------- */
.ammare-home > .wp-block-post-content > .ammare-hero:first-child { margin-top: 0; }
.ammare-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: flex-end;
	color: #fff;
	overflow: hidden;
	background: #0d2a33;
	margin-block-start: 0 !important;
}
.ammare-hero__media { position: absolute; inset: 0; }
.ammare-hero__media img,
.ammare-hero__media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ammare-hero__video { opacity: 0; transition: opacity 1.2s ease; }
.ammare-hero__video.is-playing { opacity: 1; }
.ammare-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(8, 26, 33, 0.78) 0%, rgba(8, 26, 33, 0.4) 50%, rgba(8, 26, 33, 0.3) 100%);
}
.ammare-hero__testo {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: calc(1240px + 2 * clamp(1rem, 4vw, 2.5rem));
	margin: 0 auto;
	padding: calc(var(--ammare-header-h) + 3rem) clamp(1rem, 4vw, 2.5rem) clamp(2rem, 6vw, 4.5rem);
}
.ammare-hero__testo > * { margin-left: 0; margin-right: 0; }
.ammare-hero .ammare-occhiello { color: #fff; opacity: 0.92; }
.ammare-hero h1 { margin-top: 0.25rem; margin-bottom: 0.75rem; text-shadow: 0 1px 24px rgba(0, 0, 0, 0.25); }
.ammare-hero__sotto { font-weight: 300; font-size: var(--wp--preset--font-size--large); max-width: 34rem; }
.ammare-hero .ob-search {
	margin-top: 1.75rem;
	background: rgba(255, 255, 255, 0.97);
	color: var(--wp--preset--color--inchiostro);
	padding: clamp(0.9rem, 2vw, 1.25rem);
	border-radius: var(--wp--custom--radius);
	max-width: 62rem;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
}

/* ---------- Sezioni ---------- */
.ammare-home > .wp-block-post-content > * { margin-block-start: 0; }
.ammare-foto img { width: 100%; height: auto; border-radius: var(--wp--custom--radius); }

.ammare-citazione {
	margin-top: var(--wp--preset--spacing--60) !important;
	border-left: 2px solid var(--wp--preset--color--blu);
	padding-left: clamp(1rem, 3vw, 2rem);
	color: var(--wp--preset--color--blu);
}
.ammare-citazione p { font-family: var(--wp--preset--font-family--stalysta); font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; text-transform: uppercase; }

.ammare-valori { margin-top: var(--wp--preset--spacing--50) !important; }
.ammare-valori h3 { border-bottom: 1px solid var(--wp--preset--color--blu); padding-bottom: 0.4rem; margin-bottom: 0.6rem; }
.ammare-valori p { font-weight: 300; }

.ammare-card .wp-block-image { margin-bottom: 1rem; }
.ammare-card .wp-block-image img { width: 100%; border-radius: var(--wp--custom--radius); transition: transform 0.6s ease; }
.ammare-card .wp-block-image a { display: block; overflow: hidden; border-radius: var(--wp--custom--radius); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.ammare-card .wp-block-image a:hover img { transform: scale(1.03); }
}
.ammare-card h3 { margin-top: 0.25rem; margin-bottom: 0.4rem; }
.ammare-card h3 a { text-decoration: none; color: inherit; }
.ammare-card p { margin-top: 0.4rem; }

.ammare-trani-griglia h3 { color: var(--wp--preset--color--blu); }

.ammare-gallery.wp-block-gallery { gap: 0.5rem; }
.ammare-gallery .wp-block-image img { border-radius: 2px; }

.ammare-cta .wp-block-heading { color: #fff; }

/* ---------- Mappa ---------- */
.ammare-mappa {
	background: var(--wp--preset--color--acqua);
	border-radius: var(--wp--custom--radius);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	min-height: 18rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ammare-mappa__nota { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--grigio); max-width: 30rem; }
.ammare-mappa__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.ammare-mappa__carica { border: 0; cursor: pointer; }
.ammare-mappa.is-loaded { padding: 0; min-height: 0; background: none; }
.ammare-mappa iframe { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--wp--custom--radius); display: block; }

/* ---------- Scheda camera ---------- */
.ammare-camera__foto { margin-top: 0 !important; margin-bottom: 0 !important; }
.ammare-camera__foto img { max-height: 78vh; }
.ammare-camera__intro h1 { margin-top: 0.25rem; margin-bottom: 0.5rem; }
.ammare-camera__lato {
	background: var(--wp--preset--color--bianco);
	border-radius: var(--wp--custom--radius);
	padding: clamp(1.25rem, 3vw, 2rem);
	align-self: flex-start;
}
@media (min-width: 782px) {
	.ammare-camera__lato { position: sticky; top: calc(var(--ammare-header-h) + 1.5rem); }
}
.ammare-camera__lato .ammare-etichetta { margin-top: 1.5rem; }
.ammare-camera__lato .ammare-etichetta:first-child { margin-top: 0; }

/* ---------- Pagine legali ---------- */
.ammare-legale h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.5rem; }
.ammare-bozza {
	background: #FFF4D6;
	border-left: 4px solid #B7791F;
	padding: 1rem 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Piè di pagina ---------- */
.ammare-footer { margin-block-start: 0 !important; }
.ammare-footer h2 { color: #fff; }
.ammare-footer__logo { width: 11rem; height: auto; }
.ammare-footer__claim { font-weight: 300; max-width: 18rem; }
.ammare-footer a { text-decoration-color: rgba(255, 255, 255, 0.5); text-underline-offset: 3px; }
.ammare-footer a:hover { text-decoration-color: #fff; }
.ammare-footer__linea { opacity: 0.3; margin-top: var(--wp--preset--spacing--50) !important; }
.ammare-footer__contributo { opacity: 0.9; }
.ammare-footer :focus-visible { outline-color: #fff; }

/* Segnaposto ancora da compilare: visibili in bozza, così non sfuggono. */
.ammare-segnaposto { background: #FFF4D6; color: #6B4A00; padding: 0 0.25em; }

/* Nessuno spazio tra le sezioni a tutta larghezza e il piè di pagina. */
.wp-site-blocks > footer,
.wp-site-blocks > main.ammare-home { margin-block-start: 0; }
.ammare-home > .wp-block-post-content { padding-bottom: 0; }

/* Etichetta: titolo piccolo in Gotham maiuscolo (h2/h3 per l'ordine dei titoli, aspetto da occhiello). */
.wp-block-heading.ammare-etichetta {
	font-family: var(--wp--preset--font-family--gotham);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--blu);
}
.ammare-footer .wp-block-heading.ammare-etichetta { color: #fff; }

/* Calendario del plugin nella colonna stretta della scheda camera: un mese sotto l'altro. */
.ammare-camera__lato .ob-calendar__months { display: grid !important; grid-template-columns: 1fr !important; gap: 1.5rem; }
.ammare-camera__lato .ob-month { width: 100%; }
.ammare-camera__lato .ob-calendar__cta { display: block; width: 100%; text-align: center; }
.ammare-camera .ammare-camera__foto { margin-block-start: 0; }
.wp-site-blocks > main.ammare-camera { margin-block-start: 0; }

/* ---------- WhatsApp ---------- */
.ammare-whatsapp {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 60;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.7rem 1rem 0.7rem 0.8rem;
	border-radius: 999px;
	background: #1D6B45; /* verde scuro: contrasto AA con il testo bianco */
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.22);
}
.ammare-whatsapp:hover { background: #15533A; color: #fff; }
.ammare-whatsapp:focus-visible { outline: 3px solid var(--wp--preset--color--inchiostro); outline-offset: 3px; }
@media (min-width: 782px) {
	/* Su desktop resta, ma solo come icona discreta. */
	.ammare-whatsapp { padding: 0.8rem; }
	.ammare-whatsapp__testo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.ammare-bottone-whatsapp .wp-block-button__link { background: #1D6B45; }
.ammare-bottone-whatsapp .wp-block-button__link:hover { background: #15533A; }
/* Spazio in fondo perché il pulsante fisso non copra il piè di pagina. */
@media (max-width: 781px) { .ammare-footer { padding-bottom: 5.5rem !important; } }

/* Dicitura del contributo NIDI: loghi istituzionali su fondo bianco, come da modello di Puglia Sviluppo. */
.ammare-contributo { background: #fff; color: #1d3557; border-radius: 4px; padding: 16px 20px; margin-top: 24px; }
.ammare-contributo img { display: block; width: 100%; max-width: 900px; height: auto; margin: 0 auto 10px; }
.ammare-contributo p { margin: 0; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.5; text-align: center; color: #1d3557; }
@media (max-width: 600px) { .ammare-contributo p { font-size: 12px; } }

/* Servizi della villa */
.ammare-servizi__griglia { margin-top: var(--wp--preset--spacing--50); }
.ammare-servizio { border-top: 1px solid currentColor; border-top-color: color-mix(in srgb, currentColor 20%, transparent); padding-top: 1rem; }
.ammare-servizio p { margin-top: .5rem; }

/* =========================================================
   Pagina della camera
   ========================================================= */
.ammare-camera { padding: var(--wp--preset--spacing--40) var(--wp--style--root--padding-right, 1.25rem) 0 var(--wp--style--root--padding-left, 1.25rem); }
.ammare-room { display: grid; gap: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.ammare-room > * { width: 100%; max-width: 1280px; margin-inline: auto; }
.ammare-room > .ammare-lightbox { max-width: none; }
.ammare-i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Foto: una grande e quattro piccole */
.ammare-room__photos { position: relative; display: grid; gap: 6px; border-radius: 6px; overflow: hidden; height: clamp(320px, 62vh, 640px); }
.ammare-room__photos--1 { grid-template-columns: 1fr; }
.ammare-room__photos--2 { grid-template-columns: 2fr 1fr; }
.ammare-room__photos--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.ammare-room__photos--3 .ammare-room__ph:first-child { grid-row: span 2; }
.ammare-room__photos--4 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ammare-room__photos--4 .ammare-room__ph:first-child { grid-row: span 2; }
.ammare-room__photos--4 .ammare-room__ph:nth-child(4) { grid-column: span 2; }
.ammare-room__photos--5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ammare-room__photos--5 .ammare-room__ph:first-child { grid-row: span 2; }
.ammare-room__ph { all: unset; cursor: zoom-in; display: block; min-height: 0; overflow: hidden; background: var(--wp--preset--color--acqua); }
.ammare-room__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.ammare-room__ph:hover img { transform: scale(1.03); }
.ammare-room__ph:focus-visible { outline: 3px solid var(--wp--preset--color--blu); outline-offset: -3px; }
.ammare-room__all { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 4px; background: rgba(255,255,255,.94); color: var(--wp--preset--color--inchiostro); font: inherit; font-size: .9rem; cursor: pointer; box-shadow: 0 6px 20px rgba(18,52,63,.18); }
.ammare-room__all:hover { background: #fff; }
@media (max-width: 800px) {
	.ammare-room__photos { height: auto; grid-template-columns: 1fr !important; grid-template-rows: auto !important; border-radius: 0; margin-inline: calc(var(--wp--style--root--padding-left, 1.25rem) * -1); width: calc(100% + var(--wp--style--root--padding-left, 1.25rem) + var(--wp--style--root--padding-right, 1.25rem)); max-width: none; }
	.ammare-room__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; font-size: .92rem; }
	.ammare-room__facts li { align-items: flex-start; }
	.ammare-room__ph { aspect-ratio: 4 / 3; }
	.ammare-room__ph:not(:first-child) { display: none; }
	.ammare-room__all { right: 12px; bottom: 12px; }
}

/* Titolo e fatti
   Tre misure di testo in tutta la pagina: --t-lead, --t-body, --t-small. */
.ammare-room { --t-lead: clamp(1.15rem, 1.6vw, 1.3rem); --t-body: 1rem; --t-small: .85rem; --gap: clamp(1.5rem, 3vw, 2.5rem); }
.ammare-room__head { display: grid; gap: 1rem; }
.ammare-room__kicker { margin: 0; display: flex; gap: .75rem; align-items: center; font-size: var(--t-small); color: var(--wp--preset--color--grigio); }
.ammare-room__kicker a { color: var(--wp--preset--color--blu); text-decoration: none; }
.ammare-room__kicker a:hover { text-decoration: underline; }
.ammare-room__num::before { content: ""; display: inline-block; width: 1.5rem; height: 1px; background: currentColor; opacity: .5; margin-right: .75rem; vertical-align: middle; }
.ammare-room__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); letter-spacing: .01em; }
.ammare-room__line { margin: 0; max-width: 42ch; font-size: var(--t-lead); line-height: 1.5; color: var(--wp--preset--color--inchiostro); }

.ammare-room__facts { margin: 1rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border-radius: 6px; }
.ammare-fact { display: grid; grid-template-columns: auto 1fr; grid-auto-rows: min-content; align-content: start; column-gap: .9rem; row-gap: .2rem; align-items: start; padding: 1.25rem 1.5rem; }
.ammare-fact dt, .ammare-fact dd { grid-column: 2; }
.ammare-fact + .ammare-fact { border-left: 1px solid rgba(18, 52, 63, .1); }
.ammare-fact .ammare-i { grid-row: span 2; width: 28px; height: 28px; color: var(--wp--preset--color--blu); margin-top: .1rem; }
.ammare-fact dt { font-size: var(--t-small); color: var(--wp--preset--color--grigio); }
.ammare-fact dd { margin: 0; font-size: var(--t-body); line-height: 1.4; color: var(--wp--preset--color--inchiostro); }
@media (max-width: 900px) {
	.ammare-room__facts { grid-template-columns: 1fr 1fr; }
	.ammare-fact:nth-child(3) { border-left: 0; }
	.ammare-fact:nth-child(n+3) { border-top: 1px solid rgba(18, 52, 63, .1); }
}
@media (max-width: 600px) {
	.ammare-fact { grid-template-columns: 1fr; padding: 1rem 1.1rem; row-gap: .3rem; }
	.ammare-fact .ammare-i { grid-row: auto; width: 24px; height: 24px; margin-bottom: .35rem; }
	.ammare-fact dt, .ammare-fact dd { grid-column: 1; }
	.ammare-fact dd { font-size: .95rem; }
}

/* Racconto e riquadro */
.ammare-room__body { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.ammare-room__story { max-width: 64ch; }
.ammare-room__text p { margin: 0 0 1em; font-size: var(--t-lead); line-height: 1.6; color: var(--wp--preset--color--inchiostro); }
.ammare-room__sec { margin: var(--gap) 0 1.1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-room__text + .ammare-room__sec { margin-top: calc(var(--gap) * .8); }
.ammare-room__list { list-style: none; margin: 0; padding: 0 0 var(--gap); border-bottom: 1px solid rgba(18, 52, 63, .1); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 2rem; }
.ammare-room__list:last-child { border-bottom: 0; padding-bottom: 0; }
.ammare-room__list li { display: flex; gap: .7rem; align-items: flex-start; font-size: var(--t-body); line-height: 1.45; }
.ammare-room__list .ammare-i { color: var(--wp--preset--color--blu); width: 20px; height: 20px; margin-top: 1px; }
.ammare-room__book { position: sticky; top: 110px; }
@media (max-width: 900px) {
	.ammare-room__body { grid-template-columns: 1fr; }
	.ammare-room__book { position: static; order: -1; }
	.ammare-room__list { grid-template-columns: 1fr; }
}

/* Le altre camere */
.ammare-room__others { padding-top: var(--gap); }
.ammare-room__sec--center { text-align: center; margin: 0 0 var(--gap); }
.ammare-room__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 360px)); justify-content: center; gap: 1.5rem; }
@media (max-width: 1000px) { .ammare-room__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ammare-room__cards { grid-template-columns: 1fr; } }
.ammare-card-room { display: flex; flex-direction: column; background: #fff; border-radius: 6px; overflow: hidden; text-decoration: none; color: var(--wp--preset--color--inchiostro); box-shadow: 0 1px 0 rgba(18, 52, 63, .06); transition: box-shadow .25s ease; }
.ammare-card-room:hover { box-shadow: 0 20px 40px -24px rgba(18, 52, 63, .45); }
.ammare-card-room:focus-visible { outline: 3px solid var(--wp--preset--color--blu); outline-offset: 3px; }
.ammare-card-room__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--acqua); }
.ammare-card-room__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.ammare-card-room:hover .ammare-card-room__img img { transform: scale(1.03); }
.ammare-card-room__body { display: grid; gap: .5rem; padding: 1.25rem 1.5rem 1.5rem; text-align: center; }
.ammare-card-room__name { font-family: var(--wp--preset--font-family--stalysta); font-size: 2.1rem; line-height: 1; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-card-room__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: .25rem 1rem; font-size: var(--t-small); color: var(--wp--preset--color--grigio); }
.ammare-card-room__cta { margin-top: .5rem; font-size: var(--t-small); color: var(--wp--preset--color--blu); text-decoration: underline; text-underline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .ammare-card-room, .ammare-card-room__img img { transition: none; } }

/* Galleria a schermo intero */
.ammare-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8, 24, 30, .96); color: #fff; }
.ammare-lightbox[open] { display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; }
.ammare-lightbox::backdrop { background: rgba(8, 24, 30, .96); }
.ammare-lightbox__stage { height: 100vh; display: grid; place-items: center; padding: 48px 0; }
.ammare-lightbox__item { margin: 0; display: grid; gap: 12px; justify-items: center; }
.ammare-lightbox__item img { max-width: calc(100vw - 160px); max-height: calc(100vh - 140px); width: auto; height: auto; object-fit: contain; }
.ammare-lightbox__item figcaption { font-size: .85rem; opacity: .7; }
.ammare-lightbox__nav, .ammare-lightbox__close { all: unset; cursor: pointer; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #fff; }
.ammare-lightbox__nav:hover, .ammare-lightbox__close:hover { background: rgba(255,255,255,.12); }
.ammare-lightbox__nav:focus-visible, .ammare-lightbox__close:focus-visible { outline: 2px solid #fff; }
.ammare-lightbox__close { position: absolute; top: 16px; right: 16px; }
.ammare-lightbox .ammare-i { width: 28px; height: 28px; stroke-width: 1.6; }
@media (max-width: 700px) {
	.ammare-lightbox[open] { grid-template-columns: 0 1fr 0; }
	.ammare-lightbox__nav { position: absolute; bottom: 20px; }
	.ammare-lightbox__prev { left: 20px; } .ammare-lightbox__next { right: 20px; }
	.ammare-lightbox__item img { max-width: 100vw; }
}
@media (prefers-reduced-motion: reduce) { .ammare-room__ph img, .ammare-room__card img { transition: none; } }

/* Sulle pagine camera, su telefono, la barra "Prenota" sostituisce il pulsante WhatsApp fisso. */
@media (max-width: 900px) { .single-ob_room .ammare-whatsapp { display: none !important; } }

.ammare-camera { overflow-x: clip; }
.ammare-header__prenota .wp-block-button__link { white-space: nowrap; }
@media (max-width: 420px) { .ammare-header__prenota .wp-block-button__link { padding: .7rem .9rem; letter-spacing: .08em; } }

/* =========================================================
   Il mare è di casa: mosaico di foto e icone
   ========================================================= */
.ammare-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto repeat(4, 190px); grid-auto-rows: 118px; grid-auto-flow: dense; gap: 14px; }
.ammare-bento__head { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem 3rem; align-items: end; margin-bottom: 1.5rem; }
.ammare-bento__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-bento__lead { margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--wp--preset--color--inchiostro); max-width: 36ch; }
.ammare-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: .35rem; padding: 1.4rem; margin: 0; background: #fff; border-radius: 14px; overflow: hidden; color: var(--wp--preset--color--inchiostro); isolation: isolate; }
.ammare-tile strong { font-family: var(--wp--preset--font-family--gotham); font-weight: 600; font-size: 1.05rem; line-height: 1.25; }
.ammare-tile span:not(.ammare-tile__icon) { font-size: .92rem; line-height: 1.45; color: var(--wp--preset--color--grigio); }
.ammare-tile__icon { position: absolute; top: 1.2rem; left: 1.2rem; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--wp--preset--color--tufo); color: var(--wp--preset--color--legno); transition: background .35s ease, color .35s ease, transform .35s ease; }
.ammare-tile__icon .ammare-i { width: 26px; height: 26px; stroke-width: 1.3; }
.ammare-tile:hover .ammare-tile__icon { background: var(--wp--preset--color--legno); color: #fff; transform: rotate(-6deg); }
.ammare-tile--photo { padding: 0; color: #fff; }
.ammare-tile--big { grid-column: span 2; grid-row: span 2; }
.ammare-tile--wide { grid-column: 3 / span 2; grid-row: span 2; }
.ammare-tile--long { grid-column: span 2; flex-direction: row; align-items: center; justify-content: flex-start; gap: 1.25rem; padding-left: 1.4rem; }
.ammare-tile--long .ammare-tile__icon { position: static; flex: none; }
.ammare-tile--long strong { display: block; }
.ammare-tile--long > strong, .ammare-tile--long > span:not(.ammare-tile__icon) { flex: none; }
.ammare-tile--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.ammare-tile--photo:hover img { transform: scale(1.04); }
.ammare-tile--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 36, 46, 0) 35%, rgba(8, 36, 46, .78) 100%); }
.ammare-tile--photo figcaption { display: grid; gap: .35rem; padding: 1.6rem; max-width: 34ch; }
.ammare-tile--photo figcaption .ammare-i { width: 30px; height: 30px; margin-bottom: .3rem; }
.ammare-tile--photo figcaption strong { font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.6rem); text-transform: uppercase; line-height: 1; }
.ammare-tile--photo figcaption span { color: rgba(255,255,255,.88) !important; font-size: 1rem !important; }
@media (max-width: 1000px) {
	.ammare-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: minmax(170px, auto); }
	.ammare-tile--wide { grid-column: 1 / -1; }
	.ammare-tile--long { grid-column: span 1; flex-direction: column; align-items: stretch; justify-content: flex-end; }
	.ammare-tile--long .ammare-tile__icon { position: absolute; }
	.ammare-bento__head { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ammare-bento { gap: 10px; }
	.ammare-tile { padding: 1rem; border-radius: 12px; min-height: 150px; }
	.ammare-tile__icon { top: 1rem; left: 1rem; width: 44px; height: 44px; }
	.ammare-tile--big, .ammare-tile--wide { grid-column: 1 / -1; grid-row: span 1; min-height: 300px; }
}
@media (prefers-reduced-motion: reduce) { .ammare-tile__icon, .ammare-tile--photo img { transition: none; } }

/* =========================================================
   Home: indice interattivo delle camere
   ========================================================= */
.ammare-rooms { width: 100%; max-width: 1280px; margin-inline: auto; }
.ammare-rooms__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem 3rem; align-items: end; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.ammare-rooms__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-rooms__lead { margin: 0; max-width: 36ch; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--wp--preset--color--inchiostro); }
.ammare-rooms__stage { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }

.ammare-rooms__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; justify-content: center; border-top: 1px solid rgba(18, 52, 63, .12); }
.ammare-rooms__list li { border-bottom: 1px solid rgba(18, 52, 63, .12); }
.ammare-rooms__item { position: relative; display: grid; grid-template-columns: 3rem 1fr; grid-template-rows: auto auto; column-gap: 1rem; padding: 1.4rem 0; text-decoration: none; color: var(--wp--preset--color--inchiostro); }
.ammare-rooms__num { grid-row: span 2; align-self: start; padding-top: .9rem; font-size: .8rem; letter-spacing: .08em; color: var(--wp--preset--color--grigio); font-variant-numeric: tabular-nums; }
.ammare-rooms__name { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(2.4rem, 4.6vw, 4.2rem); line-height: 1; text-transform: uppercase; color: rgba(78, 138, 158, .38); transition: color .45s ease, transform .45s cubic-bezier(.2,.7,.2,1); transform-origin: left center; }
.ammare-rooms__meta { font-size: .9rem; color: var(--wp--preset--color--grigio); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .45s ease, opacity .45s ease, margin .45s ease; }
.ammare-rooms__item::after { content: ""; position: absolute; left: 4rem; right: 0; bottom: -1px; height: 1px; background: var(--wp--preset--color--blu); transform: scaleX(0); transform-origin: left; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.ammare-rooms__item.is-active .ammare-rooms__name, .ammare-rooms__item:focus-visible .ammare-rooms__name { color: var(--wp--preset--color--tinta); transform: translateX(.35rem); }
.ammare-rooms__item.is-active .ammare-rooms__meta { max-height: 2rem; opacity: 1; margin-top: .35rem; }
.ammare-rooms__item.is-active::after { transform: scaleX(1); }
.ammare-rooms__item.is-active .ammare-rooms__num { color: var(--wp--preset--color--blu); }
.ammare-rooms__item:focus-visible { outline: 2px solid var(--wp--preset--color--blu); outline-offset: 4px; }

.ammare-rooms__visual { position: relative; min-height: clamp(460px, 62vh, 680px); border-radius: 18px; overflow: hidden; background: var(--wp--preset--color--acqua); }
.ammare-rooms__panel { position: absolute; inset: 0; display: block; color: #fff; text-decoration: none; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility 0s linear .7s; }
.ammare-rooms__panel.is-active { opacity: 1; visibility: visible; transition: opacity .7s ease; }
.ammare-rooms__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
.ammare-rooms__panel.is-active .ammare-rooms__img { transform: scale(1); }
.ammare-rooms__card { position: absolute; left: 1.25rem; right: 1.25rem; bottom: 1.25rem; display: grid; gap: .6rem; padding: 1.25rem 1.4rem; border-radius: 14px; background: rgba(12, 44, 56, .42); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); border: 1px solid rgba(255, 255, 255, .18); }
.ammare-rooms__card-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.ammare-rooms__card-name { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.8rem, 3vw, 2.4rem); text-transform: uppercase; line-height: 1; }
.ammare-rooms__price { white-space: nowrap; font-size: .95rem; opacity: .9; }
.ammare-rooms__price strong { font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: 1.8rem; margin-left: .2rem; opacity: 1; }
.ammare-rooms__line { font-size: 1rem; line-height: 1.45; color: rgba(255,255,255,.92); max-width: 46ch; }
.ammare-rooms__foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ammare-rooms__chips { display: flex; gap: .4rem; flex-wrap: wrap; }
.ammare-rooms__chips span { font-size: .8rem; padding: .3rem .7rem; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22); }
.ammare-rooms__cta { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; padding: .65rem 1.1rem; border-radius: 999px; background: #fff; color: var(--wp--preset--color--blu); transition: background .3s, color .3s; }
.ammare-rooms__panel:hover .ammare-rooms__cta { background: var(--wp--preset--color--blu); color: #fff; }
.ammare-rooms__panel:focus-visible { outline: 3px solid var(--wp--preset--color--blu); outline-offset: -3px; }
.ammare-rooms__hint { display: none; }

@media (max-width: 900px) {
	.ammare-rooms__head { grid-template-columns: 1fr; }
	.ammare-rooms__stage { display: block; }
	.ammare-rooms__list { display: none; }
	.ammare-rooms__visual { position: static; min-height: 0; border-radius: 0; background: none; overflow: visible; display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; margin-inline: calc(var(--wp--style--root--padding-left, 1.25rem) * -1); padding-inline: var(--wp--style--root--padding-left, 1.25rem); scroll-padding-inline: var(--wp--style--root--padding-left, 1.25rem); scrollbar-width: none; }
	.ammare-rooms__visual::-webkit-scrollbar { display: none; }
	.ammare-rooms__panel { position: relative; opacity: 1; visibility: visible; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; scroll-snap-align: start; }
	.ammare-rooms__img { transform: none; }
	.ammare-rooms__card { left: .75rem; right: .75rem; bottom: .75rem; padding: 1rem; }
	.ammare-rooms__line { display: none; }
	.ammare-rooms__hint { display: block; margin: .9rem 0 0; font-size: .85rem; color: var(--wp--preset--color--grigio); }
}
@media (prefers-reduced-motion: reduce) { .ammare-rooms__panel, .ammare-rooms__img, .ammare-rooms__name, .ammare-rooms__item::after, .ammare-rooms__meta { transition: none; } }

/* =========================================================
   Pagina "Le camere"
   ========================================================= */
.ammare-arch { max-width: 1320px; margin-inline: auto; display: grid; gap: clamp(4rem, 9vw, 8rem); padding-bottom: var(--wp--preset--spacing--60); }
.ammare-arch__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 4rem; align-items: end; padding-top: clamp(1rem, 3vw, 2.5rem); }
.ammare-arch__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3.5rem, 9vw, 8.5rem); line-height: .85; text-transform: uppercase; color: var(--wp--preset--color--tinta); letter-spacing: -.01em; white-space: nowrap; }
.ammare-arch__lead { margin: 0; max-width: 40ch; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.6; color: var(--wp--preset--color--inchiostro); }

/* 1) Fisarmonica */
.ammare-acc { display: flex; gap: 10px; height: clamp(440px, 66vh, 700px); margin-top: calc(clamp(4rem, 9vw, 8rem) * -.6); }
.ammare-acc__slice { position: relative; flex: 1 1 0; min-width: 0; border-radius: 18px; overflow: hidden; color: #fff; text-decoration: none; transition: flex-grow .8s cubic-bezier(.2,.8,.2,1); isolation: isolate; }
.ammare-acc__slice.is-open { flex-grow: 3.4; }
.ammare-acc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s cubic-bezier(.2,.8,.2,1); }
.ammare-acc__slice:not(.is-open) .ammare-acc__img { transform: scale(1.15); filter: saturate(.85); }
.ammare-acc__slice::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,36,46,.05) 30%, rgba(8,36,46,.75)); transition: background .6s; }
.ammare-acc__slice:not(.is-open)::after { background: rgba(8,36,46,.38); }
.ammare-acc__vert { position: absolute; left: 50%; bottom: 2rem; transform: translateX(-50%) rotate(180deg); writing-mode: vertical-rl; font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.8rem, 2.6vw, 2.6rem); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; transition: opacity .4s; }
.ammare-acc__slice.is-open .ammare-acc__vert { opacity: 0; }
.ammare-acc__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(1.5rem, 3vw, 2.5rem); display: grid; gap: .5rem; max-width: 42rem; opacity: 0; transform: translateY(16px); transition: opacity .5s ease .15s, transform .6s cubic-bezier(.2,.8,.2,1) .15s; }
.ammare-acc__slice.is-open .ammare-acc__body { opacity: 1; transform: none; }
.ammare-acc__slice:not(.is-open) .ammare-acc__body { transition-delay: 0s; }
.ammare-acc__num { font-size: .85rem; opacity: .85; }
.ammare-acc__name { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: .95; text-transform: uppercase; }
.ammare-acc__line { font-size: 1.05rem; line-height: 1.5; max-width: 40ch; color: rgba(255,255,255,.9); }
.ammare-acc__price strong { font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: 1.8rem; margin: 0 .25rem; }
.ammare-acc__slice:focus-visible { outline: 3px solid var(--wp--preset--color--blu); outline-offset: 3px; }

/* 2) Capitoli */
.ammare-chapter { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; scroll-margin-top: 110px; }
.ammare-chapter--flip { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ammare-chapter--flip .ammare-chapter__media { order: 2; }
.ammare-chapter__media { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ammare-chapter__main { grid-column: 1 / -1; display: block; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; }
.ammare-chapter__main img, .ammare-chapter__thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ammare-chapter__thumbs { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ammare-chapter__thumbs span { aspect-ratio: 3 / 2; border-radius: 12px; overflow: hidden; display: block; }
.ammare-chapter__text { display: grid; gap: 1.1rem; align-content: center; }
.ammare-chapter__num { margin: 0; display: flex; align-items: baseline; gap: 1rem; font-size: .9rem; color: var(--wp--preset--color--grigio); }
.ammare-chapter__num span { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(3rem, 6vw, 5rem); line-height: .8; color: transparent; -webkit-text-stroke: 1px var(--wp--preset--color--tinta); }
.ammare-chapter__name { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 7vw, 6rem); line-height: .9; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-chapter__line { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.5; color: var(--wp--preset--color--inchiostro); max-width: 36ch; }
.ammare-chapter__desc { margin: 0; font-size: 1rem; line-height: 1.7; color: var(--wp--preset--color--grigio); max-width: 46ch; }
.ammare-chapter__chips { list-style: none; margin: .25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ammare-chapter__chips li { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem .45rem .6rem; border-radius: 999px; background: #fff; font-size: .88rem; color: var(--wp--preset--color--inchiostro); border: 1px solid rgba(18,52,63,.08); }
.ammare-chapter__chips .ammare-i { width: 18px; height: 18px; color: var(--wp--preset--color--blu); }
.ammare-chapter__foot { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; padding-top: 1.25rem; border-top: 1px solid rgba(18,52,63,.12); margin-top: .5rem; }
.ammare-chapter__price { margin: 0; display: flex; align-items: baseline; gap: .35rem; color: var(--wp--preset--color--grigio); font-size: .95rem; }
.ammare-chapter__price strong { font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: 2.6rem; line-height: 1; color: var(--wp--preset--color--blu); }
.ammare-chapter__cta { display: flex; gap: .6rem; flex-wrap: wrap; }
.ammare-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; line-height: 1; white-space: nowrap; padding: 0 1.4rem; border-radius: 999px; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s, border-color .3s; }
.ammare-btn--solid { background: var(--wp--preset--color--blu); color: #fff; border: 1px solid var(--wp--preset--color--blu); }
.ammare-btn--solid:hover { background: var(--wp--preset--color--inchiostro); border-color: var(--wp--preset--color--inchiostro); color: #fff; }
.ammare-btn--line { border: 1px solid rgba(18,52,63,.25); color: var(--wp--preset--color--inchiostro); }
.ammare-btn--line:hover { border-color: var(--wp--preset--color--blu); color: var(--wp--preset--color--blu); }
.ammare-btn:focus-visible { outline: 2px solid var(--wp--preset--color--blu); outline-offset: 3px; }

/* Movimento guidato dallo scorrimento (dove il browser lo supporta) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ammare-chapter__main img { animation: ammare-drift linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
		.ammare-chapter__name { animation: ammare-rise linear both; animation-timeline: view(); animation-range: entry 10% cover 40%; }
		@keyframes ammare-drift { from { transform: scale(1.14) translateY(-3%); } to { transform: scale(1.02) translateY(3%); } }
		@keyframes ammare-rise { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
	}
}

/* 3) A colpo d'occhio */
.ammare-compare { background: #fff; border-radius: 20px; padding: clamp(1.5rem, 4vw, 3rem); }
.ammare-compare__title { margin: 0 0 1.5rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2rem, 4vw, 3.2rem); text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-compare__scroll { overflow-x: auto; }
.ammare-compare__table { width: 100%; border-collapse: collapse; min-width: 640px; }
.ammare-compare__table th, .ammare-compare__table td { text-align: left; padding: 1.1rem 1rem; border-bottom: 1px solid rgba(18,52,63,.1); font-size: 1rem; }
.ammare-compare__table thead th { font-size: .8rem; font-weight: 500; color: var(--wp--preset--color--grigio); border-bottom-color: rgba(18,52,63,.2); }
.ammare-compare__table tbody tr:last-child th, .ammare-compare__table tbody tr:last-child td { border-bottom: 0; }
.ammare-compare__table tbody th a { display: flex; align-items: baseline; gap: .8rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: 1.8rem; text-transform: uppercase; color: var(--wp--preset--color--tinta); text-decoration: none; }
.ammare-compare__table tbody th a:hover { color: var(--wp--preset--color--blu); }
.ammare-compare__n { font-family: var(--wp--preset--font-family--gotham); font-size: .8rem; color: var(--wp--preset--color--grigio); }
.ammare-compare__table tbody tr { transition: background .3s; }
.ammare-compare__table tbody tr:hover { background: #f7fafb; }

/* 4) Ricerca */
.ammare-arch__book { position: relative; border-radius: 20px; padding: clamp(2rem, 5vw, 4rem); background: var(--wp--preset--color--blu); color: #fff; overflow: hidden; }
.ammare-arch__book::before { content: ""; position: absolute; right: -10%; top: -40%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.14), transparent); pointer-events: none; }
.ammare-arch__book-title { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.2rem, 5vw, 4rem); text-transform: uppercase; color: #fff; }
.ammare-arch__book > p { margin: 0 0 1.75rem; max-width: 48ch; color: rgba(255,255,255,.88); }
.ammare-arch__book .ob-search { background: #fff; padding: 1rem; border-radius: 12px; }

/* Telefono */
@media (max-width: 900px) {
	.ammare-arch__head { grid-template-columns: 1fr; }
	.ammare-acc { flex-direction: column; height: auto; margin-top: 0; }
	.ammare-acc__slice, .ammare-acc__slice.is-open { flex: none; aspect-ratio: 4 / 5; }
	.ammare-acc__slice:not(.is-open) .ammare-acc__img { transform: none; filter: none; }
	.ammare-acc__slice:not(.is-open)::after { background: linear-gradient(180deg, rgba(8,36,46,.05) 30%, rgba(8,36,46,.75)); }
	.ammare-acc__vert { display: none; }
	.ammare-acc__body { opacity: 1; transform: none; }
	.ammare-chapter, .ammare-chapter--flip { grid-template-columns: 1fr; }
	.ammare-chapter--flip .ammare-chapter__media { order: 0; }
}
@media (prefers-reduced-motion: reduce) { .ammare-acc__slice, .ammare-acc__img, .ammare-acc__body, .ammare-acc__vert { transition: none; } }

/* =========================================================
   Movimento: apertura, manifesto, galleria orizzontale, svelamenti
   ========================================================= */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }

/* Apertura: il titolo sale; scorrendo il video si stringe in una cornice */
.ammare-hero { --hp: 0; }
.has-motion .ammare-hero__media { clip-path: inset(calc(var(--hp) * 7%) calc(var(--hp) * 4%) 0 calc(var(--hp) * 4%) round calc(var(--hp) * 32px)); will-change: clip-path; }
.has-motion .ammare-hero__media img, .has-motion .ammare-hero__media video { transform: scale(calc(1.08 - var(--hp) * .08)); }
.has-motion .ammare-hero__testo { opacity: calc(1 - var(--hp) * 1.6); transform: translateY(calc(var(--hp) * -80px)); }
.has-motion .ammare-hero h1 { clip-path: inset(0 0 100% 0); transform: translateY(35%); transition: clip-path 1.2s cubic-bezier(.2,.8,.2,1) .2s, transform 1.2s cubic-bezier(.2,.8,.2,1) .2s; }
.has-motion .ammare-hero .ammare-occhiello, .has-motion .ammare-hero__sotto, .has-motion .ammare-hero .ob-search { opacity: 0; transform: translateY(18px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1); }
.has-motion .ammare-hero .ammare-occhiello { transition-delay: .1s; }
.has-motion .ammare-hero__sotto { transition-delay: .55s; }
.has-motion .ammare-hero .ob-search { transition-delay: .75s; }
.has-motion.is-ready .ammare-hero h1 { clip-path: inset(-10% 0 -10% 0); transform: none; }
.has-motion.is-ready .ammare-hero .ammare-occhiello, .has-motion.is-ready .ammare-hero__sotto, .has-motion.is-ready .ammare-hero .ob-search { opacity: 1; transform: none; }

/* Manifesto */
.ammare-manifesto-wrap { padding-block: clamp(6rem, 16vw, 14rem) clamp(4rem, 10vw, 8rem); }
.ammare-manifesto { display: grid; gap: clamp(3rem, 6vw, 5rem); }
.ammare-manifesto__text { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(2.6rem, 7vw, 6.4rem); line-height: 1.02; text-transform: uppercase; color: var(--wp--preset--color--tinta); letter-spacing: -.005em; }
.ammare-w { opacity: .16; transition: opacity .25s linear; }
.no-motion .ammare-w { opacity: 1; }
.ammare-manifesto__foot { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-areas: "desc teaser" "values values"; gap: clamp(2rem, 4vw, 3.5rem) clamp(2rem, 6vw, 6rem); align-items: end; border-top: 1px solid rgba(18,52,63,.14); padding-top: clamp(2rem, 4vw, 3rem); }
.ammare-manifesto__desc { grid-area: desc; }
.ammare-manifesto__lede { margin: 0; max-width: 46ch; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.6; color: var(--wp--preset--color--inchiostro); }
.ammare-teaser { grid-area: teaser; position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; column-gap: 1rem; text-decoration: none; color: inherit; }
.ammare-teaser__img { grid-column: 1 / -1; display: block; overflow: hidden; border-radius: 4px; aspect-ratio: 16 / 7; margin-bottom: 1.1rem; background: var(--wp--preset--color--tufo); }
.ammare-teaser__img img { display: block; width: 100%; height: 100%; object-fit: cover; filter: sepia(.35) saturate(.75) contrast(1.02); transform: scale(1.02); transition: transform 1.2s cubic-bezier(.2, .7, .2, 1), filter 1.2s ease; }
.ammare-teaser__kicker { grid-column: 1; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--legno); }
.ammare-teaser__title { grid-column: 1; margin-top: .35rem; font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.7rem, 2.6vw, 2.4rem); line-height: 1; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-teaser__go { grid-column: 2; grid-row: 2 / 4; align-self: end; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid currentColor; border-radius: 50%; color: var(--wp--preset--color--legno); font-size: 1.1rem; transition: background .4s ease, color .4s ease, transform .4s ease; }
.ammare-teaser:hover .ammare-teaser__img img, .ammare-teaser:focus-visible .ammare-teaser__img img { transform: scale(1.07); filter: sepia(.1) saturate(.95); }
.ammare-teaser:hover .ammare-teaser__go, .ammare-teaser:focus-visible .ammare-teaser__go { background: var(--wp--preset--color--legno); color: #fff; transform: translateX(4px); }
.ammare-teaser:focus-visible { outline: 2px solid var(--wp--preset--color--legno); outline-offset: 6px; }
.ammare-manifesto__values { grid-area: values; list-style: none; margin: 0; padding: clamp(1.2rem, 2.5vw, 1.8rem) 0 0; border-top: 1px solid rgba(18,52,63,.14); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.ammare-manifesto__values li { display: flex; align-items: baseline; gap: .6rem; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--inchiostro); }
.ammare-manifesto__n { font-family: var(--wp--preset--font-family--stalysta); font-size: 1.2rem; letter-spacing: 0; color: var(--wp--preset--color--legno); }
@media (max-width: 800px) {
	.ammare-manifesto__foot { grid-template-columns: 1fr; grid-template-areas: "desc" "teaser" "values"; }
	.ammare-manifesto__values { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: .9rem; }
}
@media (prefers-reduced-motion: reduce) { .ammare-teaser__img img, .ammare-teaser__go { transition: none; } }

/* Galleria orizzontale */
.ammare-hs-wrap { padding: 0 !important; }
.ammare-hs { position: relative; background: var(--wp--preset--color--inchiostro); color: #fff; }
.ammare-hs__sticky { overflow: hidden; }
.ammare-hs.is-pinned .ammare-hs__sticky { position: sticky; top: 0; height: 100vh; display: flex; align-items: center; }
.ammare-hs__track { display: flex; align-items: center; gap: clamp(1.5rem, 3vw, 3rem); padding: clamp(4rem, 8vw, 6rem) clamp(1.25rem, 5vw, 5rem); will-change: transform; }
.ammare-hs:not(.is-pinned) .ammare-hs__track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ammare-hs:not(.is-pinned) .ammare-hs__track::-webkit-scrollbar { display: none; }
.ammare-hs__intro { flex: none; width: min(420px, 78vw); display: grid; gap: 1.25rem; align-content: center; scroll-snap-align: start; }
.ammare-hs__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 7vw, 6rem); line-height: .9; text-transform: uppercase; color: #fff; }
.ammare-hs__intro p { margin: 0; font-size: 1.1rem; line-height: 1.6; color: rgba(255,255,255,.8); max-width: 30ch; }
.ammare-hs__hint { display: inline-flex; align-items: center; gap: .75rem; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.ammare-hs__hint::after { content: ""; width: 48px; height: 1px; background: currentColor; }
.ammare-hs__item { flex: none; margin: 0; display: grid; gap: .8rem; scroll-snap-align: center; }
.ammare-hs__frame { display: block; overflow: hidden; border-radius: 14px; background: rgba(255,255,255,.06); }
.ammare-hs__frame img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.ammare-hs__item:hover .ammare-hs__frame img { transform: scale(1.04); }
.ammare-hs__item--tall .ammare-hs__frame { width: clamp(240px, 24vw, 380px); aspect-ratio: 3 / 4; }
.ammare-hs__item--wide .ammare-hs__frame { width: clamp(320px, 42vw, 680px); aspect-ratio: 16 / 10; }
.ammare-hs__item--square .ammare-hs__frame { width: clamp(260px, 28vw, 440px); aspect-ratio: 1; }
.ammare-hs__item:nth-child(odd) { transform: translateY(6vh); }
.ammare-hs__item figcaption { font-size: .9rem; color: rgba(255,255,255,.72); }
.ammare-hs__bar { position: absolute; left: clamp(1.25rem, 5vw, 5rem); right: clamp(1.25rem, 5vw, 5rem); bottom: 2.5rem; height: 1px; background: rgba(255,255,255,.18); display: none; }
.ammare-hs.is-pinned .ammare-hs__bar { display: block; position: sticky; top: calc(100vh - 2.5rem); margin-top: -1px; }
.ammare-hs__bar span { display: block; height: 100%; background: #fff; transform-origin: left; transform: scaleX(0); }
@media (max-width: 900px) {
	.ammare-hs__item:nth-child(odd) { transform: none; }
	.ammare-hs__item--wide .ammare-hs__frame { width: 80vw; }
	.ammare-hs__item--tall .ammare-hs__frame, .ammare-hs__item--square .ammare-hs__frame { width: 66vw; }
}

/* Svelamenti all'ingresso nello schermo */
.has-motion .ammare-reveal { opacity: 0; transform: translateY(36px); transition: opacity 1s ease var(--d, 0ms), transform 1.1s cubic-bezier(.2,.8,.2,1) var(--d, 0ms); }
.has-motion .ammare-reveal.is-in { opacity: 1; transform: none; }
.has-motion .ammare-chapter__media.ammare-reveal { opacity: 1; transform: none; clip-path: inset(12% 6% 12% 6% round 16px); transition: clip-path 1.3s cubic-bezier(.2,.8,.2,1); }
.has-motion .ammare-chapter__media.ammare-reveal.is-in { clip-path: inset(0 0 0 0 round 0); }
.has-motion .ammare-hero { background: transparent !important; }
.ammare-hs:not(.is-pinned) .ammare-hs__track { scroll-padding-inline: clamp(1.25rem, 5vw, 5rem); }

/* ——— Trani intorno: righe editoriali ——— */
.ammare-places { display: grid; gap: clamp(3.5rem, 9vw, 8rem); }
.ammare-places__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: .5rem 3rem; align-items: end; }
.ammare-places__head .ammare-en { grid-column: 1 / -1; }
.ammare-places__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-places__lead { margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--wp--preset--color--inchiostro); max-width: 36ch; }
.ammare-trani-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: end; }
.ammare-trani-row__media { margin: 0; overflow: hidden; border-radius: 4px; grid-column: 1 / span 7; }
.ammare-trani-row__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ammare-trani-row--tall .ammare-trani-row__media { grid-column: 2 / span 5; aspect-ratio: 4 / 5; }
.ammare-trani-row--wide .ammare-trani-row__media { aspect-ratio: 3 / 2; }
.ammare-trani-row--square .ammare-trani-row__media { grid-column: 1 / span 6; aspect-ratio: 1; }
.ammare-trani-row__text { grid-column: 9 / span 4; padding-bottom: clamp(0rem, 3vw, 3rem); }
.ammare-trani-row--tall .ammare-trani-row__text { grid-column: 8 / span 4; }
.ammare-trani-row--flip .ammare-trani-row__media { grid-column: 6 / span 7; grid-row: 1; }
.ammare-trani-row--flip.ammare-trani-row--square .ammare-trani-row__media { grid-column: 7 / span 6; }
.ammare-trani-row--flip .ammare-trani-row__text { grid-column: 1 / span 4; grid-row: 1; }
.ammare-trani-row__title { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1; text-transform: uppercase; color: var(--wp--preset--color--blu); }
.ammare-trani-row__text p { margin: 0; font-size: 1.05rem; line-height: 1.65; color: var(--wp--preset--color--inchiostro); max-width: 34ch; }
.has-motion .ammare-trani-row.ammare-reveal { opacity: 1; transform: none; }
.has-motion .ammare-trani-row.ammare-reveal .ammare-trani-row__media { clip-path: inset(14% 8% 14% 8% round 16px); transition: clip-path 1.4s cubic-bezier(.2,.8,.2,1); }
.has-motion .ammare-trani-row.ammare-reveal .ammare-trani-row__media img { transform: scale(1.18); transition: transform 1.8s cubic-bezier(.2,.8,.2,1); }
.has-motion .ammare-trani-row.ammare-reveal .ammare-trani-row__text { opacity: 0; transform: translateY(28px); transition: opacity 1s ease .35s, transform 1.1s cubic-bezier(.2,.8,.2,1) .35s; }
.has-motion .ammare-trani-row.ammare-reveal.is-in .ammare-trani-row__media { clip-path: inset(0 0 0 0 round 4px); }
.has-motion .ammare-trani-row.ammare-reveal.is-in .ammare-trani-row__media img { transform: scale(1.04); }
.has-motion .ammare-trani-row.ammare-reveal.is-in .ammare-trani-row__text { opacity: 1; transform: none; }
@media (max-width: 900px) {
	.ammare-places__head { grid-template-columns: 1fr; }
	.ammare-trani-row { grid-template-columns: 1fr; gap: 1.25rem; }
	.ammare-trani-row .ammare-trani-row__media,
	.ammare-trani-row .ammare-trani-row__text { grid-column: 1 !important; grid-row: auto !important; }
	.ammare-trani-row--tall .ammare-trani-row__media { width: 82%; }
	.ammare-trani-row--flip.ammare-trani-row--tall .ammare-trani-row__media { justify-self: end; }
	.ammare-trani-row__text { padding-bottom: 0; }
}

/* ——— Come arrivare ——— */
.ammare-arrive { list-style: none; margin: 1.5rem 0 1.25rem; padding: 0; display: grid; gap: 0; }
.ammare-arrive li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.1rem 0; border-top: 1px solid var(--wp--preset--color--acqua); }
.ammare-arrive li:last-child { border-bottom: 1px solid var(--wp--preset--color--acqua); }
.ammare-arrive__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--tufo); color: var(--wp--preset--color--legno); display: grid; place-items: center; }
.ammare-arrive__icon svg { width: 22px; height: 22px; }
.ammare-arrive strong { display: inline-block; font-size: 1rem; color: var(--wp--preset--color--inchiostro); margin-right: .6rem; }
.ammare-arrive__dist { font-size: .9rem; color: var(--wp--preset--color--blu); }
.ammare-arrive p { margin: .35rem 0 0; font-size: .95rem; line-height: 1.6; color: var(--wp--preset--color--grigio); }
.ammare-arrive__note { font-size: .9rem; line-height: 1.6; color: var(--wp--preset--color--grigio); }
@media (min-width: 782px) {
	#arrivare .wp-block-columns { align-items: stretch; }
	#arrivare .wp-block-column:last-child { display: flex; }
	#arrivare .ammare-mappa { flex: 1; min-height: 420px; height: auto; }
}
@media (min-width: 782px) {
	#arrivare .ammare-mappa.is-loaded { display: flex; }
	#arrivare .ammare-mappa.is-loaded iframe { flex: 1; height: auto; min-height: 420px; aspect-ratio: auto; }
}

/* Pagina Prenota: il modulo usa la larghezza ampia, non quella del testo. */
.is-layout-constrained > .wp-block-post-content:has(> .ob-booking) { max-width: min(1100px, 100%); }
.wp-block-post-content:has(> .ob-booking) > .ammare-lead { max-width: 40rem; margin-inline: 0; }
.wp-block-post-content.is-layout-constrained > .ob-booking { max-width: 100%; }

/* ——— La colazione ——— */
.ammare-breakfast { max-width: var(--wp--style--global--wide-size); margin-inline: auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: center; }
.ammare-breakfast__media { grid-column: 1 / span 6; position: relative; padding-bottom: 12%; }
.ammare-breakfast__main { margin: 0; width: 78%; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; }
.ammare-breakfast__main img, .ammare-breakfast__second img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ammare-breakfast__second { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: 4px; border: 8px solid var(--wp--preset--color--sabbia, #f4f4f4); }
.ammare-breakfast__text { grid-column: 8 / span 5; }
.ammare-breakfast__title { margin: .25rem 0 1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-breakfast__lead { margin: 0 0 2rem; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.6; color: var(--wp--preset--color--inchiostro); max-width: 36ch; }
.ammare-breakfast__menu { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: 1.5rem; }
.ammare-breakfast__row { display: flex; align-items: baseline; gap: .6rem; margin: 0; }
.ammare-breakfast__name { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.05; text-transform: uppercase; color: var(--wp--preset--color--blu); }
.ammare-breakfast__dots { flex: 1; border-bottom: 1px dotted var(--wp--preset--color--tinta); transform: translateY(-.3em); min-width: 1.5rem; }
.ammare-breakfast__price { font-size: 1.25rem; font-weight: 700; color: var(--wp--preset--color--inchiostro); white-space: nowrap; }
.ammare-breakfast__desc { margin: .45rem 0 0; font-size: .98rem; line-height: 1.6; color: var(--wp--preset--color--grigio); max-width: 42ch; }
.ammare-breakfast__note { margin: 0 0 1.75rem; font-size: .9rem; color: var(--wp--preset--color--grigio); }
.has-motion .ammare-breakfast__media.ammare-reveal { opacity: 1; transform: none; }
.has-motion .ammare-breakfast__media.ammare-reveal .ammare-breakfast__main { clip-path: inset(10% 10% 10% 10% round 16px); transition: clip-path 1.4s cubic-bezier(.2,.8,.2,1); }
.has-motion .ammare-breakfast__media.ammare-reveal .ammare-breakfast__second { transform: translateY(40px); opacity: 0; transition: transform 1.2s cubic-bezier(.2,.8,.2,1) .4s, opacity 1s ease .4s; }
.has-motion .ammare-breakfast__media.ammare-reveal.is-in .ammare-breakfast__main { clip-path: inset(0 0 0 0 round 4px); }
.has-motion .ammare-breakfast__media.ammare-reveal.is-in .ammare-breakfast__second { transform: none; opacity: 1; }
@media (max-width: 900px) {
	.ammare-breakfast { grid-template-columns: 1fr; gap: 2.5rem; }
	.ammare-breakfast__media, .ammare-breakfast__text { grid-column: 1; }
}
.ammare-credit { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Mappa con il banner dei cookie (LC Consent): stile di Ammare sopra quello del banner. */
.ammare-mappa.lcc-blocked { display: flex; flex-direction: column; justify-content: center; align-items: stretch; background: var(--wp--preset--color--acqua); border: 0; border-radius: var(--wp--custom--radius); padding: clamp(1.25rem, 4vw, 2.5rem); min-height: 18rem; }
.ammare-mappa.lcc-blocked .lcc-blocked-box { max-width: none; padding: 0; text-align: left; font: inherit; }
.ammare-mappa.lcc-blocked.lcc-unblocked { display: block; padding: 0; background: none; min-height: 420px; }
.ammare-mappa.lcc-blocked.lcc-unblocked > iframe { width: 100%; height: 100%; min-height: 420px; aspect-ratio: auto; border: 0; border-radius: var(--wp--custom--radius); }
@media (min-width: 782px) { #arrivare .ammare-mappa.lcc-blocked.lcc-unblocked { display: flex; } #arrivare .ammare-mappa.lcc-blocked.lcc-unblocked > iframe { flex: 1; } }
/* Conferma della prenotazione: via la frase introduttiva della pagina. */
.ob-is-done .wp-block-post-content > .ammare-lead { display: none; }

/* ——— Contatti ——— */
.ammare-page-contatti { padding-top: clamp(2rem, 5vw, 4rem); }
.ammare-contact { max-width: var(--wp--style--global--wide-size); margin: 0 auto clamp(3rem, 8vw, 6rem); padding-inline: var(--wp--style--root--padding-left, 1.5rem); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.ammare-contact__title { margin: .2rem 0 1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3.6rem, 10vw, 9rem); line-height: .85; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-contact__lead { margin: 0 0 clamp(2rem, 4vw, 3rem); font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.55; color: var(--wp--preset--color--inchiostro); max-width: 34ch; }
.ammare-contact__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--inchiostro); }
.ammare-contact__row { position: relative; display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto; grid-template-areas: "k v a" "k n a"; column-gap: 1.25rem; align-items: center; padding: 1.4rem .25rem 1.3rem; border-bottom: 1px solid var(--wp--preset--color--inchiostro); color: var(--wp--preset--color--inchiostro); text-decoration: none; overflow: hidden; isolation: isolate; }
.ammare-contact__row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--wp--preset--color--blu); transform: scaleY(0); transform-origin: bottom; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.ammare-contact__k { grid-area: k; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--blu); transition: color .3s; }
.ammare-contact__v { grid-area: v; font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.8rem, 3.6vw, 3.1rem); line-height: 1.05; text-transform: uppercase; transition: color .3s, transform .45s cubic-bezier(.2,.8,.2,1); }
.ammare-contact__note { grid-area: n; font-size: .92rem; color: var(--wp--preset--color--grigio); transition: color .3s; }
.ammare-contact__arrow { grid-area: a; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid currentColor; display: grid; place-items: center; transition: transform .45s cubic-bezier(.2,.8,.2,1), background-color .3s; }
.ammare-contact__arrow svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ammare-contact__row:hover::before, .ammare-contact__row:focus-visible::before { transform: scaleY(1); }
.ammare-contact__row:hover, .ammare-contact__row:focus-visible { color: #fff; }
.ammare-contact__row:hover .ammare-contact__k, .ammare-contact__row:focus-visible .ammare-contact__k,
.ammare-contact__row:hover .ammare-contact__note, .ammare-contact__row:focus-visible .ammare-contact__note { color: rgba(255,255,255,.8); }
.ammare-contact__row:hover .ammare-contact__v { transform: translateX(.5rem); }
.ammare-contact__row:hover .ammare-contact__arrow { transform: rotate(-45deg); }
.ammare-contact__side { position: sticky; top: 6.5rem; }
.ammare-contact__photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; }
.ammare-contact__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ammare-contact__now { position: relative; margin: -4.5rem 1.25rem 0; padding: 1.25rem 1.4rem; background: var(--wp--preset--color--sabbia, #f4f4f4); border-radius: 4px; box-shadow: 0 20px 40px -24px rgba(18,52,63,.45); }
.ammare-contact__now p { margin: 0; }
.ammare-contact__now-k { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--blu); }
.ammare-contact__time { font-family: var(--wp--preset--font-family--stalysta); font-size: 3.4rem; line-height: 1; color: var(--wp--preset--color--inchiostro); margin: .3rem 0 .2rem !important; }
.ammare-contact__sun { font-size: .95rem; color: var(--wp--preset--color--grigio); }
.ammare-page-contatti #arrivare { padding-top: clamp(3rem, 6vw, 5rem) !important; }
@media (prefers-reduced-motion: reduce) { .ammare-contact__row::before, .ammare-contact__v, .ammare-contact__arrow { transition: none; } }
@media (max-width: 900px) {
	.ammare-contact { grid-template-columns: 1fr; }
	.ammare-contact__side { position: static; }
	.ammare-contact__photo { aspect-ratio: 4 / 3; }
	.ammare-contact__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "k a" "v a" "n a"; row-gap: .25rem; }
}
/* Come arrivare: titolo che non si spezza a metà parola. */
#arrivare .wp-block-heading { font-size: clamp(2.6rem, 5vw, 4.6rem); overflow-wrap: normal; word-break: keep-all; hyphens: none; }
.ammare-contact__v { min-width: 0; overflow-wrap: anywhere; }
.ammare-contact__v--mail { text-transform: none; font-family: var(--wp--preset--font-family--gotham, inherit); font-weight: 300; font-size: clamp(1.4rem, 2.6vw, 2.3rem); letter-spacing: -.01em; }
/* Mappa non ancora aperta: il riquadro resta compatto, non lungo quanto la colonna. */
@media (min-width: 782px) {
	#arrivare .wp-block-column:last-child:has(.lcc-blocked:not(.lcc-unblocked)) { display: block; align-self: center; }
	#arrivare .ammare-mappa.lcc-blocked:not(.lcc-unblocked) { min-height: 22rem; }
}
.ammare-mappa.lcc-blocked:not(.lcc-unblocked) > iframe { display: none; }

/* ——— Pagina camera: apertura, dati, nastro ——— */
.ammare-room > .ammare-rhero, .ammare-room > .ammare-rfacts, .ammare-room > .ammare-strip { max-width: none; }
.ammare-room { padding-top: 0; }
.ammare-rhero { position: relative; height: calc(100svh - 72px); min-height: 520px; overflow: hidden; color: #fff; display: flex; align-items: flex-end; }
.ammare-rhero__media { position: absolute; inset: 0; margin: 0; }
.ammare-rhero__media img { width: 100%; height: 100%; object-fit: cover; display: block; transform-origin: 50% 40%; }
.ammare-rhero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,52,63,0) 35%, rgba(18,52,63,.55) 78%, rgba(18,52,63,.75) 100%); pointer-events: none; }
.ammare-rhero__inner { position: relative; z-index: 1; width: 100%; max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: 0 var(--wp--style--root--padding-left, 1.5rem) clamp(3.5rem, 8vh, 6rem); }
.ammare-rhero__kicker { display: flex; gap: .9rem; align-items: center; margin: 0 0 .6rem; font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ammare-rhero__kicker a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); }
.ammare-rhero__kicker span::before { content: ""; display: inline-block; width: 1.5rem; height: 1px; background: rgba(255,255,255,.7); vertical-align: middle; margin-right: .9rem; }
.ammare-rhero__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(4rem, 13vw, 12rem); line-height: .82; text-transform: uppercase; color: #fff; letter-spacing: -.01em; }
.ammare-rhero__line { margin: 1rem 0 0; max-width: 34ch; font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.5; font-weight: 300; }
.ammare-rhero__all { position: absolute; z-index: 2; right: var(--wp--style--root--padding-right, 1.5rem); bottom: clamp(3.5rem, 8vh, 6rem); display: inline-flex; gap: .6rem; align-items: center; padding: .8rem 1.2rem; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(18,52,63,.25); backdrop-filter: blur(8px); color: #fff; font: inherit; font-size: .85rem; letter-spacing: .06em; cursor: pointer; transition: background-color .3s; }
.ammare-rhero__all:hover, .ammare-rhero__all:focus-visible { background: rgba(18,52,63,.6); }
.ammare-rhero__all .ammare-i { width: 1.1rem; height: 1.1rem; }
@supports (animation-timeline: scroll()) {
	@media (prefers-reduced-motion: no-preference) {
		.ammare-rhero__media img { animation: ammare-rhero-zoom linear both; animation-timeline: scroll(root); animation-range: 0 100vh; }
		.ammare-rhero__inner { animation: ammare-rhero-rise linear both; animation-timeline: scroll(root); animation-range: 0 70vh; }
	}
}
@keyframes ammare-rhero-zoom { to { transform: scale(1.12) translateY(5%); } }
@keyframes ammare-rhero-rise { to { transform: translateY(-12%); opacity: .2; } }

.ammare-rfacts { position: relative; z-index: 2; width: min(var(--wp--style--global--wide-size), calc(100% - 2 * var(--wp--style--root--padding-left, 1.5rem))); margin: -2.6rem auto 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--wp--preset--color--sabbia, #f4f4f4); border-radius: 6px; box-shadow: 0 20px 50px -30px rgba(18,52,63,.5); }
.ammare-rfacts > div { padding: 1.3rem 1.5rem 1.4rem; border-left: 1px solid var(--wp--preset--color--acqua); }
.ammare-rfacts > div:first-child { border-left: 0; }
.ammare-rfacts dt { font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--blu); margin-bottom: .5rem; }
.ammare-rfacts dd { margin: 0; display: flex; align-items: baseline; gap: .55rem; color: var(--wp--preset--color--inchiostro); font-size: .95rem; line-height: 1.35; }
.ammare-rfacts dd .ammare-i { flex: none; width: 1.4rem; height: 1.4rem; align-self: center; color: var(--wp--preset--color--tinta); }
.ammare-rfacts__n { font-family: var(--wp--preset--font-family--stalysta); font-size: 3.2rem; line-height: .9; color: var(--wp--preset--color--tinta); }

.ammare-strip { padding: clamp(2rem, 5vw, 4rem) 0 0; }
.ammare-strip__head { max-width: var(--wp--style--global--wide-size); margin: 0 auto 1.4rem; padding: 0 var(--wp--style--root--padding-left, 1.5rem); display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.ammare-strip__title { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2.2rem, 5vw, 4rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-strip__nav { display: flex; gap: .5rem; }
.ammare-strip__nav button { width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--inchiostro); background: transparent; color: var(--wp--preset--color--inchiostro); display: grid; place-items: center; cursor: pointer; transition: background-color .25s, color .25s, opacity .25s; }
.ammare-strip__nav button:hover:not(:disabled) { background: var(--wp--preset--color--inchiostro); color: #fff; }
.ammare-strip__nav button:disabled { opacity: .3; cursor: default; }
.ammare-strip__nav .ammare-i { width: 1.2rem; height: 1.2rem; }
.ammare-strip__track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: max(var(--wp--style--root--padding-left, 1.5rem), calc((100vw - var(--wp--style--global--wide-size)) / 2)); padding: 0 max(var(--wp--style--root--padding-left, 1.5rem), calc((100vw - var(--wp--style--global--wide-size)) / 2)) 1rem; scrollbar-width: none; }
.ammare-strip__track::-webkit-scrollbar { display: none; }
.ammare-strip__item { flex: none; height: clamp(300px, 62vh, 620px); aspect-ratio: 4 / 3; padding: 0; border: 0; border-radius: 4px; overflow: hidden; cursor: zoom-in; scroll-snap-align: start; background: var(--wp--preset--color--acqua); }
.ammare-strip__item.is-tall { aspect-ratio: 3 / 4; }
.ammare-strip__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.ammare-strip__item:hover img { transform: scale(1.04); }
.ammare-strip__item:focus-visible { outline: 3px solid var(--wp--preset--color--blu); outline-offset: 3px; }
@media (max-width: 900px) {
	.ammare-rhero { height: 78svh; }
	.ammare-rhero__all { bottom: auto; top: 1rem; }
	.ammare-rfacts { grid-template-columns: 1fr 1fr; margin-top: -1.5rem; }
	.ammare-rfacts > div:nth-child(3) { border-left: 0; }
	.ammare-rfacts > div:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--acqua); }
	.ammare-rfacts__n { font-size: 2.4rem; }
	.ammare-strip__item { height: 52vh; }
}
.ammare-room { grid-template-columns: minmax(0, 1fr); row-gap: var(--wp--preset--spacing--50); }
.ammare-room > .ammare-rhero { margin: 0; width: 100%; }
.ammare-room > .ammare-strip { min-width: 0; width: 100%; }
.ammare-camera:not(.ammare-camera--archivio) { padding-top: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.ammare-rhero__kicker { margin-bottom: 1.4rem; }
.ammare-rhero__all { bottom: auto; top: 1.5rem; }
/* Racconto: il primo paragrafo come introduzione. */
.ammare-room__text > p:first-child { font-size: clamp(1.25rem, 1.9vw, 1.6rem); line-height: 1.5; font-weight: 300; color: var(--wp--preset--color--inchiostro); max-width: 38ch; }
/* Le altre camere: card verticali con la foto piena. */
.ammare-room__others .ammare-room__cards { gap: 14px; }
.ammare-room__others .ammare-card-room { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 4px; overflow: hidden; background: var(--wp--preset--color--inchiostro); box-shadow: none; border: 0; }
.ammare-room__others .ammare-card-room__img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.ammare-room__others .ammare-card-room__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.ammare-room__others .ammare-card-room::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,52,63,0) 45%, rgba(18,52,63,.8) 100%); }
.ammare-room__others .ammare-card-room__body { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 1.4rem 1.5rem; text-align: left; background: none; color: #fff; }
.ammare-room__others .ammare-card-room__name { color: #fff; font-size: clamp(2rem, 3vw, 2.8rem); }
.ammare-room__others .ammare-card-room__meta { color: rgba(255,255,255,.85); justify-content: flex-start; }
.ammare-room__others .ammare-card-room__cta { color: #fff; border-bottom-color: rgba(255,255,255,.6); }
.ammare-room__others .ammare-card-room:hover .ammare-card-room__img img { transform: scale(1.06); }

/* ——— Le camere: apertura e carte impilate ——— */
.ammare-camera--archivio { padding: 0 !important; }
.ammare-camera--archivio .ammare-arch { max-width: none; padding: 0; }
.ammare-arch > .ammare-compare, .ammare-arch > .ammare-arch__book { max-width: var(--wp--style--global--wide-size); margin-inline: auto; width: calc(100% - 2 * var(--wp--style--root--padding-left, 1.5rem)); }
.ammare-ahero { position: relative; min-height: calc(100svh - 72px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.ammare-ahero__media { position: absolute; inset: 0; margin: 0; }
.ammare-ahero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ammare-ahero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,52,63,.15) 0%, rgba(18,52,63,0) 30%, rgba(18,52,63,.7) 100%); }
.ammare-ahero__inner { position: relative; z-index: 1; width: 100%; max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: 0 var(--wp--style--root--padding-left, 1.5rem) clamp(2.5rem, 7vh, 5rem); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); column-gap: 3rem; align-items: end; }
.ammare-ahero__inner .ammare-en { grid-column: 1 / -1; color: rgba(255,255,255,.85); }
.ammare-ahero__title { grid-column: 1; margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(4rem, 12vw, 11rem); line-height: .82; text-transform: uppercase; color: #fff; }
.ammare-ahero__lead { grid-column: 2; margin: 0 0 1.2rem; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; max-width: 36ch; }
.ammare-ahero__index { grid-column: 1 / -1; list-style: none; margin: clamp(1.5rem, 4vh, 2.5rem) 0 0; padding: 1.2rem 0 0; border-top: 1px solid rgba(255,255,255,.45); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ammare-ahero__index a { display: flex; gap: .8rem; align-items: baseline; color: #fff; text-decoration: none; font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.4rem, 2.4vw, 2.2rem); text-transform: uppercase; line-height: 1; transition: opacity .3s; }
.ammare-ahero__index a span { font-family: var(--wp--preset--font-family--gotham, inherit); font-size: .8rem; letter-spacing: .12em; opacity: .75; }
.ammare-ahero__index:hover a { opacity: .55; } .ammare-ahero__index a:hover, .ammare-ahero__index a:focus-visible { opacity: 1; }

.ammare-stack { position: relative; max-width: var(--wp--style--global--wide-size); margin: clamp(3rem, 8vw, 6rem) auto; width: calc(100% - 2 * var(--wp--style--root--padding-left, 1.5rem)); display: grid; gap: clamp(2rem, 6vh, 4rem); }
.ammare-stack__card { position: sticky; top: calc(88px + var(--i) * 16px); height: min(calc(100svh - 130px), 760px); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); background: var(--wp--preset--color--sabbia, #f4f4f4); border-radius: 8px; overflow: hidden; box-shadow: 0 -1px 0 rgba(18,52,63,.06), 0 30px 60px -40px rgba(18,52,63,.55); scroll-margin-top: 100px; }
.ammare-stack__card:nth-child(even) { background: #fff; }
.ammare-stack__media { position: relative; display: block; overflow: hidden; }
.ammare-stack__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.ammare-stack__card:hover .ammare-stack__media img { transform: scale(1.04); }
.ammare-stack__panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.75rem, 4vw, 3.5rem); overflow: auto; }
.ammare-stack__num { display: flex; align-items: center; gap: .8rem; margin: 0 0 .4rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--blu); }
.ammare-stack__num span { font-family: var(--wp--preset--font-family--stalysta); font-size: 2.6rem; font-weight: 400; letter-spacing: 0; color: var(--wp--preset--color--acqua); -webkit-text-stroke: 1px var(--wp--preset--color--tinta); }
.ammare-stack__name { margin: 0 0 .8rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 6vw, 5.6rem); line-height: .88; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-stack__line { margin: 0 0 .8rem; font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.45; color: var(--wp--preset--color--inchiostro); max-width: 30ch; }
.ammare-stack__desc { margin: 0 0 1.4rem; font-size: .98rem; line-height: 1.6; color: var(--wp--preset--color--grigio); max-width: 42ch; }
.ammare-stack__facts { display: flex; gap: 0; margin: 0 0 1.6rem; border-top: 1px solid var(--wp--preset--color--acqua); border-bottom: 1px solid var(--wp--preset--color--acqua); }
.ammare-stack__facts > div { flex: 1; padding: .8rem 0; }
.ammare-stack__facts > div + div { padding-left: 1rem; border-left: 1px solid var(--wp--preset--color--acqua); }
.ammare-stack__facts dt { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--grigio); }
.ammare-stack__facts dd { margin: .2rem 0 0; font-family: var(--wp--preset--font-family--stalysta); font-size: 1.9rem; line-height: 1; color: var(--wp--preset--color--inchiostro); }
.ammare-stack__cta { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (prefers-reduced-motion: reduce) { .ammare-stack__media img { transition: none; } }
@media (max-width: 900px) {
	.ammare-ahero { min-height: 82svh; }
	.ammare-ahero__inner { grid-template-columns: 1fr; }
	.ammare-ahero__lead { grid-column: 1; margin-top: 1rem; }
	.ammare-ahero__index { grid-template-columns: 1fr 1fr; }
	.ammare-stack__card { position: relative; top: auto; height: auto; grid-template-columns: 1fr; }
	.ammare-stack__media { aspect-ratio: 4 / 3; }
}
.ammare-ahero__inner .ammare-en { margin-bottom: 1rem !important; }
.ammare-ahero__lead { text-shadow: 0 1px 12px rgba(18,52,63,.55); }
.ammare-ahero::after { background: linear-gradient(180deg, rgba(18,52,63,.15) 0%, rgba(18,52,63,0) 28%, rgba(18,52,63,.55) 70%, rgba(18,52,63,.8) 100%); }
.ammare-arch { grid-template-columns: minmax(0, 1fr); }
.ammare-compare, .ammare-compare__scroll { min-width: 0; }

/* ——— Domande frequenti ——— */
.ammare-faq { max-width: 60rem; margin: 0 auto clamp(4rem, 9vw, 7rem); padding: clamp(2rem, 5vw, 4rem) var(--wp--style--root--padding-left, 1.5rem) 0; }
.ammare-faq__title { margin: .2rem 0 1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3.2rem, 9vw, 7.5rem); line-height: .85; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-faq__lead { margin: 0 0 2.5rem; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.55; max-width: 38ch; }
.ammare-faq__list { border-top: 1px solid var(--wp--preset--color--inchiostro); }
.ammare-faq__item { border-bottom: 1px solid var(--wp--preset--color--acqua); }
.ammare-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.4rem 0; cursor: pointer; }
.ammare-faq__item summary::-webkit-details-marker { display: none; }
.ammare-faq__q { font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1.1; text-transform: uppercase; color: var(--wp--preset--color--inchiostro); transition: color .25s; }
.ammare-faq__item summary:hover .ammare-faq__q { color: var(--wp--preset--color--blu); }
.ammare-faq__plus { position: relative; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--inchiostro); transition: transform .35s cubic-bezier(.2,.8,.2,1), background-color .25s; }
.ammare-faq__plus::before, .ammare-faq__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: .9rem; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.ammare-faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.ammare-faq__item[open] .ammare-faq__plus { transform: rotate(45deg); background: var(--wp--preset--color--blu); color: #fff; border-color: var(--wp--preset--color--blu); }
.ammare-faq__item p { margin: 0 0 1.6rem; max-width: 60ch; font-size: 1.05rem; line-height: 1.7; color: var(--wp--preset--color--grigio); }
.ammare-faq__more { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; }
@media (prefers-reduced-motion: reduce) { .ammare-faq__plus { transition: none; } }
.ammare-page-contatti .ammare-faq { padding-top: 0; }

/* ——— Accenti caldi (02/10/2026, richiesta di Nicola): tufo e legno accanto al blu del brandbook ——— */
.ammare-trani-row__title { color: var(--wp--preset--color--legno); }

/* ——— Storia della casa ——— */
.ammare-storia { padding-bottom: clamp(4rem, 9vw, 7rem); }
.ammare-storia__hero { position: relative; margin: 0; }
.ammare-storia__hero img { display: block; width: 100%; height: auto; max-height: 78vh; object-fit: cover; }
.ammare-storia__head { max-width: 60rem; margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) var(--wp--style--root--padding-left, 1.5rem) clamp(1.5rem, 4vw, 3rem); }
.ammare-storia__title { margin: .2rem 0 1rem; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 9vw, 7rem); line-height: .88; text-transform: uppercase; color: var(--wp--preset--color--tinta); }
.ammare-storia__lead { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.55; max-width: 44ch; color: var(--wp--preset--color--inchiostro); }
.ammare-storia__cap { margin: .7rem auto 0; max-width: 60rem; padding: 0 var(--wp--style--root--padding-left, 1.5rem); font-size: .85rem; line-height: 1.5; color: var(--wp--preset--color--grigio); }
.ammare-storia__chapter { max-width: 60rem; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) var(--wp--style--root--padding-left, 1.5rem); display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: 1rem 3rem; border-top: 1px solid var(--wp--preset--color--tufo); }
.ammare-storia__chapter h2 { margin: 0; font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); line-height: .95; text-transform: uppercase; color: var(--wp--preset--color--legno); }
.ammare-storia__chapter p { margin: 0 0 1.2rem; font-size: 1.08rem; line-height: 1.75; max-width: 62ch; }
.ammare-storia__figure { margin: clamp(1rem, 4vw, 3rem) auto; max-width: 72rem; padding: 0 var(--wp--style--root--padding-left, 1.5rem); }
.ammare-storia__figure img { display: block; width: 100%; height: auto; border-radius: 4px; }
.ammare-storia__figure figcaption { margin-top: .7rem; font-size: .85rem; line-height: 1.5; color: var(--wp--preset--color--grigio); }
.ammare-storia__band { background: var(--wp--preset--color--tufo); padding: clamp(.5rem, 2vw, 1.5rem) 0; }
/* La residenza: Colonna oggi (02/10/2026) */
.ammare-oggi { overflow-x: clip; margin-top: clamp(2rem, 6vw, 4rem); background: var(--wp--preset--color--tufo); padding: clamp(3.5rem, 9vw, 7rem) 0 clamp(2.5rem, 6vw, 4.5rem); }
.ammare-oggi__inner { max-width: 72rem; margin: 0 auto; padding: 0 var(--wp--style--root--padding-left, 1.5rem); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .8fr); grid-template-areas: "head head side" "lead lead side" "body body side"; gap: 0 clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.ammare-oggi__side { grid-area: side; margin: clamp(.5rem, 3vw, 2rem) 0 0; display: flex; flex-direction: column; }
.ammare-oggi__polaroid { background: #fff; padding: 8px 8px 26px; box-shadow: 0 18px 40px -18px rgba(40, 30, 20, .45); transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.ammare-oggi__polaroid img { display: block; width: 100%; height: auto; filter: saturate(.88) contrast(1.03); }
.ammare-oggi__polaroid--arc { width: 92%; max-width: 360px; transform: rotate(-2.5deg); position: relative; z-index: 1; }
.ammare-oggi__polaroid--fan { width: 58%; max-width: 230px; align-self: flex-end; margin-top: -18%; transform: rotate(3deg); position: relative; z-index: 2; }
.ammare-oggi__side:hover .ammare-oggi__polaroid--arc { transform: rotate(-1deg) translateY(-4px); }
.ammare-oggi__side:hover .ammare-oggi__polaroid--fan { transform: rotate(1.5deg) translateY(-4px); }
.ammare-oggi__side figcaption { margin-top: 1.4rem; font-size: .82rem; letter-spacing: .02em; color: var(--wp--preset--color--grigio); }
@media (prefers-reduced-motion: reduce) { .ammare-oggi__polaroid { transition: none; } }
.ammare-oggi__head { grid-area: head; }
.ammare-oggi__title { margin: .2rem 0 clamp(1.5rem, 3vw, 2.5rem); font-family: var(--wp--preset--font-family--stalysta); font-weight: 400; font-size: clamp(3rem, 9vw, 7.5rem); line-height: .85; text-transform: uppercase; color: var(--wp--preset--color--legno); }
.ammare-oggi__lead { grid-area: lead; margin: 0 0 clamp(1.5rem, 3vw, 2.5rem); font-family: var(--wp--preset--font-family--stalysta); font-size: clamp(1.6rem, 3.2vw, 2.6rem); line-height: 1.15; max-width: 22ch; color: var(--wp--preset--color--tinta); }
.ammare-oggi__body { grid-area: body; columns: 2 18rem; column-gap: clamp(1.5rem, 3vw, 2.5rem); }
.ammare-oggi__body p { margin: 0 0 1.1rem; font-size: 1.02rem; line-height: 1.75; break-inside: avoid; }
@media (max-width: 860px) {
	.ammare-oggi__inner { grid-template-columns: 1fr; grid-template-areas: "head" "lead" "side" "body"; }
	.ammare-oggi__side { margin: 0 0 2.5rem; padding: 0 .5rem; }
	.ammare-oggi__polaroid--arc { width: 64%; }
	.ammare-oggi__polaroid--fan { width: 42%; margin-top: -20%; margin-right: 8%; }
	.ammare-oggi__body { columns: 1; }
}
.ammare-storia__more { max-width: 60rem; margin: clamp(2rem, 5vw, 3rem) auto 0; padding: 0 var(--wp--style--root--padding-left, 1.5rem); display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 720px) {
	.ammare-storia__chapter { grid-template-columns: 1fr; }
}
.ammare-storia-link { margin-top: 1.5rem; }
.ammare-storia-link a { color: var(--wp--preset--color--legno); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }

/* Header sui telefoni stretti (≤ 430 px): logo, menu, IT|EN e Prenota devono stare in una riga senza scorrimento orizzontale (02/10/2026). */
@media (max-width: 430px) {
	.ammare-header { gap: .35rem; }
	.ammare-header__destra { gap: .4rem !important; }
	.ammare-logo img { width: 7.4rem; }
	.ammare-lingue { gap: .15rem; font-size: .72rem; letter-spacing: .08em; }
	.ammare-lingue a, .ammare-lingue__attiva { min-width: 26px; }
	.ammare-header__prenota .wp-block-button__link { padding: .62rem .75rem; font-size: .7rem; letter-spacing: .06em; }
}
/* Riquadro della mappa prima del consenso: width 100% + padding usciva dallo schermo su mobile (scroll orizzontale di tutta la home). */
.ammare-mappa, .ammare-mappa.lcc-blocked { box-sizing: border-box; max-width: 100%; }
/* Riquadri dei servizi: l'icona sta nel flusso, sopra il testo (prima era assoluta e su mobile si sovrapponeva ai titoli lunghi). */
.ammare-tile:not(.ammare-tile--photo):not(.ammare-tile--long) .ammare-tile__icon { position: static; flex: none; margin-bottom: auto; }
.ammare-tile:not(.ammare-tile--photo):not(.ammare-tile--long) .ammare-tile__icon + strong { margin-top: 1rem; }
/* WhatsApp sui telefoni: nascosto sopra l'apertura della home (copriva "Verifica disponibilità"), poi compare. */
.ammare-whatsapp { transition: opacity .35s ease, transform .35s ease, visibility .35s; }
@media (max-width: 781px) {
	.ammare-whatsapp.is-over-hero { opacity: 0; visibility: hidden; transform: translateY(12px); pointer-events: none; }
}
@media (max-width: 1000px) {
	.ammare-tile--long .ammare-tile__icon { position: static; margin-bottom: auto; }
	.ammare-tile--long .ammare-tile__icon + strong { margin-top: 1rem; }
}
