/* YogaSankranti — sistema grafico del restyling 2026
   Direzione: «il passaggio del sole». Carta avorio calda, inchiostro bruno, rosso sindoor e oro del loto.
   Archi di tempio sulle immagini, arco solare dorato come segno di passaggio fra le sezioni.
   Testo giustificato (preferenza di Laura), foto grandi, poche card, tutto pensato prima per il telefono. */
@import url("../fonts/fonts.css");
@font-face{font-family:"Higuen Serif";src:url("../fonts/HiguenSerif.woff") format("woff");font-display:swap}

:root{--raggio:5px;
  --carta:#FAF5EC;        /* fondo */
  --carta-2:#F2E8D8;      /* sabbia, sezioni alternate */
  --carta-3:#EADBC4;
  --inchiostro:#2A211C;   /* testo */
  --inchiostro-2:#5F5148; /* testo secondario */
  --sindoor:#8C1427;      /* rosso del marchio */
  --sindoor-scuro:#6E0E1E;
  --oro:#B8891A;          /* linee, ornamenti */
  --oro-testo:#8A6610;    /* oro leggibile su carta */
  --rosa:#F3D9D6;
  --notte:#6E1424;        /* amaranto: sezioni scure, piè di pagina (Laura non vuole fondi neri, 22/10) */
  --notte-2:#2E221D;
  --linea:#E2D3BC;
  --display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --testo:"Manrope",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --firma:"Higuen Serif","Cormorant Garamond",Georgia,serif;
  --misura:68ch;
  --gutter:clamp(18px,4vw,40px);
  --ombra:0 30px 60px -30px rgba(60,30,20,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--carta);color:var(--inchiostro);font-family:var(--testo);font-size:17.5px;line-height:1.8;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--sindoor);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--sindoor-scuro)}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;color:var(--inchiostro);line-height:1.08;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.6rem,6.2vw,5.4rem)}
h2{font-size:clamp(2rem,3.8vw,3.2rem)}
h3{font-size:clamp(1.45rem,2.2vw,1.9rem)}
h4{font-size:1.3rem}
p{margin:0 0 1.1em}
.giusto p,.giusto li{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.contenitore{width:100%;max-width:1240px;margin:0 auto;padding-inline:var(--gutter)}
.stretto{max-width:820px}
.sopratitolo{display:inline-block;font-family:var(--testo);font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--oro-testo);margin-bottom:18px}
.firma{font-family:var(--firma);color:var(--sindoor);font-size:1.5rem;line-height:1.3}
.salta{position:absolute;left:-9999px;top:0;background:var(--notte);color:#fff;padding:10px 16px;z-index:100}
.salta:focus{left:12px;top:12px}

/* ---------- intestazione ---------- */
.testata{position:sticky;top:0;z-index:50;background:rgba(250,245,236,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.testata.scorsa{border-bottom-color:var(--linea)}
.testata .riga{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.marchio{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--inchiostro)}
.marchio img{width:58px;height:auto}
.marchio span{font-family:var(--display);font-size:1.45rem;font-weight:500;letter-spacing:.02em;line-height:1}
.marchio small{display:block;font-family:var(--testo);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--oro-testo);margin-top:5px;font-weight:600}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:flex;align-items:center;gap:6px;padding:10px 11px;white-space:nowrap;font:600 .76rem/1 var(--testo);letter-spacing:.07em;text-transform:uppercase;color:var(--inchiostro);text-decoration:none;background:none;border:0;cursor:pointer}
.menu>li>a:hover,.menu>li>button:hover,.menu>li.attivo>a,.menu>li.attivo>button{color:var(--sindoor)}
.menu button svg{width:10px;height:10px;transition:transform .2s}
.tendina{position:absolute;top:100%;left:-8px;min-width:290px;background:var(--carta);border:1px solid var(--linea);box-shadow:var(--ombra);padding:12px 0;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease}
.menu>li:hover .tendina,.menu>li:focus-within .tendina,.menu>li.aperto .tendina{opacity:1;visibility:visible;transform:none}
.tendina a{display:block;padding:9px 22px;font-size:.95rem;color:var(--inchiostro);text-decoration:none;line-height:1.35}
.tendina a:hover{background:var(--carta-2);color:var(--sindoor)}
.tendina .tutti{border-top:1px solid var(--linea);margin-top:8px;padding-top:12px;font-weight:600;color:var(--sindoor)}
.bottone{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font:700 .8rem/1 var(--testo);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--sindoor);background:var(--sindoor);color:#FFF8EE;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.bottone:hover{background:var(--sindoor-scuro);color:#fff;transform:translateY(-1px)}
.bottone.vuoto{background:transparent;color:var(--sindoor)}
.bottone.vuoto:hover{background:var(--sindoor);color:#fff}
.bottone.chiaro{background:#FFF8EE;border-color:#FFF8EE;color:var(--sindoor)}
.bottone.chiaro:hover{background:transparent;color:#FFF8EE}
.bottone svg{width:16px;height:16px}
.testata .bottone{padding:12px 18px}
.apri-menu{display:none;background:none;border:0;width:46px;height:46px;cursor:pointer;color:var(--inchiostro);padding:0}
.apri-menu svg{width:28px;height:28px}
@media (max-width:1200px){
  .menu,.testata .bottone.desktop{display:none}
  .apri-menu{display:block}
}
/* menu da telefono */
.pannello{position:fixed;inset:0;z-index:80;background:var(--carta);display:none;flex-direction:column;overflow-y:auto;padding:22px var(--gutter) 40px}
.pannello.aperto{display:flex}
.pannello .su{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.pannello details{border-bottom:1px solid var(--linea)}
.pannello summary{list-style:none;cursor:pointer;padding:16px 0;font-family:var(--display);font-size:1.7rem;display:flex;justify-content:space-between;align-items:center}
.pannello summary::-webkit-details-marker{display:none}
.pannello summary::after{content:"+";font-family:var(--testo);font-size:1.4rem;color:var(--oro-testo)}
.pannello details[open] summary::after{content:"–"}
.pannello details a{display:block;padding:8px 0 8px 4px;color:var(--inchiostro);text-decoration:none;font-size:1.02rem}
.pannello details ul{list-style:none;margin:0 0 14px;padding:0}
.pannello .voce{display:block;padding:16px 0;font-family:var(--display);font-size:1.7rem;color:var(--inchiostro);text-decoration:none;border-bottom:1px solid var(--linea)}
.pannello .bottone{margin-top:26px}

/* ---------- ornamento: l'arco solare (Sankranti, il passaggio del sole) ---------- */
.sole{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;color:var(--oro);max-width:340px}
.sole::before,.sole::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.sole::after{background:linear-gradient(90deg,currentColor,transparent)}
.sole svg{width:54px;height:30px;flex:none}
.sole .figura{width:27px;height:32px;flex:none;background:var(--sindoor);-webkit-mask:url(/assets/img/figura-divisore.png) center/contain no-repeat;mask:url(/assets/img/figura-divisore.png) center/contain no-repeat}
.sezione.notte .sole .figura,.invito .sole .figura,.eroe .sole .figura,.piede .sole .figura{background:#F1D58A}
.sole.sinistra{justify-content:flex-start;margin:0}
.sole.sinistra::before{display:none}

/* ---------- apertura delle pagine ---------- */
.eroe{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;color:#FFF8EE;isolation:isolate;overflow:hidden}
.eroe>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.eroe::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(74,12,26,.08) 0%,rgba(74,12,26,.18) 40%,rgba(74,12,26,.78) 100%)}
.eroe .contenitore{padding-block:120px 72px}
.eroe h1{color:#FFF8EE;max-width:16ch}
.eroe .sopratitolo{color:#F1D58A}
.eroe p.sotto{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.75rem);font-style:italic;max-width:38ch;margin:18px 0 30px;color:#FBEFDC;line-height:1.35}
.eroe .azioni{display:flex;gap:14px;flex-wrap:wrap}
.eroe.basso{min-height:min(70vh,640px)}

.apertura{padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,64px)}
.apertura .griglia{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);align-items:center}
.apertura h1{font-size:clamp(2.5rem,5.4vw,4.6rem)}
.apertura p.sotto{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.35;color:var(--inchiostro-2);margin:20px 0 0;max-width:34ch}
.arco{position:relative;width:100%;max-width:470px;justify-self:center}
.arco img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--raggio) var(--raggio);box-shadow:var(--ombra)}
.arco::before{content:"";position:absolute;inset:-14px -14px 18px 18px;border:1px solid var(--oro);border-radius:999px 999px var(--raggio) var(--raggio);z-index:-1}
.briciole{font-size:.78rem;letter-spacing:.06em;color:var(--inchiostro-2);margin-bottom:22px}
.briciole a{color:var(--inchiostro-2);text-decoration:none}
.briciole a:hover{color:var(--sindoor)}
@media (max-width:860px){
  .apertura .griglia{grid-template-columns:1fr}
  .arco{max-width:330px;order:-1}
  .eroe{min-height:78vh}
  .eroe .contenitore{padding-block:110px 48px}
}

/* ---------- sezioni ---------- */
.sezione{padding-block:clamp(60px,9vw,128px)}
.sezione.sabbia{background:var(--carta-2)}
.sezione.notte{background:var(--notte);color:#EADCC8}
.sezione.notte h2,.sezione.notte h3{color:#FFF4E2}
.sezione.notte .sopratitolo{color:#E3BF62}
.sezione.notte a{color:#F1D58A}
/* niente doppio spazio solo fra sezioni con lo stesso sfondo; se lo sfondo cambia il margine resta pieno (controllo grafico 25/10) */
.sezione:not(.sabbia):not(.notte)+.sezione:not(.sabbia):not(.notte),.sezione.sabbia+.sezione.sabbia,.sezione.notte+.sezione.notte{padding-top:0}
.titolo-sezione{text-align:center;max-width:760px;margin:0 auto clamp(36px,5vw,64px)}
.titolo-sezione p{font-family:var(--display);font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--inchiostro-2);margin:16px 0 0}
.sezione.notte .titolo-sezione p{color:#D8C7AE}
.titolo-sezione .sole{margin-top:22px}

/* testo lungo */
.prosa{max-width:var(--misura);margin:0 auto}
.prosa h2{margin:1.6em 0 .55em;font-size:clamp(1.8rem,3vw,2.5rem)}
.prosa h3{margin:1.5em 0 .5em}
.prosa h2:first-child,.prosa h3:first-child{margin-top:0}
.prosa ul,.prosa ol{padding-left:1.2em;margin:0 0 1.3em}
.prosa li{margin-bottom:.45em}
.prosa li::marker{color:var(--oro)}
.prosa .iniziale::first-letter{font-family:var(--display);float:left;font-size:4.4em;line-height:.82;padding:6px 12px 0 0;color:var(--sindoor)}
.prosa .lead{font-family:var(--display);font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.5;color:var(--inchiostro)}

/* immagine e testo affiancati */
.affianco{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.affianco.inverso .affianco-img{order:2}
.affianco-img img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--ombra)}
.affianco-img.arcato img{border-radius:999px 999px var(--raggio) var(--raggio)}
.affianco-img.largo img{aspect-ratio:4/3}
.affianco-testo h2{margin-bottom:22px}
.affianco-testo .sole{margin-bottom:24px}
@media (max-width:860px){.affianco{grid-template-columns:1fr}.affianco.inverso .affianco-img{order:0}.affianco-img img{aspect-ratio:4/3}.affianco-img.arcato img{aspect-ratio:4/5;max-width:380px;margin:0 auto}}

/* citazione */
.citazione{text-align:center;max-width:900px;margin:0 auto}
.citazione blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.3;color:inherit}
.citazione cite{display:block;margin-top:22px;font-style:normal;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--oro-testo)}
.sezione.notte .citazione cite{color:#E3BF62}
.citazione .sole{margin-bottom:28px}

/* immagine a tutta larghezza */
.panorama{position:relative;height:clamp(320px,62vh,640px);overflow:hidden}
.panorama img{width:100%;height:100%;object-fit:cover}
.panorama figcaption{position:absolute;left:var(--gutter);bottom:20px;color:#FFF8EE;font-family:var(--display);font-style:italic;font-size:1.2rem;text-shadow:0 1px 12px rgba(0,0,0,.5)}

/* galleria: colonne fluide, foto vere e grandi */
.galleria{columns:3 280px;column-gap:14px}
.galleria a{display:block;margin-bottom:14px;break-inside:avoid;overflow:hidden;cursor:zoom-in}
.galleria img{width:100%;transition:transform .6s ease}
.galleria a:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(74,12,26,.94);display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.aperto{display:flex}
.lightbox img{max-height:88vh;max-width:92vw;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer;padding:14px;line-height:1}
.lightbox .chiudi{top:10px;right:14px}.lightbox .prec{left:6px;top:50%;transform:translateY(-50%)}.lightbox .succ{right:6px;top:50%;transform:translateY(-50%)}

/* elenco con ornamento */
.elenco-loto{list-style:none;padding:0;margin:0 auto;max-width:var(--misura);display:grid;gap:16px}
.elenco-loto li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.elenco-loto li::before{content:"";width:18px;height:18px;margin-top:6px;background:radial-gradient(circle at 50% 50%,var(--oro) 0 3px,transparent 4px),conic-gradient(from 0deg,transparent 0 10deg,var(--oro) 10deg 14deg,transparent 14deg 55deg,var(--oro) 55deg 59deg,transparent 59deg 100deg,var(--oro) 100deg 104deg,transparent 104deg 145deg,var(--oro) 145deg 149deg,transparent 149deg 190deg,var(--oro) 190deg 194deg,transparent 194deg 235deg,var(--oro) 235deg 239deg,transparent 239deg 280deg,var(--oro) 280deg 284deg,transparent 284deg 325deg,var(--oro) 325deg 329deg,transparent 329deg);border-radius:50%}
.elenco-loto.due{grid-template-columns:1fr 1fr;max-width:1000px;column-gap:48px}
@media (max-width:700px){.elenco-loto.due{grid-template-columns:1fr}}

/* passi del programma */
.passi{list-style:none;margin:0 auto;padding:0;max-width:900px;counter-reset:passo}
.passi li{counter-increment:passo;display:grid;grid-template-columns:90px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--linea)}
.passi li:last-child{border-bottom:1px solid var(--linea)}
.passi li::before{content:counter(passo,decimal-leading-zero);font-family:var(--display);font-size:3rem;line-height:1;color:var(--oro)}
.passi h3{margin-bottom:8px}
.passi p{margin:0}
.sezione.notte .passi li{border-color:rgba(234,220,200,.18)}
@media (max-width:600px){.passi li{grid-template-columns:56px 1fr}.passi li::before{font-size:2.2rem}}

/* date */
.date{max-width:980px;margin:0 auto;border-top:1px solid var(--linea)}
.data{display:grid;grid-template-columns:minmax(150px,220px) 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--linea)}
.data .quando{font-family:var(--display);font-size:1.6rem;line-height:1.1;color:var(--sindoor)}
.data .dove{font-weight:600}
.data .nota{display:block;font-size:.95rem;color:var(--inchiostro-2);font-weight:400}
@media (max-width:700px){.data{grid-template-columns:1fr;gap:8px}}

/* schede: poche, guidate dall'immagine, senza scatole */
.schede{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(28px,4vw,48px)}
.schede>.scheda{flex:1 1 240px;max-width:calc((100% - 3*clamp(28px,4vw,48px))/4)}
@media (max-width:1100px){.schede>.scheda{max-width:calc((100% - clamp(28px,4vw,48px))/2)}}
@media (max-width:560px){.schede>.scheda{max-width:100%}}
.scheda{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.scheda .foto{overflow:hidden;margin-bottom:20px}
.scheda img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s ease}
.scheda:hover img{transform:scale(1.04)}
.scheda.arcata img{border-radius:999px 999px var(--raggio) var(--raggio)}
.scheda .sopratitolo{margin-bottom:8px}
.scheda h3{margin-bottom:10px;transition:color .2s}
.scheda:hover h3{color:var(--sindoor)}
.scheda p{color:var(--inchiostro-2);margin:0 0 12px;text-align:left}
.scheda .vai{margin-top:auto;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sindoor)}
.sezione.notte .scheda p{color:#CDBBA2}
.schede.larghe>.scheda{flex-basis:320px;max-width:calc((100% - 2*clamp(28px,4vw,48px))/3)}
@media (max-width:1100px){.schede.larghe>.scheda{max-width:100%}}
.schede.larghe img{aspect-ratio:3/2}

/* voci dal cuore (testimonianze) */
.voci{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(24px,4vw,56px)}
.voce-cuore{margin:0}
.voce-cuore blockquote{margin:0 0 16px;font-family:var(--display);font-size:1.32rem;line-height:1.5;font-style:italic}
.voce-cuore blockquote::before{content:"“";display:block;font-size:4rem;line-height:.6;color:var(--oro);margin-bottom:10px;font-style:normal}
.voce-cuore figcaption{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-testo);font-weight:700}
.sezione.notte .voce-cuore figcaption{color:#E3BF62}

/* domande frequenti */
.faq{max-width:860px;margin:0 auto;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-family:var(--display);font-size:1.4rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:1.5px solid var(--sindoor);border-bottom:1.5px solid var(--sindoor);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .risposta{padding:0 0 22px}

/* fascia di invito */
.invito{background:var(--sindoor);color:#FFF4E6;text-align:center;position:relative;overflow:hidden}
.invito::before{content:"";position:absolute;width:780px;height:780px;left:50%;top:-520px;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(241,213,138,.35);box-shadow:0 0 0 60px rgba(241,213,138,.05),0 0 0 140px rgba(241,213,138,.035)}
.invito .contenitore{position:relative;padding-block:clamp(64px,9vw,120px)}
.invito h2{color:#FFF8EE;max-width:18ch;margin:0 auto 18px}
.invito p{max-width:56ch;margin:0 auto 32px;font-size:1.08rem;color:#F6DED6}
.invito .azioni{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* fascia newsletter */
.lettera{background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF8 100%);border-top:2px solid var(--oro);border-bottom:2px solid var(--oro)}
.lettera .contenitore{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,56px);align-items:center;padding-block:clamp(44px,6vw,72px)}
.lettera .busta{width:84px;color:var(--oro)}
.lettera h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:6px}
.lettera p{margin:0;color:var(--inchiostro-2)}
@media (max-width:820px){.lettera .contenitore{grid-template-columns:1fr;text-align:center}.lettera .busta{margin:0 auto}}

/* moduli (in demo non inviano) */
.modulo{background:#FFFCF6;border:1px solid var(--linea);padding:clamp(24px,4vw,44px);box-shadow:var(--ombra);max-width:640px;margin:0 auto}
.modulo .campo{margin-bottom:18px}
.modulo label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;color:var(--inchiostro-2)}
.modulo input[type=text],.modulo input[type=email],.modulo input[type=tel],.modulo textarea,.modulo select{width:100%;padding:15px 16px;font:1rem var(--testo);color:var(--inchiostro);background:var(--carta);border:1px solid var(--carta-3);border-radius:0}
.modulo input:focus,.modulo textarea:focus{outline:2px solid var(--oro);outline-offset:0;border-color:var(--oro)}
.modulo textarea{min-height:140px;resize:vertical}
.modulo .consenso{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:.92rem;line-height:1.55;color:var(--inchiostro-2);text-transform:none;letter-spacing:0;font-weight:400}
.modulo .consenso input{width:20px;height:20px;margin-top:2px;accent-color:var(--sindoor)}
.modulo .bottone{width:100%;margin-top:6px}
.modulo .esito{display:none;margin-top:18px;padding:16px;background:var(--carta-2);font-size:.95rem}
.modulo .esito.vista{display:block}
.due-campi{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.due-campi{grid-template-columns:1fr}}

/* contatti */
.recapiti{display:grid;gap:26px}
.recapito h3{font-size:.76rem;font-family:var(--testo);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-testo);margin-bottom:6px}
.recapito a,.recapito p{font-family:var(--display);font-size:1.6rem;color:var(--inchiostro);text-decoration:none;margin:0;line-height:1.3}
.recapito a:hover{color:var(--sindoor)}

/* diario di luce (blog) */
.articolo-testata{padding-block:clamp(48px,7vw,96px) 32px;text-align:center}
.articolo-testata h1{font-size:clamp(2.3rem,5vw,4.2rem);max-width:20ch;margin:0 auto}
.articolo-testata .meta{margin-top:22px;font-size:.82rem;letter-spacing:.08em;color:var(--inchiostro-2)}
.articolo-testata .dek{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.45;max-width:40ch;margin:22px auto 0;color:var(--inchiostro-2)}
.articolo-foto{max-width:1100px;margin:0 auto clamp(40px,6vw,72px);padding-inline:var(--gutter)}
.articolo-foto img{width:100%;aspect-ratio:16/9;object-fit:cover}
.articolo .inbreve{background:var(--carta-2);border-left:3px solid var(--oro);padding:24px 28px;margin:0 0 2em}
.articolo .inbreve h2{font-size:1.5rem;margin:0 0 10px!important}
.articolo .inbreve ul{margin:0;padding-left:1.1em}
.articolo .dati{text-align:center!important;font-family:var(--display);font-size:1.3rem;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:16px 0}
.articolo .dati strong{color:var(--sindoor);font-size:1.6rem;font-weight:500}
.articolo blockquote{margin:2em 0;padding:0 0 0 26px;border-left:2px solid var(--oro);font-family:var(--display);font-style:italic;font-size:1.7rem;line-height:1.35}
.articolo blockquote p{text-align:left!important;margin:0}
.articolo blockquote cite{display:block;font-family:var(--testo);font-style:normal;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-testo);margin-top:12px}
.articolo h3{font-size:1.5rem}
.articolo .cta-articolo{display:none}
.diario-filtri{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px}
.diario-filtri span{padding:8px 16px;border:1px solid var(--linea);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.etichetta{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-testo)}

/* piè di pagina */
.piede{background:var(--notte);color:#CDBBA2;font-size:.95rem}
.piede .contenitore{padding-block:72px 36px}
.piede .colonne{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.piede h3{font-family:var(--testo);font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#E3BF62;margin-bottom:16px}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.piede a{color:#EADCC8;text-decoration:none}
.piede a:hover{color:#FFF}
.piede .marchio-piede img{width:96px;margin-bottom:16px}
.piede .marchio-piede p{max-width:34ch;font-family:var(--display);font-style:italic;font-size:1.25rem;line-height:1.45;color:#EADCC8}
.piede .fondo{border-top:1px solid rgba(234,220,200,.2);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:#E2C9BC}
.piede .fondo a{color:#E2C9BC}
.social{display:flex;gap:12px;margin-top:18px}
.social a{width:40px;height:40px;border:1px solid rgba(234,220,200,.3);display:grid;place-items:center;border-radius:50%}
.social a:hover{border-color:#E3BF62;color:#E3BF62}
.social svg{width:17px;height:17px}
@media (max-width:900px){.piede .colonne{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.piede .colonne{grid-template-columns:1fr}}

/* striscia demo */
.striscia-demo{background:var(--notte);color:#E3BF62;text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px}

/* apparizione morbida (parte visibile: si anima solo il movimento) */
@media (prefers-reduced-motion:no-preference){
  .appare{animation:appare .9s cubic-bezier(.2,.7,.2,1) both}
  @keyframes appare{from{transform:translateY(14px)}to{transform:none}}
}
.centro{text-align:center}
.mt{margin-top:40px}
.azioni-centro{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:44px}
.legale h2{font-size:1.8rem;margin:1.6em 0 .5em}
.legale table{width:100%;border-collapse:collapse;font-size:.92rem}
.legale th,.legale td{border:1px solid var(--linea);padding:10px;text-align:left;vertical-align:top}
.legale .osc-legal-t{overflow-x:auto}

/* video: si carica solo al clic */
.video{position:relative;max-width:1000px;margin:0 auto;aspect-ratio:16/9;background:var(--notte);overflow:hidden;box-shadow:var(--ombra)}
.video img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video .play{position:absolute;inset:0;margin:auto;width:84px;height:84px;background:none;border:0;cursor:pointer;transition:transform .2s}
.video .play:hover{transform:scale(1.06)}
.video .avviso-video{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 16px;font-size:.78rem;color:#EADCC8;background:linear-gradient(transparent,rgba(74,12,26,.8));text-align:center}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.affianco-img.intera img{aspect-ratio:auto;object-fit:contain;max-height:620px;width:auto;margin:0 auto;box-shadow:var(--ombra)}
.articolo .inbreve li,.articolo .inbreve p{text-align:left!important;hyphens:manual}

/* angoli morbidi: 5px su tutto ciò che non è a tutta larghezza (Lorenzo, 21/10) */
.bottone,.tendina,.modulo input[type=text],.modulo input[type=email],.modulo input[type=tel],.modulo textarea,.modulo select,
.scheda .foto,.affianco-img img,.galleria a,.lightbox img,.video,.articolo-foto img,.articolo .inbreve,.diario-filtri span,
.voce-cuore,.giostra-freccia{border-radius:var(--raggio)}
.tendina{overflow:hidden}
.articolo .inbreve{border-radius:0 var(--raggio) var(--raggio) 0}

/* tendina di Ritiri e viaggi: i due gruppi del sito originale */
.tendina .gruppo{list-style:none}
.tendina .gruppo>a{font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--sindoor);padding-top:12px}
.tendina .gruppo ul{list-style:none;margin:0 0 6px;padding:0}
.tendina .gruppo ul a{padding:7px 22px 7px 38px;font-size:.92rem;position:relative}
.tendina .gruppo ul a::before{content:"";position:absolute;left:24px;top:50%;width:6px;height:1px;background:var(--oro)}
.tendina.due-gruppi{min-width:min(640px,92vw);display:grid;grid-template-columns:1fr 1fr;padding:12px 0 0}
.tendina.due-gruppi>li:not(.gruppo){grid-column:1/-1}
.pannello details .gruppo-mob{font-weight:700;color:var(--sindoor)}
.pannello details .figlio-mob a{padding-left:18px}

/* testimonianze a scorrimento */
.giostra{position:relative}
.giostra-pista{display:flex;gap:clamp(18px,3vw,32px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 18px;scrollbar-width:none}
.giostra-pista::-webkit-scrollbar{display:none}
.giostra .voce-cuore{flex:0 0 calc((100% - 2*clamp(18px,3vw,32px))/3);scroll-snap-align:start;background:rgba(255,248,238,.05);border:1px solid rgba(234,220,200,.16);padding:28px 26px 24px;display:flex;flex-direction:column}
.giostra .voce-cuore blockquote{font-size:1.1rem;flex:1}
.sezione:not(.notte) .giostra .voce-cuore{background:var(--carta);border-color:var(--linea)}
@media (max-width:1000px){.giostra .voce-cuore{flex-basis:calc((100% - clamp(18px,3vw,32px))/2)}}
@media (max-width:640px){.giostra-pista{align-items:flex-start;overflow-y:hidden;transition:height .35s ease}.giostra .voce-cuore{flex-basis:88%}}
.giostra-comandi{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.giostra-freccia{width:46px;height:46px;display:grid;place-items:center;background:none;border:1px solid currentColor;color:inherit;cursor:pointer;opacity:.8;transition:opacity .2s,background .2s}
.giostra-freccia:hover{opacity:1;background:rgba(241,213,138,.12)}
.giostra-freccia svg{width:18px;height:18px}
.giostra-punti{display:flex;gap:8px}
.giostra-punti button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:currentColor;opacity:.3;cursor:pointer}
.giostra-punti button[aria-current="true"]{opacity:1;background:#E3BF62}

/* h2 con l'aspetto di un h3 (sezioni senza titolo: niente salti h1→h3) */
.prosa h2.come-h3{font-size:clamp(1.45rem,2.2vw,1.9rem);margin:1.5em 0 .5em}

/* apertura della home divisa: il testo non copre Laura (21/10) */
.eroe.diviso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;background:var(--notte);min-height:min(86vh,820px)}
.eroe.diviso>img{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;object-fit:cover;object-position:50% 45%;z-index:0}
.eroe.diviso::after{z-index:1;background:linear-gradient(90deg,var(--notte) 0,var(--notte) 47.5%,rgba(110,20,36,.55) 52%,rgba(110,20,36,0) 62%)}
.eroe.diviso .contenitore{grid-column:1;grid-row:1;align-self:center;position:relative;z-index:2;max-width:none;margin:0;padding-block:72px;padding-left:max(var(--gutter),calc((100vw - 1240px)/2 + var(--gutter)));padding-right:clamp(24px,4vw,56px)}
.eroe.diviso h1{max-width:13ch}
@media (max-width:860px){
  .eroe.diviso{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}
  .eroe.diviso>img{grid-column:1;grid-row:1;height:min(62vh,520px);object-position:50% 40%}
  .eroe.diviso::after{background:linear-gradient(180deg,rgba(110,20,36,0) 0,rgba(110,20,36,0) calc(min(62vh,520px) - 90px),var(--notte) min(62vh,520px))}
  .eroe.diviso .contenitore{grid-column:1;grid-row:2;padding:28px var(--gutter) 52px}
}

/* hero della home più luminosa, come sul sito originale (21/10): velo leggero, leggibilità dall'ombra del testo */
.eroe.luminoso::after{background:linear-gradient(180deg,rgba(74,12,26,0) 0%,rgba(74,12,26,0) 40%,rgba(74,12,26,.42) 100%)}
.eroe.luminoso h1,.eroe.luminoso p.sotto,.eroe.luminoso .sopratitolo{text-shadow:0 1px 3px rgba(74,12,26,.45),0 2px 22px rgba(74,12,26,.4)}

/* acqua del Gange in movimento sulla hero della home (WebGL, solo dentro la maschera del fiume) */
.eroe>canvas.acqua{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.eroe>canvas.acqua.viva{opacity:1}
.eroe.luminoso>img{animation:respiro 24s ease-in-out infinite alternate}
@keyframes respiro{from{transform:scale(1)}to{transform:scale(1.045)}}
.eroe.luminoso>canvas.acqua{animation:respiro 24s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.eroe.luminoso>img,.eroe.luminoso>canvas.acqua{animation:none}}

/* hero della home a tutto schermo (100vh): occupa tutto lo spazio sotto la barra del menu (21/10) */
.eroe.luminoso{min-height:0;height:calc(100vh - 79px);height:calc(100svh - 79px)}
.striscia-demo ~ main .eroe.luminoso{height:calc(100vh - 79px - 35px);height:calc(100svh - 79px - 35px)}
.eroe.luminoso .contenitore{padding-block:48px 64px}

/* testi non selezionabili, per scoraggiare chi copia (richiesta di Lorenzo, 23/10); restano selezionabili moduli e contatti */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable],a[href^="mailto:"],a[href^="tel:"],a[href*="wa.me"],.copiabile{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}

/* invito al PDF del viaggio dentro un articolo del Diario (24/10): stesso riquadro di «In breve», bordo amaranto */
.articolo .pdf-box{background:var(--carta-2);border-left:3px solid var(--sindoor);padding:20px 26px;margin:1.6em 0;border-radius:0 5px 5px 0}
.articolo .pdf-box a{font-weight:600}

/* moduli veri del sito (24/10): campo trappola per i robot, messaggio d'errore */
.modulo .campo-trappola{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.modulo .esito.errore{background:#F7E4E4;color:var(--sindoor)}
.modulo.inviato .campo,.modulo.inviato .campi,.modulo.inviato .due-campi,.modulo.inviato .bottone{display:none}

/* pagina dei messaggi della lettera (24/10): uno solo visibile, scelto da ?nm= */
.messaggi-lettera .messaggio{display:none;text-align:center;max-width:620px;margin:0 auto}
.messaggi-lettera .messaggio.visto{display:block}
.messaggi-lettera .messaggio p{text-align:center}
.messaggi-lettera .bottoni{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:1.4em}

/* fine articolo del Diario: stesso respiro delle sezioni prima della fascia rossa (controllo grafico 25/10) */
.articolo{padding-bottom:clamp(60px,9vw,128px)}

/* zona di tocco più grande per pallini del carosello e briciole, senza cambiare ciò che si vede (26/10) */
.giostra-punti button,.briciole a{position:relative}
.giostra-punti button::after{content:"";position:absolute;inset:-14px -4px}
.briciole a::after{content:"";position:absolute;inset:-12px -4px}
