/* =========================================================
   ANTALIA — Redesign UX/UI, prototipo locale
   Colore: tutta la UI dipende dal blocco RUOLI CROMATICI in :root.
   Valori --wa-*: working approximation — in attesa di verifica dei valori CSS live.
   Brand Manual: solo --brand-oro per la finestra; logo e pattern sono SVG originali.
   Megante: licenza web non verificata -> fallback dichiarato (Marcellus, OFL).
   ========================================================= */
@font-face{font-family:"Inter";src:url(../fonts/inter-latin-wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Marcellus";src:url(../fonts/marcellus-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  /* ===== ASSET DEL MARCHIO (Brand Manual) =====
     Usati SOLO dagli elementi brand: linee della finestra. Logo e pattern
     sono SVG originali con i colori incorporati. Non sono colori UI. */
  --brand-oro:#e5c762;

  /* ===== RUOLI CROMATICI =====
     Direzione approvata: white stone + sea blue + olive + terracotta (Colla Studio).
     Valori --wa-*: "working approximation — in attesa di verifica dei valori CSS live".
     NON sono colori originali verificati. Tutto il colore della UI dipende da questo blocco. */
  --wa-white-stone:#F7F4EE;    /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-stone-chiaro:#FFFFFF;   /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-sea-blue:#1E5B78;       /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-sea-blue-scuro:#163F54; /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-olive:#5F6441;          /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-terracotta:#B4633F;     /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-testo:#2A2521;          /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-testo-2:#5E5750;        /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-su-scuro:#FFFFFF;       /* working approximation — in attesa di verifica dei valori CSS live */
  --wa-errore:#A3262A;         /* proposta funzionale UI — da validare */

  --ruolo-fondo-pagina:var(--wa-white-stone);
  --ruolo-fondo-alternato:var(--wa-stone-chiaro);
  --ruolo-fondo-editoriale:var(--wa-olive);
  --ruolo-fondo-scuro:var(--wa-sea-blue-scuro);
  --ruolo-superficie:var(--wa-stone-chiaro);
  --ruolo-superficie-tenue:var(--wa-white-stone);
  --ruolo-testo:var(--wa-testo);
  --ruolo-testo-secondario:var(--wa-testo-2);
  --ruolo-titoli:var(--wa-testo);
  --ruolo-testo-su-scuro:var(--wa-su-scuro);
  --ruolo-titoli-su-scuro:var(--wa-su-scuro);
  --ruolo-accento-su-scuro:var(--wa-white-stone);
  --ruolo-bottone:var(--wa-sea-blue);
  --ruolo-bottone-testo:var(--wa-su-scuro);
  --ruolo-bottone-hover:var(--wa-sea-blue-scuro);
  --ruolo-bottone-su-scuro:var(--wa-white-stone);
  --ruolo-bottone-su-scuro-testo:var(--wa-sea-blue-scuro);
  --ruolo-bottone-su-scuro-hover:var(--wa-stone-chiaro);
  --ruolo-link:var(--wa-sea-blue);
  --ruolo-link-sottolineatura:var(--wa-terracotta);
  --ruolo-decoro:var(--wa-terracotta);
  --ruolo-finestra:var(--brand-oro);
  --ruolo-campitura:var(--wa-sea-blue);
  --ruolo-campitura-testo:var(--wa-su-scuro);
  --ruolo-header-scorrimento:color-mix(in srgb,var(--wa-white-stone) 97%,transparent);
  --ruolo-barra-mobile:color-mix(in srgb,var(--wa-stone-chiaro) 97%,transparent);
  --ruolo-footer:var(--wa-sea-blue-scuro);
  --ruolo-footer-testo:var(--wa-su-scuro);
  --ruolo-footer-titoli:var(--wa-white-stone);
  --ruolo-footer-sottolineatura:var(--wa-white-stone);
  --ruolo-focus:var(--wa-sea-blue);
  --ruolo-valido:var(--wa-sea-blue);
  --ruolo-stato:var(--wa-sea-blue);
  --ruolo-errore:var(--wa-errore);
  --ruolo-linea:color-mix(in srgb,var(--wa-testo) 16%,transparent);
  --ruolo-velo:color-mix(in srgb,var(--wa-testo) 62%,transparent);
  --ruolo-velo-galleria:color-mix(in srgb,var(--wa-testo) 96%,transparent);
  --ruolo-ombra-testo:color-mix(in srgb,var(--wa-testo) 55%,transparent);

  /* ===== ANNOTAZIONI DEL PROTOTIPO (mai nel sito) ===== */
  --proto-nota:#6a3fc2;
  --proto-nota-testo:#FFFFFF;

  /* Tipografia */
  --f-display-ufficiale:"Megante";   /* non caricato: licenza da verificare */
  --f-display:"Marcellus","Optima","Candara",Georgia,serif;
  --f-testo:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-xs:.8125rem; --fs-s:.9375rem; --fs-m:1.0625rem; --fs-l:1.25rem;
  --fs-h3:clamp(1.35rem,1.1rem + .8vw,1.7rem);
  --fs-h2:clamp(1.85rem,1.3rem + 2vw,2.85rem);
  --fs-h1:clamp(2.3rem,1.5rem + 3.2vw,4.1rem);
  --lh-testo:1.62; --lh-titolo:1.12;

  /* Spaziature */
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;
  --sezione:clamp(64px,9vw,128px);

  /* Larghezze */
  --w-max:1320px; --w-testo:36rem; --gutter:clamp(20px,5vw,64px);

  /* Bordi */
  --r-0:0; --r-1:2px; --r-finestra:9999px 9999px 0 0;
  --b-sottile:1px solid var(--ruolo-linea); --b-oro:1.5px solid var(--ruolo-finestra);

  /* Controlli */
  --h-controllo:48px;

  /* Movimento */
  --t-rapido:160ms; --t-base:280ms; --t-lento:900ms; --ease:cubic-bezier(.2,.7,.2,1);

  --h-header:84px;
  --pattern:url(../brand/pattern-module.svg);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--f-testo);font-size:var(--fs-m);line-height:var(--lh-testo);color:var(--ruolo-testo);background:var(--ruolo-fondo-pagina);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
svg{fill:currentColor}
figure{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{color:var(--ruolo-titoli);font-family:var(--f-display);font-weight:400;line-height:var(--lh-titolo);margin:0;letter-spacing:.005em;text-wrap:balance}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 var(--s-4)} p:last-child{margin-bottom:0}
.lead{font-size:var(--fs-l);line-height:1.55;color:var(--ruolo-testo-secondario);max-width:var(--w-testo)}
.wrap{max-width:var(--w-max);margin-inline:auto;padding-inline:var(--gutter)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--ruolo-focus);outline-offset:3px}
.on-dark :focus-visible,.on-dark:focus-visible{outline-color:var(--ruolo-accento-su-scuro)}
.on-dark h1,.on-dark h2,.on-dark h3{color:var(--ruolo-titoli-su-scuro)}
.skip{position:absolute;left:var(--s-4);top:-80px;z-index:100;background:var(--ruolo-testo);color:var(--ruolo-testo-su-scuro);padding:var(--s-3) var(--s-4);text-decoration:none}
.skip:focus{top:var(--s-4)}

/* ---------- Barra prototipo (interna, IT) ---------- */
.proto-bar{background:var(--proto-nota);color:var(--proto-nota-testo);font-size:var(--fs-xs);line-height:1.3}
.proto-bar .wrap{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);align-items:center;min-height:40px;padding-block:6px}
.proto-bar strong{font-weight:600}
.proto-bar a{color:var(--proto-nota-testo)}
.proto-toggle{display:inline-flex;align-items:center;gap:var(--s-2);background:transparent;border:1px solid color-mix(in srgb,var(--proto-nota-testo) 60%,transparent);color:var(--proto-nota-testo);min-height:30px;padding:0 var(--s-3);cursor:pointer;border-radius:var(--r-1)}
.proto-toggle[aria-pressed="true"]{background:var(--proto-nota-testo);color:var(--proto-nota)}
.proto-bar :focus-visible{outline-color:var(--proto-nota-testo)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;transition:background var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.site-header .wrap{display:flex;align-items:center;gap:var(--s-5);height:var(--h-header);transition:height var(--t-base) var(--ease)}
.site-header.is-scrolled{background:var(--ruolo-header-scorrimento);box-shadow:0 1px 0 var(--ruolo-linea)}
.site-header.is-scrolled .wrap{height:64px}
.brand-link{display:inline-flex;align-items:center;flex:none;min-height:44px}
.brand-link img{height:44px;width:auto;transition:height var(--t-base) var(--ease)}
.site-header.is-scrolled .brand-link img{height:38px}
.nav-main{margin-left:auto}
.nav-main ul{display:flex;gap:var(--s-2);list-style:none;margin:0;padding:0}
.nav-main a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-2);text-decoration:none;font-size:var(--fs-s);position:relative}
.nav-main a::after{content:"";position:absolute;left:var(--s-2);right:var(--s-2);bottom:8px;height:1.5px;background:var(--ruolo-decoro);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) var(--ease)}
.nav-main a:hover::after,.nav-main a[aria-current="page"]::after{transform:scaleX(1)}
.nav-main a[aria-current="page"]{font-weight:600}
.lang{display:flex;align-items:center;gap:2px;font-size:var(--fs-s)}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;color:var(--ruolo-testo-secondario)}
.lang a[aria-current="true"]{color:var(--ruolo-testo);font-weight:600;text-decoration:underline;text-decoration-color:var(--ruolo-link-sottolineatura);text-underline-offset:6px;text-decoration-thickness:1.5px}
.menu-btn{display:none;align-items:center;gap:var(--s-2);min-height:44px;min-width:44px;padding:0 var(--s-3);background:transparent;border:1px solid var(--ruolo-linea);cursor:pointer;border-radius:var(--r-1)}
.menu-btn svg{width:20px;height:20px}

/* ---------- Bottoni e link ---------- */
.btn{--bg:var(--ruolo-bottone);--fg:var(--ruolo-bottone-testo);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--h-controllo);padding:0 var(--s-5);background:var(--bg);color:var(--fg);border:1.5px solid var(--bg);border-radius:var(--r-1);font-size:var(--fs-s);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background var(--t-rapido),color var(--t-rapido),border-color var(--t-rapido),transform var(--t-rapido)}
.btn:hover,.btn.is-hover{--bg:var(--ruolo-bottone-hover)}
.btn:active,.btn.is-active{transform:translateY(1px)}
.btn[disabled],.btn.is-disabled{opacity:.45;cursor:not-allowed}
.btn--ghost{--bg:transparent;--fg:var(--ruolo-testo);border-color:currentColor}
.btn--ghost:hover,.btn--ghost.is-hover{--bg:var(--ruolo-bottone-hover);--fg:var(--ruolo-bottone-testo);border-color:var(--ruolo-bottone-hover)}
.on-dark .btn--ghost{--fg:var(--ruolo-testo-su-scuro)}
.on-dark .btn--ghost:hover{--bg:var(--ruolo-bottone-su-scuro-hover);--fg:var(--ruolo-bottone-su-scuro-testo);border-color:var(--ruolo-bottone-su-scuro-hover)}
.on-dark .btn:not(.btn--ghost){--bg:var(--ruolo-bottone-su-scuro);--fg:var(--ruolo-bottone-su-scuro-testo)}
.on-dark .btn:not(.btn--ghost):hover{--bg:var(--ruolo-bottone-su-scuro-hover);--fg:var(--ruolo-bottone-su-scuro-testo)}
.on-dark .link{color:var(--ruolo-testo-su-scuro)}
.btn--sm{min-height:44px;padding:0 var(--s-4)}
.btn.is-loading{pointer-events:none;position:relative;color:transparent}
.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--ruolo-bottone-testo);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
.link{display:inline-flex;align-items:center;min-height:44px;font-weight:500;color:var(--ruolo-link);text-decoration:underline;text-decoration-color:var(--ruolo-link-sottolineatura);text-decoration-thickness:1.5px;text-underline-offset:6px;transition:text-decoration-color var(--t-rapido)}
.link:hover{text-decoration-color:currentColor}
.ext::after{content:"";display:inline-block;width:.7em;height:.7em;margin-left:.35em;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path d="M4 1h7v7h-1.5V3.6L2.1 11 1 9.9 8.4 2.5H4z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path d="M4 1h7v7h-1.5V3.6L2.1 11 1 9.9 8.4 2.5H4z"/></svg>') center/contain no-repeat}

/* ---------- La finestra ---------- */
/* Geometria dal manuale p.9/p.24: semicerchio + rettangolo, rapporto 1:1,4. */
.finestra{position:relative;border-radius:var(--r-finestra);overflow:hidden;aspect-ratio:1/1.4;background:var(--ruolo-campitura)}
.finestra img{width:100%;height:100%;object-fit:cover}
.finestra-linea{position:absolute;border:var(--b-oro);border-radius:var(--r-finestra);pointer-events:none}

/* ---------- Hero homepage ---------- */
.hero{padding-block:var(--s-6) var(--sezione)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"head visual" "body visual";column-gap:var(--s-7);row-gap:0;align-items:end}
.hero__head{grid-area:head;align-self:end}
.hero__body{grid-area:body;align-self:start}
.hero__visual{grid-area:visual}
.hero__kicker{font-size:var(--fs-s);color:var(--ruolo-testo-secondario);margin-bottom:var(--s-5)}
.hero h1{max-width:11ch}
.hero .lead{margin-top:var(--s-5)}
.hero__visual{position:relative;justify-self:end;width:min(100%,590px);margin-top:var(--s-7)}
.hero__visual .finestra-linea{inset:-28px 28px 28px -28px}
.hero__visual figcaption{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--ruolo-testo-secondario);padding-left:var(--s-1)}
.hero__visual .finestra img{object-position:44% 50%;transform-origin:44% 40%}
.hero__brandline{position:absolute;right:calc(100% + 56px);bottom:22%;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-display);font-size:var(--fs-s);letter-spacing:.24em;color:var(--ruolo-campitura);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .hero__visual .finestra{animation:apri var(--t-lento) var(--ease) both .1s}
  .hero__visual .finestra img{animation:respiro 1.6s var(--ease) both .1s}
  .hero__visual .finestra-linea{animation:linea 1.2s var(--ease) both .45s}
}
@keyframes apri{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes respiro{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes linea{from{opacity:0;transform:translate(14px,-14px)}to{opacity:1;transform:none}}

/* ---------- Sezioni ---------- */
.section{padding-block:var(--sezione)}
.section--white{background:var(--ruolo-fondo-alternato)}
.section--sabbia{background:var(--ruolo-fondo-editoriale);color:var(--ruolo-testo-su-scuro)}
.section--sabbia h2,.section--sabbia .link{color:var(--ruolo-titoli-su-scuro)}
.section--sabbia .cap,.section--sabbia .quote figcaption{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 82%,transparent)}
.section--sabbia .pending,.on-dark .pending{border-color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 55%,transparent);color:var(--ruolo-testo-su-scuro)}
.section--sabbia .pending .ref,.on-dark .pending .ref{color:var(--proto-nota-testo);background:var(--proto-nota);padding:0 4px;border-radius:2px}
.section--sabbia .link{text-decoration-color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 70%,transparent)}
.section--dark{background:var(--ruolo-fondo-scuro);color:var(--ruolo-testo-su-scuro)}
.section--dark .lead,.section--dark .muted{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 80%,transparent)}
.section--verde{background:var(--ruolo-campitura);color:var(--ruolo-campitura-testo)}
.section-head{max-width:44rem;margin-bottom:var(--s-8)}
.section-head .lead{margin-top:var(--s-4)}
.muted{color:var(--ruolo-testo-secondario)}
.small{font-size:var(--fs-s)}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}

/* Ospitalità */
.care{align-items:center}
.care__text{grid-column:1 / span 6}
.care__img{grid-column:8 / span 5;margin-top:var(--s-9)}
.care__img figcaption,.cap{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--ruolo-testo-secondario)}
.care .quote{margin-top:var(--s-7)}

/* Card camera (equivalenti) */
.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6)}
.room-card{display:flex;flex-direction:column;text-decoration:none}
.room-card__img{aspect-ratio:3/2;overflow:hidden;background:var(--ruolo-fondo-alternato)}
.room-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.room-card:hover .room-card__img img{transform:scale(1.03)}
.room-card__body{padding-top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);flex:1}
.room-card__name{display:flex;align-items:baseline;gap:var(--s-3)}
.room-card__name h3{font-size:clamp(1.6rem,1.2rem + 1vw,2rem)}
.room-card__name .finestra-mini{width:14px;height:20px;flex:none;transform:translateY(-2px)}
.room-card__cta{margin-top:auto;padding-top:var(--s-2)}
.room-card:focus-visible{outline-offset:6px}
.room-card__cta span{font-weight:500;text-decoration:underline;text-decoration-color:var(--ruolo-link-sottolineatura);text-decoration-thickness:1.5px;text-underline-offset:6px}

/* Mattine */
.mornings .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-8);align-items:center}
.mornings__img{position:relative}
.mornings__img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.mornings__text{max-width:32rem}

/* Above Positano (scuro, moltiplicazione prospettica) */
.above .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--s-8);align-items:center}
.arches{position:relative;padding:36px 36px 0;max-width:520px}
.arches::before,.arches::after,.arches .a3{content:"";position:absolute;border:1px solid var(--ruolo-finestra);border-bottom:0;border-radius:var(--r-finestra);opacity:.9}
.arches::before{inset:0 0 0 0}
.arches::after{inset:12px 12px 0 12px;opacity:.7}
.arches .a3{inset:24px 24px 0 24px;opacity:.5}
.arches .finestra{aspect-ratio:1/1.25}
.arches__motto{position:absolute;inset:auto 0 18% 0;text-align:center;font-family:var(--f-display);font-size:clamp(1.4rem,1rem + 1.6vw,2.2rem);line-height:1.2;color:var(--ruolo-testo-su-scuro);letter-spacing:.14em;text-shadow:0 1px 18px var(--ruolo-ombra-testo)}
.above h2{color:var(--ruolo-titoli-su-scuro)}
.facts{margin:var(--s-6) 0 0;padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 20%,transparent)}
.facts li{display:grid;grid-template-columns:9rem 1fr;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 20%,transparent);font-size:var(--fs-s)}
.facts li span:first-child{color:var(--ruolo-accento-su-scuro)}

/* Chic Mama */
.dining-home .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr);gap:var(--s-6);align-items:end}
.dining-home__a img{aspect-ratio:2/3;object-fit:cover;width:100%}
.dining-home__b{align-self:start}
.dining-home__b img{aspect-ratio:2/3;object-fit:cover;width:100%}
.note-line{display:flex;gap:var(--s-3);align-items:flex-start;margin-top:var(--s-5);padding-top:var(--s-4);border-top:var(--b-sottile);font-size:var(--fs-s)}
.note-line svg{flex:none;width:14px;height:20px;margin-top:2px}

/* Esperienze */
.experiences .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-8);align-items:start}

/* Chiusura: finestra in foratura su pattern (manuale p.26) */
.closing{background:var(--ruolo-fondo-pagina) var(--pattern) 0 0/74px auto repeat;padding-block:var(--s-9) 0}
.closing__arch{max-width:640px;margin-inline:auto;background:var(--ruolo-fondo-alternato);border-radius:var(--r-finestra);padding:clamp(88px,12vw,150px) clamp(28px,6vw,72px) var(--s-9);text-align:center}
.closing__arch .lead{margin:var(--s-4) auto 0}
.closing__arch .actions{justify-content:center}

/* ---------- Testimonianze ---------- */
.quote{margin:0;max-width:30rem}
.quote blockquote{margin:0;font-family:var(--f-display);font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem);line-height:1.35}
.quote figcaption{margin-top:var(--s-3);font-size:var(--fs-s);color:var(--ruolo-testo-secondario)}
.section--dark .quote figcaption{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 78%,transparent)}
.quote--candidate{position:relative}
body:not(.notes-on) .quote--candidate{display:none}
body.notes-on .quote--candidate{outline:1.5px dashed var(--proto-nota);outline-offset:14px}

/* ---------- Annotazioni prototipo ---------- */
.pnote{display:none;margin:var(--s-4) 0;padding:var(--s-3) var(--s-4);background:var(--proto-nota-testo);color:var(--ruolo-testo);border-left:3px solid var(--proto-nota);font-size:var(--fs-xs);line-height:1.5;max-width:40rem}
.pnote b{color:var(--proto-nota);font-weight:600}
body.notes-on .pnote{display:block}
.pending{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border:1px dashed color-mix(in srgb,var(--ruolo-testo) 45%,transparent);border-radius:var(--r-1);font-size:var(--fs-xs);color:var(--ruolo-testo-secondario);white-space:nowrap}
.pending .ref{display:none;color:var(--proto-nota);font-weight:600}
body.notes-on .pending .ref{display:inline}
.section--dark .pending{border-color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 50%,transparent);color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 85%,transparent)}
.soon{display:none;font-size:11px;color:var(--proto-nota);background:var(--proto-nota-testo);padding:0 6px;margin-left:6px;border-radius:2px}
body.notes-on .soon{display:inline-block}

/* ---------- Pagine interne ---------- */
.page-hero{padding-block:var(--s-7) var(--s-8)}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-8);align-items:end}
.page-hero h1{max-width:14ch}
.page-hero .lead{margin-top:var(--s-5)}
.page-hero__img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.crumb{font-size:var(--fs-s);margin-bottom:var(--s-5)}
.crumb a{color:var(--ruolo-testo-secondario)}

/* Scheda camera: la fotografia guida, key card come segno secondario (manuale p.36) */
.room-hero{padding-block:var(--s-5) var(--s-8)}
.room-hero__img{position:relative;margin:0}
.room-hero__img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.room-hero__img figcaption{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--ruolo-testo-secondario);padding-left:calc(132px + var(--s-7))}
.keycard{position:relative;background:var(--ruolo-campitura);color:var(--ruolo-campitura-testo);border-radius:var(--r-finestra);text-align:center}
.keycard::before{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 70%,transparent);border-radius:var(--r-finestra);pointer-events:none}
.keycard--mini{position:absolute;left:var(--s-6);bottom:-48px;width:132px;aspect-ratio:1/1.4;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 10px 22px}
.keycard__label{font-family:var(--f-display);font-size:10px;letter-spacing:.24em;color:var(--ruolo-accento-su-scuro)}
.keycard__name{font-family:var(--f-display);font-size:1.45rem;line-height:1.1;margin-top:4px}
.room-hero__intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:end;margin-top:var(--s-7)}
.room-hero__intro h1{font-size:clamp(3rem,2rem + 4vw,5.6rem);line-height:1}
.room-hero__intro .lead{margin-top:var(--s-4)}
.room-hero__intro .actions{margin-top:0;justify-content:flex-end;align-items:center;gap:var(--s-5)}

/* Trio: materiali, affaccio, bagno */
.trio{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,4fr);gap:var(--s-5);align-items:start}
.trio__tile{display:block;padding:0;margin:0;border:0;background:none;text-align:left;cursor:zoom-in;color:inherit}
.trio__img{display:block;overflow:hidden}
.trio__img img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1s var(--ease)}
.trio__tile--view{margin-top:var(--s-8)}
.trio__tile--view .trio__img{border-radius:var(--r-finestra)}
.trio__tile--view .trio__img img{aspect-ratio:1/1.4;transform:scale(1.9)}
.trio__tile:hover .trio__img img{transform:scale(1.03)}
.trio__tile--view:hover .trio__img img{transform:scale(1.95)}
.trio__label{display:block;font-family:var(--f-display);font-size:var(--fs-h3);margin-top:var(--s-4)}
.trio .cap{display:block;margin-top:var(--s-1)}

/* Informazioni operative subito dopo l'esperienza */
.info-block{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 25%,transparent)}
.info-block h2,.info-block h3{font-family:var(--f-testo);font-size:var(--fs-s);font-weight:600;margin-bottom:var(--s-2);color:inherit}
.info-list{list-style:none;margin:0 0 var(--s-2);padding:0;font-size:var(--fs-s)}
.info-list li{display:grid;grid-template-columns:minmax(8rem,2fr) 3fr;gap:var(--s-4);padding:var(--s-2) 0}
.info-list li>span:first-child{opacity:.8}

/* Guest Preview (default): nessun contenuto interno. Review Mode: body.review */
body:not(.review) .proto-bar,body:not(.review) .pending,body:not(.review) .pend-row,body:not(.review) .pend-block,body:not(.review) .pnote,body:not(.review) .soon{display:none!important}
body:not(.review) .two-col:has(> .pend-block){grid-template-columns:minmax(0,1fr);max-width:52rem}
.proto-bar[hidden]{display:none}
.book-hint{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--ruolo-testo-secondario);max-width:30rem}
.on-dark .book-hint{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 80%,transparent)}
.closing__arch .book-hint{margin-inline:auto}
.trio__tile--view .trio__img img{transform:none}
.trio__tile--view:hover .trio__img img{transform:scale(1.03)}
/* Vista ospite: i testi di processo esistono solo con le note attive */
body:not(.notes-on) .proc{display:none!important}

.two-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8);align-items:start}
.spec{width:100%;border-collapse:collapse;font-size:var(--fs-s)}
.spec th,.spec td{text-align:left;vertical-align:top;padding:var(--s-4) var(--s-3) var(--s-4) 0;border-bottom:var(--b-sottile)}
.spec th{font-weight:500;color:var(--ruolo-testo-secondario);width:38%}
.spec caption{text-align:left;font-family:var(--f-display);font-size:var(--fs-h3);padding-bottom:var(--s-4)}

/* Galleria: foto complete, proporzioni native */
.gallery{columns:3;column-gap:var(--s-5)}
@media (max-width:1100px){.gallery{columns:2}}
.gallery button{display:block;width:100%;padding:0;margin:0 0 var(--s-5);border:0;background:none;cursor:zoom-in;break-inside:avoid;text-align:left}
.gallery button img{width:100%;height:auto;transition:opacity var(--t-rapido)}
.gallery button:hover img{opacity:.9}
.gallery .cap{display:block}

/* Confronto camere */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:var(--b-sottile)}
.compare{border-collapse:collapse;width:100%;min-width:720px;font-size:var(--fs-s)}
.compare th,.compare td{padding:var(--s-4);border-bottom:var(--b-sottile);text-align:left;vertical-align:top}
.compare thead th{font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3)}
.compare tbody th{font-weight:500;color:var(--ruolo-testo-secondario);width:18%;position:sticky;left:0;background:var(--ruolo-fondo-pagina)}
.compare tr.is-current td,.compare th.is-current{background:color-mix(in srgb,var(--ruolo-campitura) 7%,transparent)}

/* Servizi */
.services{list-style:none;margin:0;padding:0;border-top:var(--b-sottile)}
.services li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,3fr);gap:var(--s-5);padding:var(--s-5) 0;border-bottom:var(--b-sottile);align-items:start}
.services h2,.services h3{font-size:var(--fs-l)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:500;padding:2px 10px;border-radius:var(--r-1)}
.status--sep{background:var(--ruolo-testo);color:var(--ruolo-testo-su-scuro)}
.legend{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-5);font-size:var(--fs-s)}

/* FAQ */
.faq{border-top:var(--b-sottile);max-width:52rem}
.faq details{border-bottom:var(--b-sottile)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-4);align-items:center;min-height:64px;padding:var(--s-3) 0;font-size:var(--fs-l)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex:none;width:18px;height:18px;position:relative}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform var(--t-base) var(--ease)}
.faq summary .plus::after{transform:rotate(90deg)}
.faq details[open] summary .plus::after{transform:rotate(0)}
.faq .answer{padding:0 0 var(--s-5);max-width:44rem;color:var(--ruolo-testo-secondario)}

/* Checklist arrivo */
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s-7)}
.checklist li{padding:var(--s-5) 0;border-top:var(--b-sottile)}
.checklist h3{font-size:var(--fs-l);margin-bottom:var(--s-2)}

/* Aside di passaggio al booking */
.handoff{border:var(--b-sottile);background:var(--ruolo-fondo-alternato);padding:var(--s-6)}
.handoff h3{margin-bottom:var(--s-3)}

/* Modulo */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field label{font-size:var(--fs-s);font-weight:500}
.field .hint{font-size:var(--fs-xs);color:var(--ruolo-testo-secondario)}
.field input,.field select,.field textarea{min-height:var(--h-controllo);padding:10px 14px;border:1px solid color-mix(in srgb,var(--ruolo-testo) 50%,transparent);border-radius:var(--r-1);background:var(--ruolo-superficie);transition:border-color var(--t-rapido),box-shadow var(--t-rapido)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.field .is-focus{outline:none;border-color:var(--ruolo-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--ruolo-focus) 28%,transparent)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--ruolo-errore);box-shadow:0 0 0 1px var(--ruolo-errore)}
.field .err{font-size:var(--fs-xs);color:var(--ruolo-errore);font-weight:500;display:none}
.field.has-error .err{display:block}
.field.is-valid input{border-color:var(--ruolo-valido)}
.form-status{grid-column:1/-1;padding:var(--s-4) var(--s-5);border-left:3px solid var(--ruolo-stato);background:var(--ruolo-superficie);font-size:var(--fs-s)}
.form-status--error{border-left-color:var(--ruolo-errore)}
.form-status pre{white-space:pre-wrap;font-family:var(--f-testo);font-size:var(--fs-xs);background:var(--ruolo-superficie-tenue);padding:var(--s-4);margin:var(--s-4) 0;max-height:240px;overflow:auto}

/* ---------- Dialoghi (menu, booking, lightbox) ---------- */
dialog{border:0;padding:0;max-width:none;max-height:none;color:inherit;background:transparent}
dialog::backdrop{background:var(--ruolo-velo)}
.modal{width:min(560px,calc(100vw - 32px));background:var(--ruolo-fondo-alternato);padding:var(--s-7) var(--s-6) var(--s-6)}
.modal h2{font-size:var(--fs-h3);margin-bottom:var(--s-4)}
.modal ol{padding-left:1.2rem;margin:var(--s-4) 0}
.modal ol li{margin-bottom:var(--s-2)}
.modal__close{position:absolute;top:var(--s-3);right:var(--s-3);width:44px;height:44px;border:0;background:transparent;cursor:pointer;font-size:24px;line-height:1}
@media (prefers-reduced-motion:no-preference){dialog[open]{animation:fade var(--t-base) var(--ease)}}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.menu-dialog{width:100vw;height:100dvh;margin:0;background:var(--ruolo-fondo-scuro);color:var(--ruolo-testo-su-scuro);overflow:auto}
.menu-dialog__inner{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:var(--s-4) var(--gutter) var(--s-6);background:linear-gradient(90deg,var(--ruolo-fondo-scuro) 55%,transparent) ,var(--pattern) right top/64px auto repeat}
.menu-dialog__top{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.menu-dialog__top img{height:40px;width:auto}
.menu-dialog nav ul{list-style:none;margin:var(--s-7) 0 0;padding:0}
.menu-dialog nav a{display:flex;align-items:center;min-height:56px;font-family:var(--f-display);font-size:clamp(1.9rem,1.4rem + 2vw,2.6rem);text-decoration:none;color:var(--ruolo-testo-su-scuro)}
.menu-dialog nav a[aria-current="page"]{color:var(--ruolo-accento-su-scuro)}
.menu-dialog .secondary a{font-family:var(--f-testo);font-size:var(--fs-m);min-height:44px;color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 85%,transparent)}
.menu-dialog .lang a{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 75%,transparent)} .menu-dialog .lang a[aria-current="true"]{color:var(--ruolo-testo-su-scuro)}
.close-btn{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);background:transparent;border:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 50%,transparent);color:var(--ruolo-testo-su-scuro);cursor:pointer;border-radius:var(--r-1)}

.lightbox{width:100vw;height:100dvh;margin:0;background:var(--ruolo-velo-galleria);color:var(--ruolo-testo-su-scuro)}
.lightbox__inner{height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:var(--s-4)}
.lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);font-size:var(--fs-s)}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
.lightbox img{max-width:100%;max-height:calc(100dvh - 180px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{margin-top:var(--s-3);font-size:var(--fs-s);color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 85%,transparent);text-align:center}
.lightbox__nav{display:flex;justify-content:center;gap:var(--s-3);padding-top:var(--s-3)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ruolo-footer);color:var(--ruolo-footer-testo);font-size:var(--fs-s)}
.footer-pattern{height:88px;background:var(--ruolo-footer) var(--pattern) 0 0/64px auto repeat;opacity:.55}
.site-footer .wrap{display:grid;grid-template-columns:minmax(0,3fr) repeat(3,minmax(0,2fr));gap:var(--s-7);padding-block:var(--s-8)}
.site-footer img.logo{width:170px;height:auto}
.site-footer h2{font-family:var(--f-testo);font-size:var(--fs-s);font-weight:600;color:var(--ruolo-footer-titoli);margin-bottom:var(--s-3)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li a,.site-footer li .off{display:inline-flex;align-items:center;min-height:36px;color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 88%,transparent);text-decoration:none}
.site-footer li a:hover{text-decoration:underline;text-decoration-color:var(--ruolo-footer-sottolineatura)}
.site-footer li .off{color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 55%,transparent);flex-wrap:wrap;gap:4px}
.site-footer .soon{white-space:nowrap;margin-left:0}
body.has-closing .footer-pattern{display:none}
.footer-legal{border-top:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 14%,transparent);padding-block:var(--s-5);font-size:var(--fs-xs);color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 70%,transparent)}

/* ---------- Barra booking mobile ---------- */
.mobile-book{display:none}

/* ---------- Design system ---------- */
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--s-5)}
.swatch{border:var(--b-sottile);background:var(--ruolo-superficie)}
.swatch i{display:block;height:96px}
.swatch div{padding:var(--s-3);font-size:var(--fs-xs);line-height:1.45}
.ds-block{padding-block:var(--s-8);border-top:var(--b-sottile)}
.ds-block h2{font-size:var(--fs-h3);margin-bottom:var(--s-5)}
.ds-row{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:center;margin-bottom:var(--s-4)}
.ds-label{font-size:var(--fs-xs);color:var(--ruolo-testo-secondario);display:block;margin-top:6px}
.token-table{border-collapse:collapse;font-size:var(--fs-xs);width:100%}
.token-table td,.token-table th{border-bottom:var(--b-sottile);padding:8px 10px 8px 0;text-align:left;vertical-align:top}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav-main,.site-header .btn-book{display:none}
  .menu-btn{display:inline-flex}
  .site-header .lang{margin-left:auto}
  .mobile-book{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--ruolo-barra-mobile);box-shadow:0 -1px 0 var(--ruolo-linea)}
  .mobile-book .btn{flex:1}
  .mobile-book{transition:transform var(--t-base) var(--ease)}
  body.hero-cta-visible .mobile-book{transform:translateY(110%)}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .rooms-grid{grid-template-columns:1fr 1fr 1fr;gap:var(--s-4)}
}
@media (max-width:900px){
  :root{--h-header:68px}
  .page-hero .wrap,.mornings .wrap,.above .wrap,.experiences .wrap,.two-col{grid-template-columns:minmax(0,1fr);gap:var(--s-7)}
  .room-hero__img img{aspect-ratio:4/3}
  .room-hero__img figcaption{padding-left:calc(96px + var(--s-5))}
  .keycard--mini{left:var(--s-4);bottom:-36px;width:92px;padding-bottom:14px}
  .room-hero__img{margin-bottom:52px}
  .room-hero__img figcaption{position:absolute;top:calc(100% + 8px);left:0;margin:0}
  .keycard__label{font-size:9px;letter-spacing:.14em}
  .keycard__name{font-size:1.05rem}
  .room-hero__intro{grid-template-columns:1fr;gap:var(--s-5);margin-top:var(--s-5)}
  .room-hero__intro .actions{justify-content:flex-start}
  .trio{grid-template-columns:1fr 1fr;gap:var(--s-4)}
  .trio__tile--view{grid-column:1/-1;grid-row:1;margin-top:0;justify-self:center;width:min(100%,340px)}
  .hero .wrap{grid-template-columns:1fr;grid-template-areas:"head" "visual" "body";row-gap:var(--s-5)}
  .hero__kicker{display:none}
  .hero__visual{justify-self:center;width:min(72vw,320px);margin-top:var(--s-3)}
  .hero__visual .finestra{aspect-ratio:1/1.25}
  .hero__visual .finestra-linea{inset:-14px 14px 14px -14px}
  .hero__visual figcaption{display:none}
  .hero{padding-top:var(--s-3)}
  .hero__body{display:flex;flex-direction:column}
  .hero__body .actions{order:-1;margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
  .hero__body .actions .btn{padding:0 var(--s-3);flex:none}
  .hero__body .lead{margin-top:var(--s-5);font-size:var(--fs-m)}
  .hero__brandline{display:none}
  .hero h1{max-width:none}
  .care__text,.care__img{grid-column:1/-1}
  .care__img{margin-top:var(--s-5);max-width:520px}
  .rooms-grid{grid-template-columns:1fr;gap:var(--s-8)}
  .mornings__img{margin-top:0;max-width:440px}
  .dining-home .wrap{grid-template-columns:1fr 1fr}
  .dining-home__text{grid-column:1/-1;order:-1}
  .arches{margin-inline:auto;width:100%}
  .services li{grid-template-columns:1fr;gap:var(--s-2)}
  .checklist{grid-template-columns:1fr}
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .page-hero__img{order:-1}
}
@media (max-width:560px){
  .form{grid-template-columns:minmax(0,1fr)}
  .gallery{columns:1}
  .facts li{grid-template-columns:1fr;gap:2px}
  .site-footer .wrap{grid-template-columns:1fr}
  .brand-link img{height:36px}
  .closing__arch{border-radius:9999px 9999px 0 0}
  .actions .btn{flex:1 1 100%}
}
@media (max-width:380px){
  .lang a{min-width:40px}
  .menu-btn .lbl{display:none}
}
[tabindex="-1"]:focus{outline:none}
.menu-dialog nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:10px}
.hero__body .book-hint{order:-1}

.room-card__meta{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--ruolo-testo-secondario)}
.room-kicker{font-size:var(--fs-s);color:var(--ruolo-testo-secondario);margin-bottom:var(--s-2)}
.status--inc,.status--incReq{background:var(--ruolo-campitura);color:var(--ruolo-campitura-testo)}
.status--paid{border:1px solid var(--ruolo-testo);color:var(--ruolo-testo)}
.services--policies li{grid-template-columns:minmax(0,4fr) minmax(0,9fr)}
.footer-legal p{margin:0 0 6px}


.field input,.field select,.field textarea{min-width:0;width:100%;max-width:100%}

.page-eyebrow{font-size:var(--fs-xs);letter-spacing:.16em;color:var(--ruolo-testo-secondario);margin-bottom:var(--s-4)}

/* V4 — componenti riusati: card esperienze (stile handoff), newsletter */
.exp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.exp-card{display:flex;flex-direction:column;gap:var(--s-3);border:var(--b-sottile);background:var(--ruolo-superficie);padding:var(--s-6)}
.section--white .exp-card{background:var(--ruolo-fondo-pagina)}
.exp-card h3{font-size:var(--fs-h3)}
.exp-card .btn{align-self:flex-start;margin-top:auto}
.exp-cat,.exp-del{font-size:var(--fs-xs);letter-spacing:.04em;color:var(--ruolo-testo-secondario);margin:0}
.exp-price{font-family:var(--f-display);font-size:var(--fs-l);margin:0}
.exp-price--req{font-family:var(--f-testo);font-size:var(--fs-s)}
.exp-qual{font-size:var(--fs-s);font-weight:500;color:var(--ruolo-link);margin-top:var(--s-3)}
.footer-nl{padding-block:0 var(--s-7)}
.newsletter{max-width:34rem;border-top:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 20%,transparent);padding-top:var(--s-6)}
.newsletter h2{font-family:var(--f-display);font-size:var(--fs-h3);font-weight:400;color:var(--ruolo-titoli-su-scuro)}
.newsletter .field input[type=email]{background:var(--ruolo-superficie);color:var(--ruolo-testo)}
.nl-consent label{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.nl-consent input{width:20px!important;min-height:20px!important;height:20px;flex:none;margin-top:3px}
.newsletter a{color:inherit}
.newsletter .field .err{color:var(--ruolo-testo-su-scuro)}
@media (max-width:1100px){.exp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.exp-grid{grid-template-columns:1fr}}
.field[hidden]{display:none}

/* V5 — navigazione: menu disponibile a ogni larghezza; riga legale di servizio nel menu */
.menu-btn{display:inline-flex}
.menu-legal ul{list-style:none;margin:0;padding:var(--s-4) 0 0;display:flex;flex-wrap:wrap;gap:0 var(--s-5);border-top:1px solid color-mix(in srgb,var(--ruolo-testo-su-scuro) 20%,transparent)}
.menu-dialog .menu-legal a{font-family:var(--f-testo);font-size:var(--fs-xs);min-height:44px;color:color-mix(in srgb,var(--ruolo-testo-su-scuro) 78%,transparent)}
.menu-dialog .menu-legal a[aria-current="page"]{color:var(--ruolo-testo-su-scuro);text-decoration:underline}
.menu-dialog .secondary a[aria-current="page"]{color:var(--ruolo-testo-su-scuro);text-decoration:underline;text-underline-offset:6px}
.menu-dialog nav:not(.menu-legal)>ul:first-child{margin-top:var(--s-6)}
.menu-dialog nav:not(.menu-legal)>ul:first-child a{min-height:52px;font-size:clamp(1.7rem,1.3rem + 1.6vw,2.3rem)}
.menu-dialog .menu-legal ul{margin-top:var(--s-6)}

.site-header .wrap{gap:var(--s-4)}
/* 5 voci principali: sotto 1280px l'header diventa compatto (menu completo), la CTA resta visibile fino a 1100px */
@media (max-width:1279px){.nav-main{display:none}.site-header .lang{margin-left:auto}}

.site-header .btn-book{white-space:nowrap}

/* ===== V7 — componenti fotografici (stesse regole, nessun nuovo sistema) ===== */
.info-list--icons li{grid-template-columns:20px minmax(0,1fr);gap:var(--s-3);align-items:start}
.info-list--icons .finestra-mini{width:14px;height:20px;display:block;margin-top:2px}
.exp-card{padding:0;overflow:hidden}
.exp-card__img{aspect-ratio:4/3;overflow:hidden;background:var(--ruolo-fondo-alternato)}
.exp-card__img img{width:100%;height:100%;object-fit:cover}
.exp-card__body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-6);flex:1}
.exp-card__body .btn{align-self:flex-start;margin-top:auto}
.edit-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
.wide-fig img{width:100%;aspect-ratio:21/9;object-fit:cover}
.img-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-5)}
.img-strip img{width:100%;aspect-ratio:3/2;object-fit:cover}
.stories{display:flex;flex-direction:column;gap:var(--s-9)}
.story{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:center}
.story--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.story--flip .story__img{order:2}
.story__img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.story--portrait{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
.story--portrait.story--flip{grid-template-columns:minmax(0,6fr) minmax(0,4fr)}
.story--portrait .story__img img{aspect-ratio:3/4}
.story__num{font-size:var(--fs-xs);letter-spacing:.18em;color:var(--ruolo-testo-secondario);margin-bottom:var(--s-3)}
.story h3{font-size:var(--fs-h2)}
.arc-sep{display:block;width:44px;height:22px;border:1px solid var(--ruolo-decoro);border-bottom:0;border-radius:22px 22px 0 0;margin-bottom:var(--s-4)}
@media (max-width:900px){
  .story,.story--flip,.story--portrait,.story--portrait.story--flip{grid-template-columns:1fr;gap:var(--s-5)}
  .story--flip .story__img{order:0}
  .story--portrait .story__img{max-width:420px}
  .img-strip{grid-template-columns:1fr}
  .wide-fig img{aspect-ratio:3/2}
}

/* ===== V9 — azioni esperienze, ancore, date wellbeing ===== */
.exp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin-top:auto}
.exp-card__body .exp-actions .btn{margin-top:0}
.exp-book{font-size:var(--fs-s)}
.exp-intro{padding-block:var(--s-7)}
.exp-jump{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-top:var(--s-6);padding-top:var(--s-5);border-top:var(--b-sottile)}
.exp-jump ul{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}
.exp-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);border:var(--b-sottile);border-radius:var(--r-1);text-decoration:none;font-size:var(--fs-s)}
.exp-jump a:hover{border-color:var(--ruolo-link);color:var(--ruolo-link)}
#sig-h,#cur-h,#well-h{scroll-margin-top:96px}
.exp-dates{margin-bottom:var(--s-7);max-width:52rem}
.exp-dates .exp-actions{margin-top:var(--s-4)}
.field[data-car][hidden],.pend-block[data-car][hidden]{display:none!important}
@media (max-width:420px){.exp-card .exp-actions{flex-direction:column;align-items:flex-start}}

.page-hero h1{overflow-wrap:break-word}

.info-list li>span{min-width:0;overflow-wrap:anywhere}

/* ===== PRODUZIONE: honeypot, stato form, link-pulsante, righe condizionali ===== */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status[hidden]{display:none}
.form-status--sending{border-left-color:var(--ruolo-testo-secondario)}
.form-status .fallback{margin-top:8px}
.field[hidden]{display:none!important}
.linklike{background:none;border:0;padding:0;min-height:44px;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.lead-form .field input[type=file]{padding:10px}

#faq-h,#brief,#advisor-form,#application{scroll-margin-top:96px}

.arienzo-fig{margin-top:var(--s-6);max-width:520px}
.arienzo-fig img{aspect-ratio:4/5}

/* ===== RC2 — Creative Refinement Pass 1 (CR 26/09/2026) ===== */
/* Footer: newsletter nella colonna del marchio; spaziature ridotte; fascia legale separata */
.site-footer .wrap{padding-block:var(--s-8);gap:var(--s-6)}
.footer-brand .newsletter{margin-top:var(--s-5);border-top:0;padding-top:0;max-width:22rem}
.footer-brand .newsletter h2{font-size:var(--fs-l)}
.footer-legal{background:color-mix(in srgb,var(--ruolo-footer) 86%,#000);border-top:0;padding-block:var(--s-4)}
.footer-legal__inner{display:block!important;padding-block:0!important}
.footer-legal p{margin:0 0 4px;line-height:1.5}
@media (max-width:900px){
  .site-footer .wrap{grid-template-columns:1fr 1fr;gap:var(--s-6) var(--s-5);padding-block:var(--s-7)}
  .footer-brand{display:contents}                                  /* mobile: stesso ordine della RC1 (logo, contatti, link, newsletter) */
  .footer-brand .logo{grid-column:1/-1}
  .footer-brand .newsletter{grid-column:1/-1;order:5;max-width:none;margin-top:0}
}
@media (max-width:560px){
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .site-footer .wrap > div:nth-child(2){grid-column:1/-1}          /* indirizzo e contatti a tutta larghezza; Esplora e Altro affiancati */
}
/* Esperienze: su mobile metadati compatti e meno spazio ripetuto tra le card (nessun contenuto rimosso) */
@media (max-width:640px){
  .exp-grid{gap:var(--s-4)}
  .exp-card__body{padding:var(--s-5);gap:6px}
  .exp-card__body h3{margin-bottom:2px}
  .exp-card__body .muted{margin-bottom:4px}
  .exp-card .exp-price{font-size:var(--fs-m)}
  .exp-card .exp-del{line-height:1.4}
  .exp-card .exp-actions{margin-top:var(--s-3)}
}

/* etichetta per immagini illustrative (non documentali) nelle card esperienze */
.exp-card__img{position:relative}
.exp-illus{position:absolute;left:8px;bottom:8px;background:color-mix(in srgb,var(--ruolo-testo) 78%,transparent);color:var(--ruolo-testo-su-scuro);font-size:var(--fs-xs);letter-spacing:.02em;padding:3px 8px;border-radius:2px}

/* menu colazione ospiti (Il soggiorno) — componenti tipografici esistenti */
.bmenu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-7)}
.bmenu__group h3{font-size:var(--fs-l);padding-bottom:var(--s-3);border-bottom:var(--b-sottile);margin-bottom:var(--s-4)}
.bmenu__group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-4)}
.bmenu__group li{display:flex;flex-direction:column;gap:2px}
.bmenu__group li strong{font-weight:500;color:var(--ruolo-testo)}
.bmenu__group li span{font-size:var(--fs-s);color:var(--ruolo-testo-secondario)}
@media (max-width:900px){.bmenu{grid-template-columns:1fr;gap:var(--s-6)}}

.exp-menu{align-self:flex-start;margin-top:2px}

picture{display:contents}

/* utility classes generated from V9 inline styles (CSP: no inline style attributes) */
.u-06dcf347{margin-bottom:32px !important}
.u-08826ffb{font-size:var(--fs-h3) !important}
.u-0b8bc41c{margin-top:48px !important}
.u-0c76ff92{object-position:50% 88% !important}
.u-0ee7f66a{margin-top:12px !important}
.u-1124f570{color:inherit !important;opacity:.85 !important}
.u-2089ec32{font-size:var(--fs-h3) !important;margin-top:48px !important}
.u-30da3172{margin-top:24px !important;color:inherit !important}
.u-3bca39f2{margin-top:40px !important}
.u-41bc3371{object-position:50% 60% !important}
.u-43a97fe4{margin-top:8px !important}
.u-51fe441d{aspect-ratio:4/3 !important}
.u-532b080d{grid-template-columns:1fr !important}
.u-53443ebd{margin:4px 0 12px !important}
.u-5563c524{margin-bottom:48px !important}
.u-66d8b591{margin-top:24px !important}
.u-6a17824f{margin-bottom:56px !important}
.u-6c4bf3fd{aspect-ratio:4/3 !important;object-position:50% 55% !important}
.u-811a1309{padding-top:0 !important}
.u-81e3792e{opacity:.85 !important}
.u-88b7086a{grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important}
.u-8ba9c42e{aspect-ratio:4/3 !important;object-position:50% 70% !important}
.u-8e26c5f7{margin-bottom:8px !important}
.u-8fe18d80{margin-top:-6px !important}
.u-92c18f6b{margin-top:16px !important}
.u-930f303e{margin-top:64px !important;align-items:center !important}
.u-a074bd8e{max-width:24ch !important}
.u-a0925a28{margin-top:0 !important}
.u-a425aae6{display:flex !important;flex-wrap:wrap !important;gap:16px !important;align-items:center !important;justify-content:space-between !important;margin-top:24px !important}
.u-a76e7f6f{stroke:var(--ruolo-campitura) !important}
.u-b02f3621{margin-top:32px !important}
.u-b3a1e900{margin-bottom:40px !important}
.u-b6d0f680{font-size:var(--fs-h3) !important;margin-bottom:16px !important}
.u-badd861f{margin-top:64px !important}
.u-bf4a218e{margin-bottom:16px !important}
.u-d3617830{object-position:50% 55% !important}
.u-eee3f850{margin-top:20px !important}
.u-f4433554{margin-top:24px !important;max-width:40rem !important;margin-inline:auto !important}
.u-fcb997a0{max-width:880px !important}