/* Divina Beauty Institute — stile del sito
   Palette: porcellana, sabbia, pesca (dal logo), terracotta (accento), cacao (testo e sezioni scure) */
:root{
  --porcellana:#F8F3EE;
  --sabbia:#EFE4DB;
  --linea:#E6D8CD;
  --pesca:#E8B59D;
  --accento:#9C4F33;
  --accento-scuro:#7F3D25;
  --cacao:#2A1D18;
  --cacao-2:#3A2A23;
  --cacao-linea:#4A3830;
  --testo-2:#4A3830;
  --testo-3:#6B574D;
  --su-scuro:#E6D8CD;
  --su-scuro-2:#CDB8AA;
  --serif:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --sans:'Jost','Futura','Century Gothic',system-ui,sans-serif;
  --gutter:clamp(16px,4vw,48px);
  --max:1280px;
  --sez:clamp(64px,8vw,120px);
  --arco:999px 999px 20px 20px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--porcellana);color:var(--cacao);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accento)}
:focus-visible{outline:2px solid var(--accento);outline-offset:3px;border-radius:6px}
h1,h2,h3,p,figure,blockquote{margin:0}
em{font-style:italic}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--cacao);color:var(--porcellana);padding:10px 16px;border-radius:999px;z-index:100}
.skip:focus{top:12px;color:var(--porcellana)}

/* Tipografia */
.eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--testo-3)}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6.6vw,96px);line-height:1.02;letter-spacing:-.015em;text-wrap:balance}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1.08;text-wrap:balance}
.h3s{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2}
.lead{font-size:19px;color:var(--testo-2);text-wrap:pretty}
.muted{color:var(--testo-3)}
.acc{color:var(--accento)}
.pesca{color:var(--pesca)}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border-radius:999px;font:inherit;font-weight:500;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn-primary{background:var(--accento);color:#fff}
.btn-primary:hover{background:var(--accento-scuro);color:#fff}
.btn-ghost{border-color:var(--cacao);color:var(--cacao);background:transparent}
.btn-ghost:hover{background:var(--cacao);color:var(--porcellana)}
.btn-pesca{background:var(--pesca);color:var(--cacao)}
.btn-pesca:hover{background:#F1C8B4;color:var(--cacao)}
.btn-ghost-light{border-color:var(--porcellana);color:var(--porcellana)}
.btn-ghost-light:hover{background:var(--porcellana);color:var(--cacao)}
.btn-sm{min-height:44px;padding:10px 22px;font-size:15px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.link-acc{color:var(--accento);font-weight:500}
.icon{width:18px;height:18px;flex:none}

/* Barra info + header */
.topbar{background:var(--cacao);color:#F3E7DE;font-size:13px;letter-spacing:.04em}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-block:10px}
.topbar a:hover{color:var(--pesca)}
.topbar .grp{display:flex;flex-wrap:wrap;gap:6px 24px}
.header{position:sticky;top:0;z-index:50;background:rgba(248,243,238,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--linea)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--cacao)}
.logo:hover{color:var(--cacao)}
.logo .goccia{width:18px;height:26px;fill:var(--pesca)}
.logo .nome{display:flex;flex-direction:column;line-height:1}
.logo .nome b{font-weight:300;font-size:30px;letter-spacing:.04em}
.logo .nome small{font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;margin-top:4px;color:var(--testo-3)}
.nav{display:flex;align-items:center;gap:32px;font-size:15px;letter-spacing:.02em}
.nav a[aria-current="page"]{color:var(--accento)}
.header-cta{display:flex;align-items:center;gap:16px}
.tel{display:flex;align-items:center;gap:8px;font-size:15px}
.menu-btn{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--su-scuro-2);background:transparent;color:var(--cacao);align-items:center;justify-content:center;cursor:pointer}
@media (max-width:980px){.nav,.tel{display:none}.menu-btn{display:inline-flex}}
@media (max-width:520px){.header .btn-sm{display:none}.logo .nome b{font-size:26px}}

/* Menu mobile */
.drawer{position:fixed;inset:0;z-index:80;background:var(--porcellana);display:flex;flex-direction:column;padding:16px var(--gutter) 32px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.drawer.open{opacity:1;transform:none;visibility:visible}
.drawer .top{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.drawer nav{display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--linea)}
.drawer nav a{font-family:var(--serif);font-size:30px;padding:14px 0;border-bottom:1px solid var(--linea)}
.drawer .azioni{margin-top:auto;display:flex;flex-direction:column;gap:12px}

/* Hero */
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,72px);padding-block:clamp(40px,6vw,88px) clamp(56px,7vw,104px)}
.hero-testo{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero-testo .lead{max-width:520px}
.azioni{display:flex;flex-wrap:wrap;gap:14px}
.fiducia{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:14px;border-top:1px solid var(--linea);font-size:14px;color:var(--testo-3)}
.hero-media{flex:1 1 460px;min-width:0;position:relative;display:flex;justify-content:center}
.hero-arco{width:100%;max-width:560px;aspect-ratio:560/680;border-radius:999px 999px 28px 28px;overflow:hidden;background:var(--sabbia)}
.hero-arco video,.hero-arco img{width:100%;height:100%;object-fit:cover}
.promo-flottante{position:absolute;left:0;bottom:32px;background:#fff;color:var(--cacao);border-radius:20px;padding:18px 22px;box-shadow:0 18px 40px rgba(42,29,24,.14);display:flex;flex-direction:column;gap:2px;max-width:250px}
.promo-flottante .eyebrow{font-size:12px;letter-spacing:.2em;color:var(--accento)}
.promo-flottante strong{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2}
.promo-flottante span:last-child{font-size:14px;color:var(--testo-3)}
@media (max-width:640px){
  .hero .wrap{padding-top:24px}
  .hero-media{order:-1}
  .hero-arco{aspect-ratio:4/5;max-width:none}
  .promo-flottante{left:12px;bottom:12px;padding:12px 16px}
  .promo-flottante strong{font-size:20px}
  .hero-testo .azioni .btn{flex:1 1 100%}
}

/* Sezioni */
.sez{padding-block:var(--sez)}
.sez-sabbia{background:var(--sabbia)}
.sez-scura{background:var(--cacao);color:var(--porcellana)}
.intestazione{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.intestazione .tit{display:flex;flex-direction:column;gap:16px;max-width:680px}
.intestazione p{max-width:420px;color:var(--testo-2)}
.sez-scura .intestazione p{color:var(--su-scuro)}
.griglia{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(var(--min,300px),100%),1fr))}

/* Promessa */
.card{background:var(--porcellana);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:12px}
.sez-sabbia .card{background:var(--porcellana)}
.num{font-family:var(--serif);font-size:44px;line-height:1;color:var(--accento)}
.card h3{font-size:21px;font-weight:500;margin:0}
.card p{color:var(--testo-2)}

/* Trattamenti */
.tratt{--min:270px;gap:40px 24px}
.tratt-card{display:flex;flex-direction:column;gap:16px;color:var(--cacao)}
.tratt-card .arco{aspect-ratio:3/4;border-radius:var(--arco);overflow:hidden;background:var(--sabbia)}
.tratt-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tratt-card:hover img{transform:scale(1.04)}
.tratt-card h3{font-family:var(--serif);font-weight:400;font-size:28px}
.tratt-card p{font-size:15px;color:var(--testo-3)}
.tratt-card .link-acc{font-size:15px}
.tratt-cta{background:var(--cacao);color:var(--porcellana);border-radius:var(--arco);padding:48px 32px 36px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;min-height:360px}
.tratt-cta:hover{color:var(--porcellana);background:var(--cacao-2)}
.tratt-cta h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.15}
.tratt-cta p{font-size:15px;color:var(--su-scuro)}
.tratt-cta span{color:var(--pesca);font-weight:500;font-size:15px}

/* Promo */
.promo-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:1px;background:var(--cacao-linea);border:1px solid var(--cacao-linea);border-radius:24px;overflow:hidden}
.promo{background:var(--cacao);padding:32px;display:flex;flex-direction:column;gap:14px}
.promo .tipo{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--su-scuro-2)}
.promo .prezzo{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.promo .prezzo b{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;color:var(--pesca)}
.promo .prezzo span{color:var(--su-scuro-2)}
.promo p{color:var(--su-scuro)}
.promo a{margin-top:auto;align-self:flex-start;color:var(--porcellana);font-weight:500;border-bottom:1px solid var(--pesca);padding:10px 0 4px}
.promo a:hover{color:var(--pesca)}

/* Split (metodo, gift card) */
.split{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,96px)}
.split > *{flex:1 1 440px;min-width:0}
.split-testo{display:flex;flex-direction:column;gap:28px}
.arco-grande{aspect-ratio:5/6;border-radius:999px 999px 28px 28px;overflow:hidden;background:var(--sabbia);max-width:540px}
.arco-grande img{width:100%;height:100%;object-fit:cover}
.passi{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.passi li{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--linea)}
.passi li:last-child{border-bottom:1px solid var(--linea)}
.passi .rom{font-family:var(--serif);font-size:22px;color:var(--accento);min-width:32px}
.passi h3{font-size:20px;font-weight:500}
.passi p{color:var(--testo-2)}

/* Tecnologie */
.tecno{--min:250px}
.tecno .card .eyebrow{font-size:12px;letter-spacing:.2em}
.tecno .card h3{font-family:var(--serif);font-weight:400;font-size:28px}
.nota{margin-top:24px;font-size:14px;color:var(--testo-3)}

/* Recensioni */
.recensioni{--min:320px;gap:40px}
.recensioni figure{display:flex;flex-direction:column;gap:20px;padding-top:24px;border-top:1px solid var(--cacao)}
.recensioni blockquote{font-family:var(--serif);font-size:24px;line-height:1.35}
.recensioni figcaption{font-size:14px;color:var(--testo-3)}

/* Gift card */
.pillole{display:flex;flex-wrap:wrap;gap:10px;border:0;margin:0;padding:0}
.pillola{position:relative}
.pillola input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pillola span{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:999px;border:1px solid var(--su-scuro-2);background:var(--porcellana);cursor:pointer;transition:background .2s,color .2s}
.pillola input:checked + span{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.pillola input:focus-visible + span{outline:2px solid var(--accento);outline-offset:3px}
.foto-giftcard{aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--porcellana)}
.foto-giftcard img{width:100%;height:100%;object-fit:cover}

/* Centro */
.banda{aspect-ratio:16/7;border-radius:28px;overflow:hidden;background:var(--sabbia);margin-bottom:48px}
.banda img{width:100%;height:100%;object-fit:cover}
.info{--min:200px;gap:32px}
.info h3{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--testo-3);font-weight:500;margin-bottom:8px}
@media (max-width:640px){.banda{aspect-ratio:4/3}}

/* CTA finale */
.cta-finale{background:var(--cacao);color:var(--porcellana);border-radius:32px;padding:clamp(48px,7vw,96px) clamp(24px,5vw,80px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.cta-finale h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,60px);line-height:1.06;max-width:620px;text-wrap:balance}

/* Footer */
.footer{border-top:1px solid var(--linea)}
.footer .wrap{padding-block:56px 32px;display:flex;flex-direction:column;gap:40px}
.footer .righe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}
.footer .col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer .col .eyebrow{font-size:12px;letter-spacing:.2em}
.footer .cols{display:flex;flex-wrap:wrap;gap:48px}
.footer .legale{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--linea);font-size:13px;color:var(--testo-3)}

/* Barra azioni mobile */
.barra-mobile{display:none}
@media (max-width:760px){
  .barra-mobile{display:flex;position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:60;background:var(--cacao);border-radius:999px;padding:6px;gap:6px;box-shadow:0 12px 30px rgba(42,29,24,.25)}
  .barra-mobile a{flex:1 1 0;color:var(--porcellana);min-height:50px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px}
  .barra-mobile a.prenota{flex:1.3 1 0;background:var(--pesca);color:var(--cacao);border-radius:999px;font-weight:500;font-size:15px}
  body{padding-bottom:84px}
}

/* Pagina trattamento */
.briciole{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--testo-3);padding-top:28px}
.briciole a{color:var(--testo-3)}
.chip{display:inline-flex;border-radius:999px;padding:8px 16px;font-size:14px}
.chip-scuro{background:var(--cacao);color:var(--porcellana)}
.chip-chiaro{background:var(--sabbia);color:var(--cacao)}
.benefici{--min:260px}
.benefici .card{padding:28px}
.benefici .card h3{font-size:20px}
.calc{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px)}
.calc > div:first-child{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:24px}
.calc > div:last-child{flex:1 1 380px;min-width:0}
.zone{display:flex;flex-wrap:wrap;gap:10px}
.zona{font:inherit;font-size:16px;background:var(--porcellana);color:var(--cacao);border:1px solid var(--su-scuro-2);border-radius:999px;padding:11px 20px;min-height:46px;cursor:pointer;transition:background .2s,color .2s}
.zona[aria-pressed="true"]{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.riepilogo{background:var(--cacao);color:var(--porcellana);border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:20px;position:sticky;top:110px}
.riepilogo .totale{font-family:var(--serif);font-size:64px;line-height:1;color:var(--pesca)}
.riepilogo .consiglio{background:var(--cacao-2);border-radius:16px;padding:14px 16px;font-size:15px}
.riepilogo small{font-size:13px;color:var(--su-scuro-2)}
.percorso{list-style:none;margin:0;padding:0;--min:250px}
.percorso li{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--cacao);padding-top:20px}
.percorso .num{font-size:40px}
.percorso h3{font-size:20px;font-weight:500}
.percorso p{color:var(--testo-2)}
.faq{max-width:960px;margin:0 auto}
.faq details{border-top:1px solid var(--linea)}
.faq details:last-child{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:19px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:26px;line-height:1;color:var(--accento);font-weight:400}
.faq details[open] summary::after{content:'−'}
.faq details p{padding:0 48px 24px 0;color:var(--testo-2)}
.box-form{background:var(--cacao);color:var(--porcellana);border-radius:32px;padding:clamp(28px,6vw,80px);display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px)}
.box-form > div{flex:1 1 400px;min-width:0}
.box-form .testo{display:flex;flex-direction:column;gap:20px}
.box-form .testo p{color:var(--su-scuro)}

/* Form */
.form{display:flex;flex-direction:column;gap:18px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label,.form legend{font-size:14px;color:var(--testo-2)}
.su-scuro .campo label,.su-scuro legend,.su-scuro .consenso{color:var(--su-scuro)}
.input{font:inherit;background:#fff;color:var(--cacao);border:1px solid var(--su-scuro-2);border-radius:14px;padding:14px 16px;min-height:52px;width:100%}
.su-scuro .input{background:var(--porcellana);border-color:transparent}
.input:focus{outline:2px solid var(--accento);outline-offset:1px}
textarea.input{resize:vertical;min-height:96px}
fieldset{border:0;margin:0;padding:0}
.radio-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.radio-row label{display:flex;align-items:center;gap:8px;background:var(--cacao-2);border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer;color:var(--porcellana)}
.consenso{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--testo-2)}
.consenso input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--accento)}
.consenso a{text-decoration:underline}
.esito{background:var(--cacao-2);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:12px}
.esito h3{font-family:var(--serif);font-weight:400;font-size:30px}
.esito p{color:var(--su-scuro)}
[hidden]{display:none!important}

/* Prenotazione */
.prenota-main{max-width:1200px;margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) 80px;display:flex;flex-direction:column;gap:36px}
.passi-pren{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0;font-size:15px}
.passi-pren li{display:flex;align-items:center;gap:10px;color:#8A7468}
.passi-pren li .pallino{width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:14px;border:1px solid currentColor}
.passi-pren li.attivo,.passi-pren li.fatto{color:var(--cacao)}
.passi-pren li.attivo .pallino{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.passi-pren li.fatto .pallino{background:var(--pesca);border-color:var(--cacao)}
.prenota-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px}
.prenota-col{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:28px}
.prenota-aside{flex:1 1 320px;min-width:0;background:var(--sabbia);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
.prenota-aside dl{margin:0;display:flex;flex-direction:column;gap:14px}
.prenota-aside dt{font-size:13px;color:var(--testo-3)}
.prenota-aside dd{margin:0;font-size:18px;font-weight:500}
.prenota-aside .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--su-scuro-2);padding-top:16px}
.prenota-aside .tot b{font-family:var(--serif);font-weight:400;font-size:30px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{font:inherit;font-size:15px;background:var(--porcellana);color:var(--cacao);border:1px solid var(--su-scuro-2);border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer}
.tab[aria-selected="true"]{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.lista-tratt{display:flex;flex-direction:column;gap:10px}
.voce{font:inherit;text-align:left;background:var(--porcellana);color:var(--cacao);border:1px solid var(--linea);border-radius:18px;padding:18px 22px;min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;transition:border-color .2s,background .2s}
.voce:hover{border-color:var(--su-scuro-2)}
.voce[aria-pressed="true"]{background:#fff;border-color:var(--cacao)}
.voce .n{display:flex;flex-direction:column;gap:2px}
.voce .n b{font-size:18px;font-weight:500}
.voce .n span{font-size:14px;color:var(--testo-3)}
.voce .p{font-family:var(--serif);font-size:22px;white-space:nowrap}
.giorni{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr));gap:10px}
.giorno{font:inherit;background:#fff;color:var(--cacao);border:1px solid var(--linea);border-radius:18px;padding:14px 8px;min-height:76px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}
.giorno .d{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.giorno .g{font-family:var(--serif);font-size:26px;line-height:1.1}
.giorno .m{font-size:13px}
.giorno[aria-pressed="true"]{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.orari{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(92px,100%),1fr));gap:8px}
.orario{font:inherit;font-size:16px;background:#fff;color:var(--cacao);border:1px solid var(--linea);border-radius:12px;padding:10px 0;min-height:46px;cursor:pointer}
.orario[aria-pressed="true"]{background:var(--cacao);color:var(--porcellana);border-color:var(--cacao)}
.orario:disabled{background:var(--sabbia);color:#8A7468;text-decoration:line-through;cursor:not-allowed}
.conferma{background:var(--cacao);color:var(--porcellana);border-radius:28px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:18px}
.conferma h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.1}
.conferma p{color:var(--su-scuro);max-width:560px}
.btn-testo{font:inherit;background:transparent;border:0;color:var(--pesca);font-weight:500;padding:14px 8px;min-height:50px;cursor:pointer}

/* Pagine di testo */
.testo-legale{max-width:780px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--gutter)}
.testo-legale h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.6vw,60px);line-height:1.05;margin-bottom:24px}
.testo-legale h2{font-size:22px;font-weight:500;margin:36px 0 10px}
.testo-legale p,.testo-legale li{color:var(--testo-2)}
.testo-legale ul{padding-left:20px}

/* Animazione di ingresso */
.js .rivela{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.js .rivela.visibile{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rivela{opacity:1;transform:none}}

/* Ancore e messaggi non coperti dall'header fisso */
[id],[data-passo],.esito{scroll-margin-top:96px}

/* Pagine servizio */
.lista-servizi{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr))}
.servizio{background:var(--porcellana);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:14px}
.servizio .testa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.servizio h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.15}
.servizio p{color:var(--testo-2)}
.servizio .ideale{font-size:15px;color:var(--testo-3)}
.servizio .ideale strong{font-weight:500;color:var(--cacao);margin-right:6px}
.servizio .piede{margin-top:auto;padding-top:16px;border-top:1px solid var(--linea);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.servizio .prezzo{font-family:var(--serif);font-size:30px;line-height:1}
.servizio .prezzo small{font-family:var(--sans);font-size:14px;color:var(--testo-3)}
.servizio .prezzo s{font-family:var(--sans);font-size:15px;color:var(--testo-3);margin-left:6px}
.badge{display:inline-flex;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:var(--cacao);color:var(--pesca);border-radius:999px;padding:6px 12px}
.foto-169{aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--sabbia)}
.foto-169 img{width:100%;height:100%;object-fit:cover}
.altri{display:grid;gap:24px 16px;grid-template-columns:repeat(auto-fill,minmax(min(150px,45%),1fr))}
.altro{display:flex;flex-direction:column;gap:12px}
.altro .arco{aspect-ratio:3/4;border-radius:999px 999px 16px 16px;overflow:hidden;background:var(--sabbia)}
.altro img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.altro:hover img{transform:scale(1.04)}
.altro span{font-family:var(--serif);font-size:22px}
