/* base copiata da index.html al momento della costruzione: non puo' divergere */

@font-face{font-family:'Fraunces';src:url('/font/fraunces.woff2') format('woff2-variations');font-weight:300 900;font-display:swap}
@font-face{font-family:'Karla';src:url('/font/karla.woff2') format('woff2-variations');font-weight:300 800;font-display:swap}

:root{
  --carta:#FAF4E2; --carta-2:#F1E7CE; --carta-3:#E7D9B8;
  --inchiostro:#31241A; --inchiostro-2:#6B5847;
  --inchiostro-3:#9A8871;
  --bosco:#2E5233; --bosco-scuro:#18291B; --bosco-chiaro:#4A7A50;
  --marmotta:#9C6A37; --marmotta-chiaro:#C08D51;
  --neve:#FFFCF2;
  --ombra: 0 2px 4px rgba(49,36,26,.06), 0 12px 28px -12px rgba(49,36,26,.22);
  --ombra-alta: 0 4px 8px rgba(49,36,26,.08), 0 32px 64px -24px rgba(49,36,26,.34);
  --bordo:1px solid rgba(49,36,26,.16);
  --sp: clamp(1.5rem, 5vw, 6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--carta); color:var(--inchiostro);
  font-family:'Karla',ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1rem,.95rem + .25vw,1.125rem); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
/* grana di carta su tutta la pagina */
body::after{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.32;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
h1,h2,h3,h4,.display{font-family:'Fraunces',Georgia,serif;font-variation-settings:'SOFT' 40,'WONK' 1;line-height:1.04;letter-spacing:-.015em;margin:0}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1240px,100% - 2*var(--sp));margin-inline:auto}
.eyebrow{font-family:'Karla';font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--marmotta)}

/* ---------- BOTTONI ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;background:transparent;padding:.95em 1.7em;border-radius:999px;
  font-family:'Karla';font-weight:700;font-size:.92rem;letter-spacing:.04em;text-decoration:none;
  border:1.5px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,background .25s,color .25s}
.btn-pieno{background:var(--marmotta);color:var(--neve);box-shadow:0 8px 20px -8px rgba(156,106,55,.7)}
.btn-pieno:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(156,106,55,.85);background:#8B5C2E}
.btn-vuoto{border-color:currentColor;color:var(--neve)}
.btn-vuoto:hover{background:var(--neve);color:var(--inchiostro);transform:translateY(-2px)}
.btn-scuro{border-color:rgba(49,36,26,.4);color:var(--inchiostro)}
.btn-scuro:hover{background:var(--inchiostro);color:var(--carta);transform:translateY(-2px)}

/* ---------- BARRA ---------- */
.barra{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.85rem var(--sp);transition:background .4s,box-shadow .4s,padding .4s;}
.barra.attaccata{background:rgba(250,244,226,.93);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(49,36,26,.12);padding-block:.6rem}
.barra .marchio{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:'Fraunces';font-weight:700;
  font-size:.95rem;letter-spacing:.02em;line-height:1.1;color:var(--neve);transition:color .4s}
.barra.attaccata .marchio{color:var(--inchiostro)}
.barra .marchio img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.barra nav{display:flex;align-items:center;gap:1.6rem}
.barra nav a{text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--neve);opacity:.9;
  transition:color .4s,opacity .2s;position:relative;padding-block:.2rem}
.barra.attaccata nav a{color:var(--inchiostro-2)}
.barra nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:currentColor;transition:right .3s}
.barra nav a:hover::after{right:0}
.lingue{display:flex;gap:.1rem;font-size:.72rem;font-weight:700;letter-spacing:.08em}
@media(max-width:900px){.barra nav{display:none}}

/* ---------- APERTURA ---------- */
.apertura{position:relative;min-height:100svh;display:grid;align-items:end;isolation:isolate;overflow:hidden}
.apertura .sfondo{position:absolute;inset:0;z-index:-2}
.apertura .sfondo img{width:100%;height:100%;object-fit:cover;object-position:center 55%;
  animation:respiro 26s ease-in-out infinite alternate}
@keyframes respiro{from{transform:scale(1.06)}to{transform:scale(1.15)}}
.apertura::before{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(24,41,27,.62) 0%,rgba(24,41,27,.18) 32%,rgba(24,41,27,.5) 70%,rgba(24,41,27,.88) 100%)}
.apertura .contenuto{padding-block:clamp(6rem,14vh,10rem) clamp(3.5rem,9vh,6rem);color:var(--neve)}
.sigillo{width:clamp(104px,13vw,150px);height:auto;border-radius:50%;
  box-shadow:0 10px 34px rgba(0,0,0,.42),0 0 0 6px rgba(250,244,226,.14);margin-bottom:1.6rem}
.apertura h1{font-size:clamp(2.9rem,9.5vw,7.6rem);font-weight:600;font-variation-settings:'SOFT' 60,'WONK' 1,'opsz' 144;
  text-shadow:0 3px 30px rgba(0,0,0,.4);max-width:14ch}
.apertura h1 em{font-style:italic;font-weight:400;color:var(--marmotta-chiaro)}
.apertura .occhiello{display:inline-block;margin-bottom:1.2rem;color:var(--neve);background:rgba(24,41,27,.55);
  backdrop-filter:blur(6px);padding:.55em 1.1em;border-radius:999px;border:1px solid rgba(250,244,226,.28);
  text-shadow:0 1px 8px rgba(0,0,0,.6);font-size:.7rem}
.apertura p.guida{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:46ch;margin:1.6rem 0 2.3rem;
  color:rgba(255,252,242,.92);text-shadow:0 2px 16px rgba(0,0,0,.45)}
.apertura .azioni{display:flex;flex-wrap:wrap;gap:.9rem}
.didascalia-foto{position:absolute;right:var(--sp);bottom:1.4rem;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,252,242,.62);writing-mode:vertical-rl;text-orientation:mixed}
@media(max-width:760px){.didascalia-foto{display:none}}
.scendi{position:absolute;left:50%;bottom:1.5rem;translate:-50% 0;width:22px;height:34px;border:1.5px solid rgba(255,252,242,.5);
  border-radius:12px;z-index:2}
.scendi::after{content:'';position:absolute;left:50%;top:7px;translate:-50% 0;width:3px;height:7px;border-radius:2px;
  background:rgba(255,252,242,.8);animation:goccia 2s infinite}
@keyframes goccia{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* ---------- FASCIA NUMERI ---------- */
.numeri{background:var(--inchiostro);color:var(--carta);padding-block:1.4rem}
.numeri .voto-riga{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding-bottom:1.1rem;
  margin-bottom:1.1rem;border-bottom:1px solid rgba(250,244,226,.16)}
.numeri .voto-riga b{font-family:'Fraunces';font-size:clamp(1.7rem,3vw,2.3rem);font-weight:600;line-height:1;
  color:var(--marmotta-chiaro)}
.numeri .voto-riga small{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,244,226,.55)}
.numeri ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;text-align:center}
.numeri li{align-items:center}
.numeri li{display:flex;flex-direction:column;gap:.15rem;flex:1 1 auto;min-width:118px}
.numeri b{font-family:'Fraunces';font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;line-height:1;color:var(--neve)}
.numeri small{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,244,226,.55)}
.numeri .stelle b{color:var(--marmotta-chiaro)}

/* ---------- SEZIONI ---------- */
section{position:relative}
.sez{padding-block:clamp(4.5rem,11vh,8.5rem)}
.titolo-sez{max-width:22ch;font-size:clamp(2rem,4.6vw,3.6rem);font-weight:500;font-variation-settings:'SOFT' 50,'WONK' 1,'opsz' 96}
.testa{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(2.2rem,5vw,3.6rem)}
.testa p{max-width:44ch;color:var(--inchiostro-2);margin:0}

/* cresta di montagna come separatore */
.cresta{display:block;width:100%;height:auto;color:var(--carta-2)}

/* ---------- IL PATTO ---------- */
.patto{background:var(--carta-2)}
.patto .grande{font-family:'Fraunces';font-size:clamp(1.45rem,3.3vw,2.5rem);font-weight:400;line-height:1.3;
  max-width:24ch;font-variation-settings:'SOFT' 70,'WONK' 1,'opsz' 72}
.patto .grande b{font-weight:700;color:var(--bosco)}
.patto .colonne{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.patto .colonne > div p{color:var(--inchiostro-2);max-width:52ch}
.firma{margin-top:2rem;display:flex;align-items:center;gap:.9rem}
.firma span{font-family:'Fraunces';font-style:italic;font-size:1.2rem;color:var(--marmotta)}
.firma i{display:block;width:52px;height:1.5px;background:var(--marmotta);opacity:.5}
@media(max-width:860px){.patto .colonne{grid-template-columns:1fr}}

/* ---------- GRIGLIA STANZE ---------- */
.griglia{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.9rem,1.7vw,1.6rem)}
.cornice{position:relative;overflow:hidden;border-radius:3px;background:var(--carta-3);box-shadow:var(--ombra);
  transition:transform .55s cubic-bezier(.2,.8,.3,1),box-shadow .55s}
.cornice img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.3,1),filter .6s}
.cornice:hover{transform:translateY(-6px);box-shadow:var(--ombra-alta)}
.cornice:hover img{transform:scale(1.055)}
.cornice figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.2rem .95rem;color:var(--neve);
  font-size:.8rem;font-weight:600;letter-spacing:.03em;
  background:linear-gradient(transparent,rgba(24,41,27,.82));opacity:0;transform:translateY(8px);transition:.4s}
.cornice:hover figcaption{opacity:1;transform:none}
.c-a{grid-column:span 7;aspect-ratio:16/11}
.c-b{grid-column:span 5;aspect-ratio:4/5}
.c-c{grid-column:span 4;aspect-ratio:1}
.c-d{grid-column:span 4;aspect-ratio:1}
.c-e{grid-column:span 4;aspect-ratio:1}
.c-f{grid-column:span 6;aspect-ratio:3/2}
.c-g{grid-column:span 6;aspect-ratio:3/2}
@media(max-width:820px){.c-a,.c-b,.c-f,.c-g{grid-column:span 12}.c-c,.c-d,.c-e{grid-column:span 4}}
@media(max-width:560px){.c-c,.c-d,.c-e{grid-column:span 12;aspect-ratio:4/3}}

/* ---------- PERCHÉ QUI ---------- */
.perche{background:var(--bosco-scuro);color:var(--carta)}
.perche .titolo-sez{color:var(--neve)}
.perche .testa p{color:rgba(250,244,226,.66)}
.pregi{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:1px;background:rgba(250,244,226,.16);
  border:1px solid rgba(250,244,226,.16)}
.pregio{background:var(--bosco-scuro);padding:clamp(1.6rem,3vw,2.3rem);transition:background .45s}
.pregio:hover{background:#22381F}
@media(min-width:1000px){.pregi{grid-template-columns:repeat(4,1fr)}}
.pregio.invito{display:flex;flex-direction:column;justify-content:center;background:#22381F}
.pregio.invito p{color:rgba(250,244,226,.78);font-size:.95rem;margin-bottom:1.3rem}
.pregio.invito .btn{align-self:flex-start;padding:.75em 1.4em;font-size:.83rem}
.pregio svg{width:34px;height:34px;color:var(--marmotta-chiaro);margin-bottom:1.1rem;stroke-width:1.4}
.pregio h3{font-size:1.12rem;font-weight:600;margin-bottom:.5rem;color:var(--neve)}
.pregio p{margin:0;font-size:.9rem;line-height:1.6;color:rgba(250,244,226,.62)}

/* ---------- STAGIONI ---------- */
.stagioni .nastro{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem;border-bottom:var(--bordo);padding-bottom:.1rem}
.nastro button{background:none;border:0;border-bottom:2.5px solid transparent;padding:.7em 1.2em;cursor:pointer;
  font-family:'Fraunces';font-size:1.05rem;font-weight:500;color:var(--inchiostro-3);transition:.3s;margin-bottom:-1px}
.nastro button:hover{color:var(--inchiostro)}
.nastro button[aria-selected="true"]{color:var(--bosco);border-color:var(--marmotta)}
.stagione{display:none;grid-template-columns:1fr 1.1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center;
  animation:entra .6s cubic-bezier(.2,.8,.3,1)}
.stagione[data-attiva]{display:grid}
@keyframes entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.stagione img{border-radius:3px;box-shadow:var(--ombra);aspect-ratio:4/3;object-fit:cover;width:100%}
.stagione h3{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;margin-bottom:.7rem}
.stagione p{color:var(--inchiostro-2);max-width:48ch}
.stagione ul{list-style:none;padding:0;margin:1.3rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.stagione li{font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:.42em .95em;border:var(--bordo);border-radius:999px;
  background:var(--carta-2);color:var(--inchiostro-2)}
@media(max-width:820px){.stagione{grid-template-columns:1fr}}

/* ---------- DISTANZE ---------- */
.distanze{background:var(--carta-2)}
.tabellone{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 clamp(2rem,5vw,4.5rem)}
.riga{display:flex;align-items:baseline;gap:.7rem;padding:.85em 0;border-bottom:1px dashed rgba(49,36,26,.24)}
.riga .luogo{font-weight:600;white-space:nowrap}
.riga .punti{flex:1;border-bottom:1.5px dotted rgba(49,36,26,.3);translate:0 -4px}
.riga .quanto{font-family:'Fraunces';font-weight:600;color:var(--bosco);white-space:nowrap;font-size:1.02rem}
.riga .quanto small{font-family:'Karla';font-weight:600;font-size:.72rem;color:var(--inchiostro-3);letter-spacing:.08em;
  text-transform:uppercase;margin-left:.35em}

/* ---------- RECENSIONI ---------- */
.voto{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);
  padding:clamp(1.8rem,3.5vw,2.6rem);background:var(--neve);border:var(--bordo);border-radius:4px;box-shadow:var(--ombra)}
.voto .cifra{font-family:'Fraunces';font-size:clamp(3.4rem,8vw,5.6rem);font-weight:600;line-height:.85;color:var(--bosco);
  font-variation-settings:'SOFT' 60,'opsz' 144}
.voto .cifra sub{font-size:.28em;font-weight:500;color:var(--inchiostro-3);vertical-align:baseline;margin-left:.15em}
.stelline{color:var(--marmotta);letter-spacing:.15em;font-size:1.05rem}
.parole{display:flex;flex-wrap:wrap;gap:.45rem;flex:1;min-width:260px}
.parole span{font-size:.8rem;font-weight:600;padding:.4em .9em;border-radius:999px;background:var(--carta-2);
  border:var(--bordo);color:var(--inchiostro-2)}
.parole span.forte{background:var(--bosco);color:var(--neve);border-color:transparent}
.cartoline{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:1.2rem;margin-top:1.4rem}
.cartolina{background:var(--neve);border:var(--bordo);border-radius:4px;padding:1.5rem 1.6rem;box-shadow:var(--ombra);
  position:relative;transition:transform .4s}
.cartolina:hover{transform:translateY(-4px) rotate(-.35deg)}
.cartolina::before{content:'\201C';position:absolute;top:.1rem;right:1rem;font-family:'Fraunces';font-size:4.5rem;
  color:var(--carta-3);line-height:1}
.cartolina p{margin:0 0 1rem;font-size:.94rem;color:var(--inchiostro-2);position:relative}
.cartolina .chi{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--marmotta)}

/* ---------- CALENDARIO ---------- */
.calendario{background:var(--bosco-scuro);color:var(--carta)}
.calendario .titolo-sez{color:var(--neve)}
.calendario .testa p{color:rgba(250,244,226,.66)}
.mesi{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:clamp(1.2rem,3vw,2.4rem)}
.mese h4{font-family:'Fraunces';font-size:1.15rem;font-weight:600;color:var(--marmotta-chiaro);margin-bottom:1rem;
  padding-bottom:.6rem;border-bottom:1px solid rgba(250,244,226,.18);text-transform:capitalize}
.mese table{width:100%;border-collapse:collapse}
.mese th{font-size:.64rem;font-weight:700;letter-spacing:.1em;color:rgba(250,244,226,.4);padding-bottom:.5rem;text-transform:uppercase}
.mese td{text-align:center;padding:.16rem}
.g{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;font-size:.84rem;font-weight:600;
  color:rgba(250,244,226,.9);transition:.25s}
.g.libero{background:rgba(250,244,226,.09)}
.g.libero:hover{background:#3C7A46;color:var(--neve);transform:scale(1.14);cursor:pointer}
.g.occupato{color:rgba(250,244,226,.2);text-decoration:line-through;text-decoration-thickness:1px}
.g.vuoto{background:none}
.legenda{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid rgba(250,244,226,.18);
  font-size:.83rem;color:rgba(250,244,226,.7);align-items:center}
.legenda i{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:.5rem;vertical-align:-2px}
.aggiornato{margin-left:auto;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(250,244,226,.42)}

/* ---------- CONTATTI ---------- */
.contatti .scatola{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.campo{margin-bottom:1.1rem}
.campo label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--inchiostro-3);margin-bottom:.45rem}
.campo input,.campo textarea{width:100%;min-width:0;padding:.85em 1em;font-family:'Karla';font-size:.98rem;color:var(--inchiostro);
  background:var(--neve);border:var(--bordo);border-radius:3px;transition:border-color .25s,box-shadow .25s}
.campo input:focus,.campo textarea:focus{outline:0;border-color:var(--marmotta);box-shadow:0 0 0 3px rgba(156,106,55,.16)}
.campo .due{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.recapiti p{margin:0 0 1.4rem;color:var(--inchiostro-2)}
.recapiti a{color:var(--bosco);font-weight:600;text-underline-offset:3px}
@media(max-width:820px){.contatti .scatola{grid-template-columns:1fr}}

/* ---------- PIEDE ---------- */
footer{background:var(--inchiostro);color:rgba(250,244,226,.62);padding-block:clamp(3rem,7vw,4.5rem) 2rem;font-size:.86rem}
footer .alto{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between;align-items:start;
  padding-bottom:2.4rem;border-bottom:1px solid rgba(250,244,226,.14)}
footer img.sigillo-piede{width:78px;border-radius:50%;margin-bottom:1rem}
footer h5{font-family:'Karla';font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(250,244,226,.4);margin:0 0 .9rem}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
footer a{color:rgba(250,244,226,.75);text-decoration:none;transition:color .2s}
footer a:hover{color:var(--marmotta-chiaro)}
footer .basso{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;padding-top:1.6rem;
  font-size:.75rem;color:rgba(250,244,226,.42)}
.cin{font-family:'Karla';letter-spacing:.06em}


/* ---------- avviso segnaposto ---------- */
.cartolina .chi{display:flex;flex-direction:column;gap:.15rem;font-size:.76rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--marmotta)}
.cartolina .chi i{font-style:normal;font-weight:600;letter-spacing:.06em;color:var(--inchiostro-3);font-size:.7rem}
.cartolina.oltre{display:none}
.cartoline.tutte .cartolina.oltre{display:block;animation:entra .5s cubic-bezier(.2,.8,.3,1) both}
.altre-recensioni{display:flex;justify-content:center;margin-top:2rem}
.altre-recensioni .btn span{opacity:.55;font-weight:600}
.piede-cart{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;
  margin-top:1.1rem;padding-top:.9rem;border-top:1px dashed rgba(49,36,26,.18)}
.cartolina .traduci{background:none;border:0;padding:0;cursor:pointer;font-family:'Karla';font-size:.76rem;
  font-weight:700;letter-spacing:.03em;color:var(--bosco);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;transition:color .2s}
.cartolina .traduci:hover{color:var(--marmotta)}
.cartolina .lingua-orig{display:block;width:100%;order:3;font-size:.68rem;letter-spacing:.06em;
  color:var(--inchiostro-3);font-style:italic}
.cartolina .testo.tradotto{color:var(--inchiostro-2)}
.lingue{position:relative}
.scelta-lingua{display:flex;align-items:center;gap:.45rem;background:rgba(24,41,27,.42);backdrop-filter:blur(6px);
  border:1px solid rgba(250,244,226,.3);border-radius:999px;padding:.36em .7em .36em .42em;cursor:pointer;
  font-family:'Karla';font-size:.74rem;font-weight:700;letter-spacing:.08em;color:var(--neve);transition:.3s}
.barra.attaccata .scelta-lingua{background:rgba(49,36,26,.06);border-color:rgba(49,36,26,.22);color:var(--inchiostro)}
.scelta-lingua:hover{border-color:var(--marmotta)}
.scelta-lingua .freccetta{width:11px;height:11px;transition:transform .3s}
.scelta-lingua[aria-expanded="true"] .freccetta{transform:rotate(180deg)}
.bandiera{display:block;width:20px;height:14px;border-radius:2px;overflow:hidden;flex:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.bandiera svg{width:100%;height:100%;display:block}
.menu-lingue{position:absolute;top:calc(100% + .5rem);right:0;min-width:250px;margin:0;padding:.35rem;
  list-style:none;background:var(--neve);border:var(--bordo);border-radius:6px;box-shadow:var(--ombra-alta);z-index:20;
  animation:entra .25s cubic-bezier(.2,.8,.3,1)}
.menu-lingue[hidden]{display:none}
.menu-lingue button{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:0;border-radius:4px;
  padding:.55em .6em;cursor:pointer;font-family:'Karla';font-size:.85rem;font-weight:600;color:var(--inchiostro);
  text-align:left;transition:background .2s}
.menu-lingue button:hover:not(:disabled){background:var(--carta-2)}
.menu-lingue button[aria-current]{background:var(--carta-2)}
.menu-lingue button:disabled{cursor:default;color:var(--inchiostro-3)}
.menu-lingue button span{flex:1}
.menu-lingue button em{flex:none;white-space:nowrap;font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--marmotta);background:rgba(156,106,55,.12);border-radius:999px;padding:.28em .6em}
.barra-mesi{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-bottom:1.6rem}
.barra-mesi span{font-family:'Fraunces';font-size:1rem;font-weight:600;color:var(--marmotta-chiaro);
  letter-spacing:.02em;min-width:15ch;text-align:center}
.freccia-mese{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:rgba(250,244,226,.09);border:1px solid rgba(250,244,226,.24);color:var(--neve);transition:.25s}
.freccia-mese:hover:not(:disabled){background:var(--marmotta);border-color:var(--marmotta);transform:scale(1.06)}
.freccia-mese:disabled{opacity:.28;cursor:default}
.freccia-mese svg{width:17px;height:17px}
.g.passato{color:rgba(250,244,226,.16);background:none;cursor:default}
.avviso-cal{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 1.6rem;padding:.9rem 1.1rem;
  background:rgba(155,59,30,.16);border:1px solid rgba(196,86,47,.5);border-radius:4px;
  font-size:.86rem;line-height:1.55;color:rgba(255,244,236,.92)}
.avviso-cal[hidden]{display:none}
.avviso-cal svg{width:19px;height:19px;flex:none;margin-top:.15rem;color:#E08A63}
.fascia-prezzi{margin-bottom:clamp(2rem,4vw,3rem)}
.prezzi{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;
  background:rgba(250,244,226,.16);border:1px solid rgba(250,244,226,.16);border-radius:4px;overflow:hidden}
.prezzo{background:var(--bosco-scuro);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem}
.prezzo span{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,244,226,.5)}
.prezzo strong{font-family:'Fraunces';font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:600;color:var(--neve);
  line-height:1.15;font-variant-numeric:tabular-nums}
.prezzo small{font-size:.76rem;color:rgba(250,244,226,.55)}
.prezzo.evidenza{background:#22381F}
.prezzo.evidenza strong{font-size:clamp(1rem,1.7vw,1.2rem);color:var(--marmotta-chiaro)}
.nota-prezzi{display:flex;gap:.65rem;align-items:flex-start;margin:.9rem 0 0;
  font-size:.79rem;line-height:1.6;color:rgba(250,244,226,.58)}
.nota-prezzi svg{width:15px;height:15px;flex:none;margin-top:.2rem;color:rgba(250,244,226,.45)}
.nota-prezzi strong{font-weight:700;color:rgba(250,244,226,.8)}
.domande{background:var(--carta)}
.elenco-domande{display:grid;gap:.1rem;max-width:900px}
.domanda{border-bottom:1px solid rgba(49,36,26,.16)}
.domanda summary{list-style:none;cursor:pointer;padding:1.15rem 2.4rem 1.15rem 0;position:relative;
  font-family:'Fraunces';font-size:clamp(1.02rem,1.6vw,1.18rem);font-weight:600;color:var(--inchiostro);
  transition:color .25s}
.domanda summary::-webkit-details-marker{display:none}
.domanda summary:hover{color:var(--bosco)}
.domanda summary::after{content:'';position:absolute;right:.4rem;top:50%;width:11px;height:11px;
  border-right:2px solid var(--marmotta);border-bottom:2px solid var(--marmotta);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.domanda[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.domanda .risposta{padding:0 2.4rem 1.3rem 0;animation:entra .35s cubic-bezier(.2,.8,.3,1)}
.domanda .risposta p{margin:0;color:var(--inchiostro-2);line-height:1.7;max-width:70ch}
@media(max-width:900px){.domanda summary{padding-right:2rem}.domanda .risposta{padding-right:0}}
.regole{background:var(--carta-2)}
.regole-griglia{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
.orari{display:grid;gap:1rem}
.orario{background:var(--neve);border:var(--bordo);border-radius:4px;padding:1.4rem 1.5rem;box-shadow:var(--ombra)}
.etichetta-orario{display:block;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--marmotta);margin-bottom:.4rem}
.orario strong{display:block;font-family:'Fraunces';font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;
  color:var(--bosco);line-height:1.1;font-variant-numeric:tabular-nums}
.orario small{display:block;margin-top:.6rem;font-size:.84rem;line-height:1.55;color:var(--inchiostro-2)}
.elenco-regole{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.elenco-regole li{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px dashed rgba(49,36,26,.2)}
.elenco-regole li:last-child{border-bottom:0}
.elenco-regole svg{width:24px;height:24px;flex:none;color:var(--marmotta);margin-top:.15rem}
.elenco-regole span{display:block;font-size:.9rem;line-height:1.6;color:var(--inchiostro-2)}
.elenco-regole strong{display:block;font-size:1rem;color:var(--inchiostro);margin-bottom:.15rem}
@media(max-width:820px){.regole-griglia{grid-template-columns:1fr}.orari{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.orari{grid-template-columns:1fr}}
.condizioni{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1rem,2vw,1.5rem);
  margin-top:clamp(2rem,4vw,3rem)}
.blocco-cond{background:var(--neve);border:var(--bordo);border-radius:4px;padding:1.5rem 1.6rem}
.blocco-cond.importante{border-color:rgba(156,106,55,.45);box-shadow:inset 3px 0 0 var(--marmotta)}
.blocco-cond h3{font-size:1.08rem;font-weight:600;margin-bottom:.9rem;color:var(--bosco)}
.blocco-cond ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.blocco-cond li{position:relative;padding-left:1.1rem;font-size:.88rem;line-height:1.6;color:var(--inchiostro-2)}
.blocco-cond li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;
  background:var(--marmotta);opacity:.7}
.blocco-cond strong{color:var(--inchiostro)}
.facolt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--inchiostro-3)}
.campo .tre{display:grid;grid-template-columns:1fr 1fr .8fr;gap:.8rem}
.campo select{width:100%;padding:.85em 1em;font-family:'Karla';font-size:.98rem;color:var(--inchiostro);
  background:var(--neve);border:var(--bordo);border-radius:3px}
.trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.esito{margin-top:1.2rem;padding:1.1rem 1.3rem;border-radius:4px;font-size:.93rem;line-height:1.6;
  animation:entra .4s cubic-bezier(.2,.8,.3,1)}
.esito[hidden]{display:none}
.esito.ok{background:rgba(46,82,51,.1);border:1px solid rgba(46,82,51,.4);color:var(--bosco)}
.esito.ok strong{display:block;font-family:'Fraunces';font-size:1.1rem;margin-bottom:.4rem;color:var(--bosco)}
.esito.ko{background:rgba(155,59,30,.1);border:1px solid rgba(155,59,30,.45);color:#7A3018}
.esito.ko strong{display:block;font-weight:700;margin-bottom:.35rem}
.esito a{color:inherit;font-weight:700}
.esito .dettaglio{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed currentColor;opacity:.85;font-size:.88rem}
@media(max-width:600px){.campo .tre{grid-template-columns:1fr}}
  text-decoration:none;color:var(--neve);background:#25A366;border-radius:4px;
  box-shadow:0 6px 18px -8px rgba(37,163,102,.8);
  transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s,background .3s}

/* pulsante in evidenza nella barra in alto */
/* pulsante che galleggia in basso a destra: sempre a portata, senza stringere la barra in alto */
.galleggiante{position:fixed;right:clamp(1.2rem,2.5vw,2.4rem);bottom:clamp(1.2rem,2.5vw,2.4rem);
  z-index:80;display:inline-flex;align-items:center;gap:.6rem;padding:.9em 1.5em;border-radius:999px;
  background:var(--marmotta);color:var(--neve);text-decoration:none;font-family:'Karla';
  font-size:.88rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;
  box-shadow:0 6px 16px -6px rgba(49,36,26,.4),0 18px 40px -18px rgba(156,106,55,.95);
  opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .45s cubic-bezier(.2,.8,.3,1),transform .45s cubic-bezier(.2,.8,.3,1),background .3s}
.galleggiante.si-vede{opacity:1;transform:none;pointer-events:auto}
.galleggiante:hover{background:#8B5C2E}
.galleggiante.si-vede:hover{transform:translateY(-3px)}
.galleggiante svg{width:19px;height:19px}
@media(max-width:900px){.galleggiante{display:none}}

/* barra di azione sempre a portata di pollice */
.barra-azioni{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  gap:.5rem;padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(250,244,226,.96);backdrop-filter:blur(14px);
  box-shadow:0 -1px 0 rgba(49,36,26,.14),0 -8px 24px -14px rgba(49,36,26,.5)}
.barra-azioni .az{display:flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:48px;border-radius:999px;text-decoration:none;font-family:'Karla';
  font-size:.84rem;font-weight:700;letter-spacing:.02em;transition:.25s}
.barra-azioni .az svg{width:18px;height:18px;flex:none}
.az-date{flex:1;background:var(--carta-3);color:var(--inchiostro)}
.az-prev{flex:1.2;background:var(--marmotta);color:var(--neve)}
@media(max-width:900px){
  .barra-azioni{display:flex}
  body{padding-bottom:4.6rem}      /* così l'ultima riga non resta sotto la barra */
}
.telefoni{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.5rem 0 1.6rem}
.telefoni a{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;text-decoration:none;color:inherit;
  background:var(--carta-2);border:var(--bordo);border-radius:4px;
  transition:transform .3s cubic-bezier(.2,.8,.3,1),border-color .3s,box-shadow .3s}
.telefoni a:hover{transform:translateY(-2px);border-color:var(--marmotta);box-shadow:var(--ombra)}
.telefoni svg{width:20px;height:20px;flex:none;color:var(--marmotta)}
.telefoni span{display:flex;flex-direction:column;line-height:1.3}
.telefoni strong{font-size:.9rem}
.telefoni small{font-size:.8rem;color:var(--inchiostro-2);font-variant-numeric:tabular-nums}
@media(max-width:520px){.telefoni{grid-template-columns:1fr}}

/* ---------- foto delle stagioni ---------- */
.foto-stagione{display:grid;gap:.6rem}
.foto-stagione .principale{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:3px;box-shadow:var(--ombra)}
.foto-stagione .contorno{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.foto-stagione .contorno img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:3px;box-shadow:var(--ombra);
  transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.foto-stagione .contorno img:hover{transform:translateY(-3px) scale(1.015)}

/* ---------- galleria ---------- */
.galleria{background:var(--carta-2)}
.nastro-foto{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(.8rem,1.6vw,1.3rem)}
.nastro-foto figure{margin:0;position:relative;overflow:hidden;border-radius:3px;background:var(--carta-3);
  box-shadow:var(--ombra);aspect-ratio:4/3;transition:transform .5s cubic-bezier(.2,.8,.3,1),box-shadow .5s}
.nastro-foto figure:hover{transform:translateY(-5px);box-shadow:var(--ombra-alta)}
.nastro-foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.nastro-foto figure:hover img{transform:scale(1.06)}
.nastro-foto figcaption{position:absolute;inset:auto 0 0 0;padding:2rem .9rem .75rem;color:var(--neve);font-size:.76rem;
  font-weight:600;background:linear-gradient(transparent,rgba(24,41,27,.85));opacity:0;transform:translateY(6px);transition:.35s}
.nastro-foto figure:hover figcaption{opacity:1;transform:none}

/* ---------- riquadro mappa ---------- */
.mappa{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;margin:.4rem 0 1.6rem;text-decoration:none;
  background:var(--carta-2);border:var(--bordo);border-radius:4px;color:var(--inchiostro);
  transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s,border-color .3s}
.mappa:hover{transform:translateY(-3px);box-shadow:var(--ombra);border-color:var(--marmotta)}
.mappa > svg:first-child{width:30px;height:30px;flex:none;color:var(--marmotta)}
.mappa span{display:flex;flex-direction:column;gap:.15rem;flex:1}
.mappa strong{font-size:.95rem}
.mappa small{font-size:.78rem;color:var(--inchiostro-2);line-height:1.4}
.mappa .freccia{width:19px;height:19px;flex:none;color:var(--inchiostro-3);transition:transform .3s}
.mappa:hover .freccia{transform:translateX(4px);color:var(--marmotta)}

/* ---------- cantieri futuri ---------- */
.futuro{background:var(--carta-2)}
.cantieri{display:grid;grid-template-columns:repeat(auto-fit,minmax(276px,1fr));gap:clamp(.9rem,1.8vw,1.4rem)}
.cantiere{display:block;text-decoration:none;color:inherit;background:var(--neve);border:var(--bordo);border-radius:4px;
  padding:1.5rem 1.6rem 1.6rem;position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.8,.3,1),box-shadow .4s,border-color .4s}
.cantiere::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--marmotta);
  transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.2,.8,.3,1)}
.cantiere:hover{transform:translateY(-4px);box-shadow:var(--ombra);border-color:rgba(156,106,55,.4)}
.cantiere:hover::before{transform:scaleY(1)}
.cantiere .stato{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bosco);background:rgba(46,82,51,.1);border-radius:999px;padding:.35em .85em;margin-bottom:.9rem}
.cantiere h3{font-size:1.14rem;font-weight:600;margin-bottom:.5rem}
.cantiere p{margin:0;font-size:.88rem;color:var(--inchiostro-2);line-height:1.6}

/* ---------- calendario: stati chiari ---------- */
.g.occupato{background:#9B3B1E;color:rgba(255,244,236,.62);cursor:not-allowed;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.g.scelto{background:#4E9B57;color:var(--neve);transform:scale(1.06);box-shadow:0 4px 14px -4px rgba(78,155,87,.95)}
.g.dentro{background:rgba(78,155,87,.38);color:var(--neve)}
.pallino{width:13px;height:13px;border-radius:50%;position:relative}
.pallino.libero{background:rgba(250,244,226,.3)}
.pallino.occupato{background:#9B3B1E}
.pallino.scelto{background:#4E9B57}
.scelta[hidden]{display:none}
.scelta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.2rem;
  padding:1.1rem 1.4rem;background:rgba(250,244,226,.09);border:1px solid rgba(250,244,226,.24);border-radius:4px;
  animation:entra .45s cubic-bezier(.2,.8,.3,1)}
.scelta .etichetta{display:block;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(250,244,226,.5);margin-bottom:.25rem}
.scelta strong{font-family:'Fraunces';font-size:1.16rem;font-weight:600;color:var(--neve)}
.scelta-azioni{display:flex;gap:.7rem;flex-wrap:wrap}
.scelta-azioni .btn{padding:.7em 1.3em;font-size:.82rem}
.btn.spento{opacity:.4;cursor:not-allowed;box-shadow:none}
.btn.spento:hover{transform:none;background:var(--marmotta)}
.troppo-corto{font-family:'Karla';font-style:normal;font-size:.9rem;font-weight:600;
  color:#F0A882;line-height:1.5;display:block}
@media(max-width:560px){.scelta,.scelta-azioni{width:100%}.scelta-azioni .btn{flex:1;justify-content:center}}

/* ---------- SOLO TELEFONO E TABLET: si scorre di lato invece che all'infinito ----------
   Tutto qui dentro vale SOLO sotto i 900px: sul computer non cambia una virgola. ---------- */
@media(max-width:900px){
  /* GALLERIA: da pila verticale a striscia che si sfoglia col dito */
  .nastro-foto{display:flex;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;gap:.7rem;padding:0 0 1rem;margin-right:calc(-1 * var(--sp));
    scrollbar-width:none}
  .nastro-foto::-webkit-scrollbar{display:none}
  .nastro-foto figure{flex:0 0 84%;scroll-snap-align:start;aspect-ratio:4/3}
  .nastro-foto figure:last-child{margin-right:var(--sp)}
  .nastro-foto figcaption{opacity:1;transform:none}   /* sul telefono non c'è il passaggio del mouse */
  .galleria .testa::after{content:'Scorri con il dito →';display:block;width:100%;
    font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--inchiostro-3);margin-top:.5rem}

  /* LE STANZE: anche loro si sfogliano invece di impilarsi */
  .griglia{display:flex;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;gap:.7rem;padding-bottom:1rem;margin-right:calc(-1 * var(--sp));
    scrollbar-width:none}
  .griglia::-webkit-scrollbar{display:none}
  .griglia .cornice{flex:0 0 84%;scroll-snap-align:start;aspect-ratio:4/3;grid-column:auto}
  .griglia .cornice:last-child{margin-right:var(--sp)}
  .griglia figcaption{opacity:1;transform:none}
  #casa .testa::after{content:'Scorri con il dito →';display:block;width:100%;
    font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--inchiostro-3);margin-top:.5rem}
  /* sfumatura sul bordo destro: dice «c'è dell'altro di là» */
  .con-striscia{position:relative}
  .con-striscia::after{content:'';position:absolute;right:0;top:0;bottom:1.4rem;width:2.6rem;
    pointer-events:none;background:linear-gradient(to right,transparent,var(--sfondo-striscia,var(--carta)))}
  .galleria .con-striscia::after{--sfondo-striscia:var(--carta-2)}
  .contatore{display:flex;align-items:center;gap:.5rem;margin-top:.7rem;
    font-size:.78rem;letter-spacing:.06em;color:var(--inchiostro-3)}
  .contatore b{font-weight:700;color:var(--marmotta);font-variant-numeric:tabular-nums}
  .contatore .barretta{flex:1;height:3px;border-radius:2px;background:rgba(49,36,26,.14);overflow:hidden}
  .contatore .barretta i{display:block;height:100%;border-radius:2px;background:var(--marmotta);
    transition:width .25s,margin-left .25s}

  /* RECENSIONI: stessa cosa, si sfogliano */
  .cartoline{display:flex;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:1rem;margin-right:calc(-1 * var(--sp));
    scrollbar-width:none}
  .cartoline::-webkit-scrollbar{display:none}
  .cartolina{flex:0 0 86%;scroll-snap-align:start;margin:0}
  .cartolina:hover{transform:none}

  /* LE SETTE COSE e I CANTIERI: più compatti, senza togliere niente */
  .pregio{padding:1.15rem 1.2rem}
  .pregio svg{width:26px;height:26px;margin-bottom:.6rem}
  .pregio h3{font-size:1.02rem;margin-bottom:.3rem}
  .pregio p{font-size:.86rem;line-height:1.5}
  .cantiere{padding:1.15rem 1.2rem}
  .cantiere p{font-size:.84rem;line-height:1.5}
  .cantiere h3{font-size:1.02rem}

  /* respiro fra le sezioni ridotto: sul telefono lo spazio costa */
  .sez{padding-block:clamp(3rem,7vh,4.5rem)}
  .testa{margin-bottom:1.6rem}
  .blocco-cond{padding:1.2rem 1.3rem}
  .elenco-regole li{padding:.8rem 0}
}

/* ---------- RIFINITURE PER IL TELEFONO ---------- */
@media(max-width:900px){
  /* nulla da toccare sotto i 44 pixel: è la misura di un polpastrello */
  .cartolina .traduci{min-height:44px;display:inline-flex;align-items:center;padding:.4em 0}
  .scelta-lingua{min-height:42px;padding:.5em .85em .5em .5em}
  .menu-lingue button{min-height:48px}
  .freccia-mese{width:46px;height:46px}
  .telefoni a{min-height:56px}
  .mappa{min-height:56px}
  .altre-recensioni .btn,.scelta-azioni .btn{min-height:46px}
  /* niente testo sotto i 12 pixel: su uno schermo piccolo non si legge */
  .numeri small,.prezzo span,.etichetta-orario,.cantiere .stato,
  .mese th,.cartolina .lingua-orig,.cartolina .chi i,.eyebrow,
  .voto-riga small,.orario small,.telefoni small,.mappa small{font-size:.79rem}
  .eyebrow{letter-spacing:.16em}
  .prezzo small,.cartolina .chi,.nota-prezzi,footer .basso,
  .avviso-cal,.legenda,.aggiornato{font-size:.82rem}
  .g{font-size:.95rem}
  .menu-lingue button em{font-size:.66rem}
  /* la barra delle date scelte non deve schiacciarsi */
  /* i due selettori di data non stanno affiancati su uno schermo stretto */
  .campo .due{grid-template-columns:1fr}
  /* il riquadro dell'apertura: ci sta su una riga sola, basta non farlo andare a capo */
  .apertura .occhiello{white-space:nowrap;font-size:.66rem;letter-spacing:.14em;padding:.5em 1em}
  .scelta{padding:1.2rem}
  .scelta strong{font-size:1.05rem}
}

/* ---------- COMPARSE ---------- */
[data-appare]{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.8,.3,1),transform .85s cubic-bezier(.2,.8,.3,1)}
[data-appare].dentro{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-appare]{opacity:1;transform:none}}


/* ══════════════════════════════════════════════════════════════════════════
   LA GUIDA DEL TARVISIANO — foglio di stile
   Stessa famiglia del sito: carta, bosco, marmotta. Fraunces + Karla.
   Impaginazione da rivista: copertina a tutta pagina, capolettera,
   scheda dei dati che segue la lettura, fotografie a piena larghezza.
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. COPERTINA ──────────────────────────────────────────────────────── */
.g-copertina{position:relative;min-height:clamp(30rem,78vh,46rem);display:flex;
  align-items:flex-end;overflow:hidden;background:var(--bosco-scuro)}
.g-copertina>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  /* la fotografia si muove appena piu' lenta del testo: profondita' senza trucchi */
  transform:scale(1.06);filter:saturate(1.03)}
.g-copertina::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(24,41,27,.66) 0%,rgba(24,41,27,.16) 38%,
    rgba(24,41,27,.62) 74%,rgba(24,41,27,.92) 100%)}
.g-copertina .g-dentro{position:relative;z-index:2;width:100%;
  max-width:74rem;margin:0 auto;padding:0 var(--sp) clamp(2.75rem,6vw,5rem)}

.g-numero-rivista{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem}
.g-numero-rivista .g-cifra{font-family:'Fraunces',Georgia,serif;font-size:.94rem;
  font-weight:600;color:var(--marmotta-chiaro);letter-spacing:.1em;
  font-variant-numeric:tabular-nums}
.g-numero-rivista .g-filo{flex:1;height:1px;max-width:5.5rem;
  background:linear-gradient(90deg,var(--marmotta-chiaro),transparent)}

.g-occhiello{display:block;font-family:'Karla',sans-serif;font-size:.74rem;
  font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--marmotta-chiaro);margin-bottom:1rem;line-height:1.5}
.g-copertina h1{font-family:'Fraunces',Georgia,serif;color:var(--neve);
  font-size:clamp(2.5rem,7.2vw,5.4rem);line-height:.98;font-weight:600;
  letter-spacing:-.022em;margin:0 0 1.1rem;text-wrap:balance;
  text-shadow:0 2px 30px rgba(24,41,27,.5)}
.g-copertina .g-sommario{font-family:'Karla',sans-serif;color:rgba(255,252,242,.93);
  font-size:clamp(1.06rem,2.1vw,1.42rem);line-height:1.55;font-weight:300;
  max-width:42rem;margin:0;text-wrap:pretty}

/* ─── 2. LA RIGA DEI DATI — il riassunto citabile ───────────────────────── */
.g-riga-dati{background:var(--bosco-scuro);color:var(--neve);
  border-top:1px solid rgba(255,252,242,.1)}
.g-riga-dati ul{max-width:74rem;margin:0 auto;padding:0 var(--sp);list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0}
.g-riga-dati li{padding:1.5rem 1.6rem 1.5rem 0;position:relative}
.g-riga-dati li+li{padding-left:1.6rem}
.g-riga-dati li+li::before{content:"";position:absolute;left:0;top:1.5rem;bottom:1.5rem;
  width:1px;background:rgba(255,252,242,.15)}
.g-riga-dati b{display:block;font-family:'Karla',sans-serif;font-size:.68rem;
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--marmotta-chiaro);margin-bottom:.5rem}
.g-riga-dati span{font-family:'Fraunces',Georgia,serif;font-size:1.02rem;
  line-height:1.35;color:var(--neve);font-weight:500}

/* ─── 3. IL CORPO — racconto a sinistra, scheda a destra ────────────────── */
.g-articolo{max-width:74rem;margin:0 auto;padding:clamp(3rem,7vw,5.5rem) var(--sp);
  display:grid;grid-template-columns:minmax(0,1fr) 20.5rem;
  gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
@media(max-width:60rem){.g-articolo{grid-template-columns:1fr;gap:2.75rem}}

.g-racconto p{font-family:'Karla',sans-serif;font-size:1.115rem;line-height:1.78;
  color:var(--inchiostro);margin:0 0 1.5rem;text-wrap:pretty}
.g-racconto p strong{font-weight:700;color:var(--bosco-scuro)}
/* capolettera: solo sul primo paragrafo, e solo dove c'e' spazio */
.g-racconto > p:first-of-type::first-letter{font-family:'Fraunces',Georgia,serif;
  float:left;font-size:4.15em;line-height:.78;font-weight:600;
  color:var(--bosco);margin:.06em .1em -.04em 0}
@media(max-width:26rem){.g-racconto > p:first-of-type::first-letter{float:none;
  font-size:1em;line-height:inherit;color:inherit;margin:0}}

/* ─── 4. IL CONSIGLIO — la voce di chi ci vive ──────────────────────────── */
.g-consiglio{position:relative;margin:2.75rem 0;padding:1.9rem 2rem 1.9rem 2.2rem;
  background:linear-gradient(135deg,rgba(156,106,55,.09),rgba(156,106,55,.035));
  border-radius:.55rem;border-left:3px solid var(--marmotta)}
.g-consiglio b{display:flex;align-items:center;gap:.55rem;font-family:'Karla',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--marmotta);margin-bottom:.85rem}
.g-consiglio b svg{width:1.05rem;height:1.05rem;flex:none}
.g-consiglio p{font-family:'Fraunces',Georgia,serif;font-size:1.09rem;line-height:1.7;
  color:var(--inchiostro);margin:0;font-style:italic}

/* ─── 5. L'AVVERTENZA — quando c'e' un rischio, si vede ─────────────────── */
.g-avvertenza{margin:2.4rem 0;padding:1.55rem 1.75rem;border-radius:.55rem;
  background:rgba(180,60,40,.055);border:1px solid rgba(180,60,40,.2)}
.g-avvertenza b{display:flex;align-items:center;gap:.55rem;font-family:'Karla',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:#A8402C;margin-bottom:.75rem}
.g-avvertenza b svg{width:1.05rem;height:1.05rem;flex:none}
.g-avvertenza p{font-family:'Karla',sans-serif;font-size:1.02rem;line-height:1.68;
  color:var(--inchiostro);margin:0}
.g-avvertenza p strong{color:#8E3524}

/* ─── 6. LA SCHEDA — resta accanto mentre si legge ─────────────────────── */
.g-scheda{position:sticky;top:5.5rem;background:var(--neve);border:var(--bordo);
  border-radius:.6rem;box-shadow:var(--ombra);overflow:hidden}
@media(max-width:60rem){.g-scheda{position:static}}
.g-scheda>h2{font-family:'Karla',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--neve);
  background:var(--bosco);margin:0;padding:1rem 1.4rem}
.g-scheda dl{margin:0;padding:.4rem 1.4rem 1.1rem}
.g-scheda dt{font-family:'Karla',sans-serif;font-size:.73rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--bosco-chiaro);
  margin-top:1.05rem}
.g-scheda dd{font-family:'Karla',sans-serif;font-size:.985rem;line-height:1.5;
  color:var(--inchiostro);margin:.28rem 0 0}
.g-scheda dd strong{font-weight:700;color:var(--bosco-scuro)}
.g-scheda .g-nota{border-top:var(--bordo);margin:0;padding:1rem 1.4rem;
  background:rgba(49,36,26,.028);font-family:'Karla',sans-serif;
  font-size:.83rem;line-height:1.6;color:rgba(49,36,26,.72)}

/* ─── 7. IL POSTO DEL PULSANTE — disegnato ora, acceso quando serve ─────── */
.g-acquisto{border-top:var(--bordo);padding:1.3rem 1.4rem}
.g-acquisto a{display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--bosco);color:var(--neve);text-decoration:none;
  font-family:'Karla',sans-serif;font-size:.97rem;font-weight:700;
  padding:.92rem 1.2rem;border-radius:.4rem;transition:background .18s ease}
.g-acquisto a:hover{background:var(--bosco-scuro)}
.g-acquisto .g-trasparenza{display:block;margin-top:.7rem;font-family:'Karla',sans-serif;
  font-size:.76rem;line-height:1.5;color:rgba(49,36,26,.6);text-align:center}

/* ─── 8. LE FOTOGRAFIE ──────────────────────────────────────────────────── */
.g-fotografie{background:var(--bosco-scuro);padding:clamp(2.5rem,5vw,4rem) 0}
.g-fotografie .g-dentro{max-width:74rem;margin:0 auto;padding:0 var(--sp)}
.g-fotografie h2{font-family:'Karla',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--marmotta-chiaro);
  margin:0 0 1.4rem}
.g-rullino{display:grid;gap:1rem;
  /* su schermo largo si vedono tutte; sotto i 52rem diventa un rullino che scorre */
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
@media(max-width:52rem){.g-rullino{grid-template-columns:none;
  grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;
  scroll-snap-type:x mandatory;padding-bottom:.9rem;scrollbar-width:thin}}
.g-rullino figure{margin:0;scroll-snap-align:start}
.g-rullino img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.45rem;
  display:block;background:rgba(255,252,242,.06)}
.g-rullino figcaption{font-family:'Karla',sans-serif;font-size:.78rem;line-height:1.5;
  color:rgba(255,252,242,.62);margin-top:.6rem}


/* ─── 9. LE DOMANDE ─────────────────────────────────────────────────────── */
.g-domande-luogo{max-width:52rem;margin:0 auto;padding:clamp(3rem,6vw,4.5rem) var(--sp)}
.g-domande-luogo>.g-occhiello{color:var(--bosco-chiaro);margin-bottom:.6rem}
.g-domande-luogo>h2{font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.6rem,3.2vw,2.2rem);color:var(--bosco-scuro);
  margin:0 0 2rem;font-weight:600;letter-spacing:-.015em}
.g-domande-luogo .g-qa{border-top:var(--bordo);padding:1.5rem 0}
.g-domande-luogo .g-qa:last-child{border-bottom:var(--bordo)}
.g-domande-luogo .g-qa h3{font-family:'Fraunces',Georgia,serif;font-size:1.16rem;
  line-height:1.4;color:var(--bosco-scuro);margin:0 0 .65rem;font-weight:600}
.g-domande-luogo .g-qa p{font-family:'Karla',sans-serif;font-size:1.03rem;
  line-height:1.72;color:var(--inchiostro);margin:0}

/* ─── 10. DALLA CASA — il ponte verso l'appartamento ───────────────────── */
.g-dalla-casa{background:var(--bosco);color:var(--neve)}
.g-dalla-casa .g-dentro{max-width:74rem;margin:0 auto;
  padding:clamp(2.75rem,5.5vw,4.25rem) var(--sp);
  display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center}
@media(max-width:52rem){.g-dalla-casa .g-dentro{grid-template-columns:1fr;gap:1.75rem}}
.g-dalla-casa .g-occhiello{color:var(--marmotta-chiaro)}
.g-dalla-casa h2{font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.18;margin:0 0 .9rem;
  font-weight:600;letter-spacing:-.015em;text-wrap:balance}
.g-dalla-casa p{font-family:'Karla',sans-serif;font-size:1.055rem;line-height:1.7;
  color:rgba(255,252,242,.88);margin:0;max-width:38rem}
.g-bottone-chiaro{display:inline-flex;align-items:center;gap:.6rem;white-space:nowrap;
  background:var(--neve);color:var(--bosco-scuro);text-decoration:none;
  font-family:'Karla',sans-serif;font-size:1rem;font-weight:700;
  padding:1rem 1.7rem;border-radius:.42rem;transition:transform .18s ease,box-shadow .18s ease}
.g-bottone-chiaro:hover{transform:translateY(-2px);box-shadow:var(--ombra-alta)}

/* ─── 11. AVANTI E INDIETRO ─────────────────────────────────────────────── */
.g-scorri{max-width:74rem;margin:0 auto;padding:clamp(2.5rem,5vw,3.5rem) var(--sp);
  display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:44rem){.g-scorri{grid-template-columns:1fr}}
.g-scorri a{display:block;padding:1.35rem 1.5rem;border:var(--bordo);border-radius:.5rem;
  text-decoration:none;background:var(--neve);transition:border-color .18s,box-shadow .18s}
.g-scorri a:hover{border-color:var(--bosco-chiaro);box-shadow:var(--ombra)}
.g-scorri a b{display:block;font-family:'Karla',sans-serif;font-size:.68rem;
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bosco-chiaro);margin-bottom:.4rem}
.g-scorri a span{font-family:'Fraunces',Georgia,serif;font-size:1.13rem;
  color:var(--bosco-scuro);font-weight:600;line-height:1.3}
.g-scorri .g-avanti{text-align:right}

/* ─── 12. LA COPERTINA DELLA GUIDA — il mosaico ────────────────────────── */
.g-mosaico{max-width:80rem;margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--sp);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));
  gap:clamp(1.1rem,2.2vw,1.75rem)}
.g-tessera{position:relative;display:block;text-decoration:none;overflow:hidden;
  border-radius:.6rem;background:var(--bosco-scuro);aspect-ratio:4/5;
  box-shadow:var(--ombra);transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.g-tessera:hover{transform:translateY(-5px);box-shadow:var(--ombra-alta)}
.g-tessera img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.g-tessera:hover img{transform:scale(1.055)}
.g-tessera::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(24,41,27,.05) 30%,rgba(24,41,27,.55) 62%,
    rgba(24,41,27,.93) 100%)}
.g-tessera .g-testo{position:absolute;inset:auto 0 0 0;z-index:2;padding:1.5rem 1.5rem 1.6rem}
.g-tessera .g-cifra{font-family:'Fraunces',Georgia,serif;font-size:.8rem;font-weight:600;
  color:var(--marmotta-chiaro);letter-spacing:.14em;display:block;margin-bottom:.5rem;
  font-variant-numeric:tabular-nums}
.g-tessera h2{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;line-height:1.14;
  color:var(--neve);margin:0 0 .5rem;font-weight:600;letter-spacing:-.015em;
  text-wrap:balance}
.g-tessera .g-sotto{font-family:'Karla',sans-serif;font-size:.87rem;line-height:1.5;
  color:rgba(255,252,242,.82);margin:0}
.g-tessera .g-lontano{display:inline-block;margin-top:.85rem;font-family:'Karla',sans-serif;
  font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--marmotta-chiaro)}
/* la prima tessera occupa due colonne: e' l'apertura del numero */
@media(min-width:64rem){.g-tessera.g-apertura{grid-column:span 2;aspect-ratio:16/9}
  .g-tessera.g-apertura h2{font-size:2.35rem}
  .g-tessera.g-apertura .g-sotto{font-size:1rem;max-width:34rem}}

/* ─── 13. FIRMA — chi scrive e perche' ne sa (E-E-A-T) ─────────────────── */
.g-firma{max-width:52rem;margin:0 auto;padding:0 var(--sp) clamp(3rem,6vw,4.5rem)}
.g-firma .g-dentro{display:flex;gap:1.2rem;align-items:flex-start;padding:1.6rem 1.75rem;
  border:var(--bordo);border-radius:.55rem;background:rgba(46,82,51,.04)}
.g-firma img{width:3.4rem;height:3.4rem;border-radius:50%;object-fit:cover;flex:none;
  background:var(--carta)}
.g-firma b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.02rem;
  color:var(--bosco-scuro);margin-bottom:.35rem;font-weight:600}
.g-firma p{font-family:'Karla',sans-serif;font-size:.93rem;line-height:1.65;
  color:rgba(49,36,26,.82);margin:0}
.g-firma time{display:block;margin-top:.6rem;font-family:'Karla',sans-serif;
  font-size:.78rem;color:rgba(49,36,26,.55)}

/* ─── 14. movimento ridotto: chi lo chiede, non lo subisce ─────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .g-copertina>img{transform:none}
}
