@font-face{font-family:"Oswald";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/Oswald-Regular.woff2") format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/Oswald-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/RobotoSlab-Bold.woff2") format("woff2")}
:root{
  --verde:#9dbcb2; --verde-scuro:#6f9a8c; --nero:#000; --testo:#1a1a1a;
  --grigio:#f1f3ef; --crema:#f6f4ee; --navy:#252b3a; --bianco:#fff;
  --titoli:"Roboto Slab",Georgia,serif; --corpo:"Oswald","Arial Narrow",sans-serif;
  --margine:clamp(1.25rem,5vw,4rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--corpo);color:var(--testo);background:var(--bianco);line-height:1.5;font-size:1rem}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--titoli);margin:0;line-height:1.15}
h1{font-size:clamp(2rem,5vw,3.25rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.25rem)}
h3{font-size:1.05rem}
p{margin:0 0 .9rem}
:focus-visible{outline:3px solid var(--verde-scuro);outline-offset:3px}
.contenitore{width:100%;max-width:none;margin:0;padding-inline:var(--margine)}
.sezione{padding-block:clamp(3rem,8vw,6rem)}
.grigia{background:var(--grigio)}
.etichetta{color:var(--verde-scuro);font-family:var(--titoli);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem}
.centrato{text-align:center}
.centrato .sottotitolo{max-width:60ch;margin:.6rem auto 0}
.bottone{display:inline-block;background:var(--nero);color:var(--bianco);text-decoration:none;font-weight:600;font-size:.9rem;padding:.75rem 1.6rem;border-radius:999px;border:0;transition:background .2s}
.bottone:hover{background:var(--verde-scuro)}

/* Intestazione */
.intestazione{border-bottom:1px solid var(--nero);background:var(--bianco);position:sticky;top:0;z-index:10}
.intestazione .contenitore{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:0}
.logo{display:flex;align-items:center;gap:1.1rem;text-decoration:none;font-family:var(--titoli);font-size:1.3rem;letter-spacing:.14em;color:#4a6a72;text-transform:uppercase}
.logo img{width:270px;height:270px;object-fit:contain;margin-block:-4.9rem}
.menu ul{display:flex;gap:2.75rem;list-style:none;margin:0;padding:0}
.menu a{text-decoration:none;font-weight:600;font-size:1.35rem}
.menu a:hover,.menu a[aria-current="page"]{color:var(--verde-scuro)}
#apri-menu,.icona-menu{display:none}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(2rem,5vw,4.5rem)}
.hero .contenitore{display:grid;grid-template-columns:minmax(0,auto) 1fr;align-items:end;column-gap:1.5rem;row-gap:2rem}
.hero-testo{position:relative;z-index:1;max-width:clamp(18rem,44vw,36rem);padding-bottom:clamp(2rem,6vw,5rem);align-self:center}
.hero-descrizione{margin:1.25rem 0 0;max-width:30rem;font-size:1.05rem;line-height:1.6;font-weight:400;color:#555}
.hero-whatsapp,.hero-email{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.5rem;font-size:1.15rem;font-weight:600;letter-spacing:.02em;color:var(--nero);text-decoration:none;transition:color .2s}
.hero-whatsapp svg,.hero-email svg{flex:none;width:1.6rem;height:1.6rem;color:var(--verde-scuro)}
.hero-whatsapp:hover,.hero-email:hover{color:var(--verde-scuro)}
.hero-whatsapp:hover span,.hero-email:hover span{text-decoration:underline;text-underline-offset:.25em}
.hero-email span{overflow-wrap:anywhere}
.hero-contatti{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem;margin-top:1.5rem}
.hero-contatti .hero-whatsapp,.hero-contatti .hero-email{margin-top:0;font-size:1.05rem}
.info .hero-whatsapp,.info .hero-email{margin-top:0;font-size:1rem}
.hero-visual{position:relative;isolation:isolate;justify-self:center;align-self:end;line-height:0}
.hero-visual img{position:relative;z-index:1;display:block;height:clamp(17rem,32vw,29rem);width:auto;max-width:none;object-fit:contain}
.hero-forme{position:absolute;z-index:0;left:50%;top:50%;height:122%;width:auto;aspect-ratio:1;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}
.hero-forme path{transform-box:fill-box;transform-origin:center}
.hero-forme .forma-1{fill:#e7eeec}
.hero-forme .forma-2{fill:#d3e1dc;opacity:.75}
.hero-forme .contorno{fill:none;stroke:#9dbcb2;stroke-width:1.5;opacity:.8;vector-effect:non-scaling-stroke}
@keyframes forme-entrata{from{opacity:0;transform:translate(-50%,-47%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes deriva-a{to{transform:translate(6px,-5px) rotate(1.5deg)}}
@keyframes deriva-b{to{transform:translate(-6px,6px) rotate(-1.5deg)}}
@media (prefers-reduced-motion:no-preference){
  .hero-forme{animation:forme-entrata 1.4s ease-out both}
  .hero-forme .forma-1{animation:deriva-a 26s ease-in-out infinite alternate}
  .hero-forme .forma-2{animation:deriva-b 32s ease-in-out infinite alternate}
}

/* Presentazione */
.chi-sono .contenitore{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}
.chi-sono img{width:100%;max-width:26rem;justify-self:center;aspect-ratio:3/4;object-fit:cover;border-radius:1.25rem}
.chi-sono .sotto{color:var(--verde-scuro);font-family:var(--titoli);font-weight:700;margin:.3rem 0 1rem}
.chi-sono .bottone{margin-top:.8rem}

/* Schede */
.griglia{display:grid;gap:1.25rem;margin-top:2.5rem}
.g5{grid-template-columns:repeat(5,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.scheda{background:var(--crema);border:1px solid #e3e0d6;border-radius:.75rem;padding:1.25rem}
.scheda::before,.scheda-verde::before{content:"";display:block;width:1.5rem;height:2px;background:var(--verde);margin-bottom:.75rem}
.scheda h3{margin-bottom:.4rem}
.scheda p{font-size:.85rem;margin:0}
.scheda-verde{background:var(--bianco);border:1px solid var(--verde);border-radius:.75rem;padding:1.25rem}
.scheda-verde h3{margin-bottom:.4rem}
.scheda-verde p{font-size:.85rem;margin:0}
.centro-bottone{text-align:center;margin-top:2.5rem}

/* Altre informazioni */
.info .contenitore{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.info h2{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1rem}
.info .bottone{margin:.4rem 0 1.5rem}
.contatti-riga{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem;border-top:1px solid #bbb;padding-top:1rem}
.info-foto{margin:0;width:100%;max-width:26rem;justify-self:center}
.info-mappa{position:relative}
.credito-mappa{position:absolute;right:.6rem;bottom:.6rem;padding:.15rem .5rem;border-radius:.35rem;background:rgba(255,255,255,.88);color:#333;font-size:.72rem;line-height:1.4;text-decoration:none}
.credito-mappa:hover{text-decoration:underline;color:var(--nero)}
.info-foto img{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:20rem;object-fit:cover;border-radius:1.25rem;background:#e3e8e4}
.info-foto figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-top:1rem}
.info-foto address{font-style:normal;font-size:1rem;line-height:1.5}
.link-mappa{font-weight:600;color:var(--verde-scuro);text-decoration:none}
.link-mappa:hover{color:var(--nero);text-decoration:underline;text-underline-offset:.25em}

/* Piè di pagina */
.piede{background:var(--navy);color:var(--bianco);padding-top:clamp(1.25rem,3vw,1.75rem);padding-bottom:.75rem}
.piede .contenitore{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem clamp(3rem,10vw,10rem)}
.piede h3{font-size:1.3rem;margin-bottom:.9rem}
.piede p,.piede li,.piede address{font-size:1.05rem;font-style:normal}
.piede p{margin:0 0 1rem}
.piede address p:last-child{margin-bottom:0}
.piede ul{list-style:none;margin:0;padding:0}
.piede a{text-decoration:none}
.piede a:hover{color:var(--verde)}
.piede .piede-nota{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;margin:-.9rem 0 0;padding-top:.5rem;line-height:1.3;border-top:1px solid rgba(255,255,255,.18);font-size:.75rem}
.piede .piede-nota p{margin:0;font-size:inherit}
.piede .link-privacy{margin:.6rem 0 0;font-size:.85rem}
.link-privacy a{text-decoration:underline;text-underline-offset:.2em}
.contatti-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-bottom:1rem}
.contatti-footer a{display:inline-flex;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:600}
.contatti-footer svg{flex:none;width:1.4rem;height:1.4rem;color:var(--verde)}
.linkedin{display:inline-block;margin-top:.5rem;background:var(--verde);color:var(--nero);padding:.65rem 1.6rem;border-radius:999px;font-weight:600;font-size:1rem}
.linkedin:hover{color:var(--nero);background:var(--bianco)}

/* Tablet */
@media (max-width:1000px){
  .g5{grid-template-columns:repeat(3,1fr)}
}
/* Smartphone */
@media (max-width:760px){
  .icona-menu{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem}
  .icona-menu span{width:1.6rem;height:2px;background:var(--nero)}
  .menu{position:absolute;inset:100% 0 auto 0;background:var(--bianco);border-bottom:1px solid var(--nero);display:none}
  .menu ul{flex-direction:column;align-items:center;gap:0;padding:.5rem var(--margine)}
  .menu a{display:block;padding:.8rem 0;font-size:1rem;text-align:center}
  #apri-menu:checked ~ .menu{display:block}
  .hero .contenitore,.chi-sono .contenitore,.info .contenitore{grid-template-columns:1fr}
  .hero-testo{max-width:none;padding-bottom:0}
  .hero-visual img{height:clamp(15rem,70vw,19rem)}
  .hero-forme{height:114%}
  .chi-sono img{margin:0 auto}
  .g5,.g3{grid-template-columns:1fr}
}
@media (min-width:761px) and (max-width:1000px){
  .g3{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Pagina Chi sono */
.profilo .contenitore{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}
.profilo img{width:100%;max-width:26rem;justify-self:center;aspect-ratio:3/4;object-fit:cover;border-radius:1.25rem}
.profilo h1{margin:.3rem 0 .5rem}
.profilo h2.obiettivo{font-size:1.3rem;margin:1.75rem 0 .6rem}
.profilo .ruolo{font-weight:400;font-size:1.15rem;color:#6b6b6b;padding-bottom:.6rem;border-bottom:1px solid #bbb;margin-bottom:1rem}
.approccio p.lead{max-width:70ch;margin:1rem auto 1.5rem;font-weight:600}
.fasi{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;text-align:center}
.fase{position:relative;background:var(--bianco);border:1px solid #d6d6d6;border-radius:.75rem;padding:1.5rem 1.25rem;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.fase:not(:last-child)::after{content:"\2192";position:absolute;right:-1.85rem;top:50%;transform:translateY(-50%);color:var(--verde-scuro);font-size:1.3rem}
.fase .numero{font-family:var(--titoli);font-weight:700;font-size:2.2rem;color:var(--verde-scuro);line-height:1}
.fase h3{color:#2b4a6f;margin:.4rem 0 .6rem;font-size:.95rem}
.fase img{width:2.75rem;height:2.75rem;margin:0 auto .75rem;object-fit:contain}
.fase p{font-size:.8rem;margin:0}
.chiusura{text-align:center;margin-top:2rem;font-weight:600;color:#2b4a6f;font-size:.85rem}

/* Pagina Trattamenti */
.intro-griglia{display:grid;grid-template-columns:1fr;align-items:center}
.intro-trattamenti{position:relative;z-index:1;max-width:40rem;text-align:left}
.intro-foto{position:absolute;inset:0;z-index:0;margin:0}
.intro-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.74) 42%,rgba(255,255,255,.2) 62%,rgba(255,255,255,0) 100%)}
.intro-foto img{display:block;width:100%;height:100%;object-fit:cover;background:#e3e8e4}
.parole-chiave{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:2rem 0 0;padding:0;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4a6a72}
.parole-chiave li+li::before{content:"\00B7";margin-right:1.25rem;color:var(--verde-scuro)}
.intro-sezione{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,6rem)}
.intro-trattamenti h1{font-size:clamp(1.6rem,3.5vw,2.25rem);margin:.4rem 0 1.25rem;text-wrap:balance}
.intro-trattamenti .lead{font-weight:400;font-size:clamp(1.1rem,2vw,1.25rem);line-height:1.65;color:#222;text-wrap:pretty}
.intro-trattamenti .dettaglio{font-size:1rem;line-height:1.7;color:#555;margin-top:1.25rem;text-wrap:pretty}
.intro-trattamenti .evidenza{margin:1.75rem 0 0;font-family:var(--titoli);font-weight:700;font-size:clamp(1.2rem,2.2vw,1.4rem);line-height:1.45;color:var(--verde-scuro);text-wrap:balance}
.intro-trattamenti .evidenza::before{content:"";display:block;width:2.5rem;height:2px;background:var(--verde);margin:0 0 1rem}
.elenco-trattamenti{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.trattamento{background:var(--bianco);border-radius:.75rem;padding:.6rem .6rem 1.1rem;box-shadow:0 2px 6px rgba(0,0,0,.08);text-align:left}
.trattamento img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:.6rem}
.trattamento .testo{padding:.8rem .5rem 0}
.trattamento .testo::before{content:"";display:block;width:1.5rem;height:2px;background:var(--verde);margin-bottom:.6rem}
.trattamento h3{margin-bottom:.3rem;color:#b8651b}
.trattamento p{font-size:.85rem;margin:0}
.trattamento{position:relative;transition:transform .25s ease,box-shadow .25s ease}
.trattamento .dettagli{margin-top:.8rem;padding:0;border:0;background:none;font:inherit;font-size:.85rem;font-weight:600;color:var(--verde-scuro);cursor:pointer}
.trattamento .dettagli::after{content:"";position:absolute;inset:0;border-radius:.75rem}
.trattamento .dettagli:focus-visible{outline:none}
.trattamento:has(.dettagli:focus-visible){outline:3px solid var(--verde-scuro);outline-offset:3px}
@media (hover:hover){.trattamento:hover{box-shadow:0 8px 20px rgba(37,43,58,.14)}.trattamento:hover .dettagli{color:var(--nero)}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.trattamento:hover{transform:translateY(-4px)}}

@media (max-width:1000px){
  .fasi{grid-template-columns:repeat(2,1fr)}
  .fase:nth-child(2)::after{display:none}
  .elenco-trattamenti{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .profilo .contenitore{grid-template-columns:1fr}
  .profilo img{margin:0 auto}
  .fasi,.elenco-trattamenti{grid-template-columns:1fr}
  .fase::after{display:none!important}
}

/* Pagina FAQ */
.titolo-faq{text-align:center;margin-bottom:2rem}
.titolo-faq h1{font-size:clamp(1.6rem,3.5vw,2.25rem);margin:.4rem 0 0;text-wrap:balance}
.elenco-faq{max-width:1000px;margin-inline:auto;display:grid;gap:1.25rem}
.faq{background:var(--grigio);border:1px solid var(--nero);border-radius:.75rem;box-shadow:2px 3px 5px rgba(0,0,0,.25)}

/* FAQ: si aprono e si chiudono con il clic (o il tocco) */
.domanda{display:flex;align-items:center;gap:.75rem;padding:1.25rem;font-weight:600;font-size:.95rem;line-height:1.4;cursor:pointer;list-style:none}
.domanda::-webkit-details-marker{display:none}
.domanda::before{content:"\25B6";font-size:.7rem;transition:transform .2s}
.faq[open] .domanda::before{transform:rotate(90deg)}
.risposta{padding:0 1.25rem 1.25rem 2.45rem;font-size:.92rem}
.risposta p{margin:0 0 .5rem}
.risposta ul{margin:.2rem 0 .8rem;padding-left:1.25rem}

/* Intestazione più compatta su smartphone */
@media (max-width:760px){
  .intestazione .contenitore{min-height:8rem}
  .logo{font-size:.8rem;gap:.6rem}
  .logo img{width:120px;height:120px}
}

/* Intestazione su tablet: misure intermedie per evitare che il menu vada a capo */
@media (min-width:761px) and (max-width:1000px){
  .intestazione .contenitore{min-height:0}
  .logo{font-size:1rem}
  .logo img{width:185px;height:185px;margin-block:-3rem}
  .menu ul{gap:1.5rem}
  .menu a{font-size:1.1rem}
}

/* Chi sono: schede delle fasi interattive */
.fase{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
.fase .numero,.fase h3,.fase img{transition:transform .25s ease,color .25s ease}
@media (hover:hover){
  .fase:hover{border-color:var(--verde-scuro);background:#fbfdfc;box-shadow:0 10px 24px rgba(37,43,58,.18)}
  .fase:hover h3{color:var(--verde-scuro)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .fase:hover{transform:translateY(-8px)}
  .fase:hover .numero{transform:scale(1.15)}
  .fase:hover img{transform:scale(1.15)}
}

/* Galleria orizzontale (Home) */
.galleria-sezione{overflow-x:clip}
.galleria{--w:38vw;--r:1.6;position:relative;margin-top:2.5rem;container-type:inline-size}
@supports (width:1cqw){.galleria{--w:min(38cqw,34rem)}}
.galleria-pista{position:relative;display:flex;gap:clamp(.75rem,2vw,1.5rem);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-inline:calc(50% - var(--w) / 2);scrollbar-width:none;cursor:grab}
.galleria-pista::-webkit-scrollbar{display:none}
.galleria-pista.trascinando{scroll-snap-type:none;cursor:grabbing}
.galleria-pista:focus-visible{outline-offset:-4px}
.galleria-slide{flex:0 0 var(--w);margin:0;scroll-snap-align:center;scroll-snap-stop:always;opacity:.55;transition:opacity .35s ease}
.galleria-slide.attiva{opacity:1}
.galleria-slide img{width:100%;height:auto;aspect-ratio:var(--r);object-fit:cover;border-radius:1.25rem;background:#e3e8e4;user-select:none;-webkit-user-drag:none;pointer-events:none}
.galleria-slide figcaption{margin-top:.8rem;text-align:center;font-size:.85rem;letter-spacing:.02em;color:#555}
.galleria-freccia{position:absolute;top:calc(var(--w) / var(--r) / 2 - 1.4rem);z-index:2;display:grid;place-items:center;width:2.8rem;height:2.8rem;padding:0;border-radius:50%;border:1px solid #cfd5d0;background:rgba(255,255,255,.92);color:var(--nero);cursor:pointer;transition:background-color .2s,color .2s,opacity .2s}
.galleria-freccia-sinistra{left:clamp(.5rem,2vw,1.5rem)}
.galleria-freccia-destra{right:clamp(.5rem,2vw,1.5rem)}
.galleria-freccia:hover{background:var(--nero);color:var(--bianco)}
.galleria-freccia[aria-disabled="true"]{opacity:.3;cursor:default;pointer-events:none}
.galleria-puntini{display:flex;justify-content:center;gap:.6rem;margin-top:1.25rem}
.puntino{position:relative;width:.6rem;height:.6rem;padding:0;border-radius:999px;border:1px solid var(--nero);background:transparent;cursor:pointer;transition:width .3s ease,background-color .3s ease}
.puntino::before{content:"";position:absolute;inset:-.7rem -.3rem}
.puntino[aria-current="true"]{width:1.7rem;background:var(--nero)}
@media (max-width:1000px){
  .galleria{--w:56vw}
  @supports (width:1cqw){.galleria{--w:56cqw}}
}
@media (max-width:760px){
  .galleria{--w:70vw;--r:1.33}
  @supports (width:1cqw){.galleria{--w:70cqw}}
  .galleria-freccia{display:none}
  .galleria-slide img{border-radius:1rem}
}

/* Hero su tablet: testo più compatto per lasciare spazio alla foto */
@media (min-width:761px) and (max-width:1000px){
  .hero h1{font-size:clamp(1.9rem,4.6vw,2.4rem)}
  .hero-descrizione{font-size:.95rem}
}

/* Pagina Trattamenti: introduzione a due colonne e comparsa graduale */
@media (max-width:760px){
  .intro-griglia{grid-template-columns:1fr}
  .intro-foto::after{background:rgba(255,255,255,.78)}
}

/* Finestre di dettaglio dei trattamenti */
dialog.dettaglio{width:min(38rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:1.25rem;overflow:auto;background:var(--bianco);color:var(--testo)}
dialog.dettaglio::backdrop{background:rgba(37,43,58,.55)}
dialog.dettaglio[open]{animation:apri-dettaglio .25s ease}
@keyframes apri-dettaglio{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){dialog.dettaglio[open]{animation:none}}
.dettaglio>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.dettaglio-testo{padding:1.5rem 1.75rem 2rem}
.dettaglio-testo h3{font-size:1.5rem;margin-bottom:1rem}
.dettaglio-testo .etichetta{margin:1.25rem 0 .3rem}
.dettaglio-testo p{margin:0;font-size:1rem;line-height:1.65;color:#444}
.dettaglio-chiudi{position:absolute;top:.75rem;right:.75rem;z-index:1;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;border:1px solid #cfd5d0;background:rgba(255,255,255,.95);color:var(--nero);cursor:pointer}
.dettaglio-chiudi:hover{background:var(--nero);color:var(--bianco)}
body:has(dialog[open]){overflow:hidden}

/* Pagina Informativa sulla privacy */
.documento{max-width:none}
.documento h1{margin-bottom:.5rem}
.documento .aggiornamento{color:#666;font-size:.9rem;margin-bottom:2rem}
.documento h2{font-size:1.35rem;margin:2.25rem 0 .75rem}
.documento p,.documento li{font-size:1rem;line-height:1.7;color:#333}
.documento ul{margin:.25rem 0 1rem;padding-left:1.25rem}
.documento li{margin-bottom:.35rem}
.documento a{color:var(--verde-scuro);text-underline-offset:.2em}
.documento a:hover{color:var(--nero)}

/* Sezione finale della pagina Trattamenti: meno spazio sotto il bottone */
.fine-pagina{padding-bottom:clamp(1.5rem,3vw,2.5rem)}

/* Menu su smartphone: casella nascosta alla vista ma raggiungibile da tastiera e dai lettori di schermo */
@media (max-width:760px){
  #apri-menu{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
  #apri-menu:focus-visible + .icona-menu{outline:3px solid var(--verde-scuro);outline-offset:3px;border-radius:.3rem}
}

/* Pagina 404 */
.errore{display:flex;align-items:center;min-height:50vh}
.errore .contenitore{display:flex;flex-direction:column;align-items:center}
.numero-errore{margin:0;font-family:var(--titoli);font-weight:700;font-size:clamp(5rem,16vw,9rem);line-height:1;color:#d3e1dc}
.errore h1{margin:.5rem 0 1rem}
.errore p{max-width:34rem}
.errore .bottone{margin-top:.5rem}
.altri-link{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;margin-top:1.75rem}
.altri-link a{color:var(--verde-scuro);font-weight:600;text-decoration:none}
.altri-link a:hover{color:var(--nero);text-decoration:underline;text-underline-offset:.25em}

/* Collegamento "Vai al contenuto": visibile solo quando riceve il focus da tastiera */
.vai-al-contenuto{position:fixed;left:.75rem;top:-5rem;z-index:100;padding:.65rem 1.25rem;border-radius:999px;background:var(--nero);color:var(--bianco);font-size:.95rem;font-weight:600;text-decoration:none;transition:top .15s ease}
.vai-al-contenuto:focus{top:.75rem}
main:focus{outline:none}
