/* palmieri. · sito pubblico · riprodotto dai sorgenti docs/design/sorgenti/Sito-*, Landing-foto, Legale-*.
   Token pal. (tokens.css) dove il valore coincide; font ospitato (fonts.css); nessuna risorsa esterna.
   Misure in px come nei sorgenti, con clamp() sui corpi grandi per il layout fluido (390 e 1440).
   Colore solo sui segni dei dati. Nessun framework. */
*,*::before,*::after{box-sizing:border-box}
:root{
  --pad:24px;                 /* margine laterale: 56 nei sorgenti da 900 px in su */
  --l-line:#3A3D3C;           /* filetti della Landing (valore del sorgente, non coincide con --line) */
  --body-2:#D8D7D1;           /* testo corrente delle pagine legali (sorgente) */
}
@media(min-width:900px){:root{--pad:56px}}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.5}
a{color:inherit}
a:hover{opacity:.75}
img{max-width:100%;display:block}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
h1,h2,h3{font-weight:var(--fw-regular)}
ul,ol{padding:0;list-style:none}
.skip{position:absolute;left:var(--s-4);top:-80px;background:var(--text);color:var(--bg);padding:var(--s-3) var(--s-4);border-radius:var(--r-pill);z-index:20}
.skip:focus{top:var(--s-3)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,[role="switch"]:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}

/* Etichette (maiuscolo, corpo e spaziatura come nei sorgenti) */
.t11,.t12,.t13,.t13l{margin:0;text-transform:uppercase;color:var(--text-2)}
.t11{font-size:11px;letter-spacing:.05em}
.t12{font-size:12px;letter-spacing:.04em}
.t13{font-size:13px;letter-spacing:.05em}
.t13l{font-size:13px;letter-spacing:.02em}
.tab{font-variant-numeric:tabular-nums}
.dot{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.dot::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.dot--ok{color:var(--data-ok)}.dot--warn{color:var(--data-warn)}.dot--info{color:var(--data-info)}

/* Pulsanti del sito: pillola, 13px maiuscolo, area minima 44 px */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:18px 28px;font:inherit;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;text-align:center;border-radius:var(--r-pill);border:1px solid var(--text);background:var(--text);color:var(--bg);cursor:pointer}
.bt--o{background:transparent;color:var(--text)}
.bt:hover{opacity:.88}
.bt[disabled],.bt[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.bt small{font-size:11px;letter-spacing:.05em}

/* Intestazione: logo prima nel DOM; da 900 px la navigazione sta a sinistra e il logo a destra come nei sorgenti */
.hd{max-width:1440px;margin:0 auto;padding:20px var(--pad);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 20px}
.logo{font-size:30px;font-weight:var(--fw-regular);letter-spacing:var(--ls-tight);line-height:1;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.nav{display:flex;flex-wrap:wrap;gap:0 20px}
.nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;font-size:14px;font-weight:var(--fw-light);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--text-2)}
.nav a[aria-current="page"]{color:var(--text)}
.nav .nav__cart{color:var(--text)}
.badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--text);color:var(--bg);font-size:12px;font-weight:var(--fw-regular);letter-spacing:0}
.hd nav{width:100%}
@media(min-width:900px){
  .hd{padding-block:36px;flex-wrap:nowrap}
  .hd nav{width:auto;order:1}
  .logo{order:2}
  .nav{gap:0 36px}
}
.hd--slim{max-width:none;padding:20px var(--pad)}
@media(min-width:900px){.hd--slim{padding-inline:clamp(24px,2.8vw,40px)}}
@media(min-width:900px){.hd--slim{padding-block:28px}}
.hd--slim .logo{font-size:26px}
.hd--slim .t11{letter-spacing:.05em}
.hd--over{position:absolute;left:0;right:0;top:0;z-index:2}
.hd--over .nav a,.hd--over .nav a[aria-current="page"]{color:var(--text)}
.hd--co{justify-content:space-between;flex-wrap:nowrap}
.hd--co .logo{order:0}

/* Piede */
.ft{max-width:1440px;margin:0 auto;padding:48px var(--pad) 64px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-2)}
.ft p{align-self:center}
.ft ul{display:flex;flex-wrap:wrap;gap:0 24px}
.ft a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.ft--legal{padding-block:56px 80px}

/* Foto (demo dello shooting): riquadro, immagine a coprire, brightness del sorgente in --b, velatura per il contrasto in --veil */
.ph{position:relative;overflow:hidden;background:#24282A}
.ph picture,.ph img{position:absolute;inset:0;width:100%;height:100%}
.ph img{object-fit:cover;filter:brightness(var(--b,1))}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--veil,none)}
.veil-top{--veil:linear-gradient(180deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.55) 120px,rgba(10,10,10,0) 240px)}
.veil-both{--veil:linear-gradient(180deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.55) 120px,rgba(10,10,10,0) 240px),linear-gradient(0deg,rgba(10,10,10,.8) 0,rgba(10,10,10,.5) 35%,rgba(10,10,10,0) 65%)}
@media(max-width:899px){
  .veil-top{--veil:linear-gradient(180deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.6) 170px,rgba(10,10,10,0) 300px)}
  .veil-both{--veil:linear-gradient(180deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.6) 170px,rgba(10,10,10,0) 300px),linear-gradient(0deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.6) 45%,rgba(10,10,10,0) 80%)}
}

/* Titoli */
.h1-prog{font-weight:var(--fw-regular);font-size:clamp(40px,4.45vw,64px);letter-spacing:-.03em;line-height:1}
.h1-52{font-weight:var(--fw-regular);font-size:clamp(36px,3.6vw,52px);letter-spacing:-.03em;line-height:1.05}
.h1-56{font-weight:var(--fw-regular);font-size:clamp(40px,3.9vw,56px);letter-spacing:-.03em;line-height:1}
.h1-60{font-weight:var(--fw-regular);font-size:clamp(36px,4.2vw,60px);letter-spacing:-.03em;line-height:1}
.h1-64{font-weight:var(--fw-regular);font-size:clamp(40px,4.45vw,64px);letter-spacing:-.03em;line-height:1}

/* ===== Home (Landing-foto) ===== */
.l-hero{position:relative;height:clamp(560px,100svh,900px)}
.l-hero .ph{position:absolute;inset:0}
.l-hero .hd{padding-block:20px}
.l-hero .logo{font-size:32px}
.l-hero .nav a{font-size:15px}
@media(min-width:900px){.l-hero .hd{padding-block:44px}.l-hero .nav{gap:0 48px}}
.l-hero__b{position:absolute;left:var(--pad);right:var(--pad);bottom:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;z-index:1}
@media(min-width:900px){.l-hero__b{bottom:44px}}
.l-hero__b p,.l-hero__b a{margin:0;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.l-link{display:inline-flex;align-items:flex-end;min-height:44px;text-decoration:none}
.l-link span{border-bottom:1px solid var(--text);padding-bottom:4px}
.l-sec{max-width:1440px;margin:0 auto;padding:clamp(80px,11.1vw,160px) var(--pad)}
.l-metodo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px}
.l-metodo h1{font-size:clamp(26px,2.78vw,40px);font-weight:var(--fw-regular);line-height:1.12;letter-spacing:-.02em}
.l-half{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr))}
.l-half .ph{min-height:clamp(420px,52.8vw,760px)}
.l-half--chi .ph{min-height:clamp(480px,57vw,820px)}
.l-half__t{padding:48px var(--pad);display:flex;flex-direction:column;justify-content:flex-end}
@media(min-width:900px){.l-half__t{padding:72px 56px}}
.l-half__t--b{justify-content:space-between;gap:48px}
.l-steps li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--l-line);padding:24px 0}
.l-steps li:last-child{border-bottom:1px solid var(--l-line)}
.l-steps span{font-size:24px}
.l-steps small{font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--text-2)}
.l-chi{font-size:clamp(22px,1.95vw,28px);line-height:1.25;letter-spacing:-.01em}
.l-quote{position:relative;height:clamp(560px,100svh,820px)}
.l-quote .ph{position:absolute;inset:0;--veil:linear-gradient(0deg,rgba(10,10,10,.85) 0,rgba(10,10,10,.5) 35%,rgba(10,10,10,.1) 65%,rgba(10,10,10,0) 100%)}
.l-quote__b{position:absolute;left:var(--pad);right:var(--pad);bottom:48px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;z-index:1}
.l-quote__t{display:flex;flex-direction:column;gap:8px}
.l-quote__t p:last-child{font-size:clamp(26px,2.78vw,40px);letter-spacing:-.02em;line-height:1.15}
.l-quote .t13l,.l-quote__b>p{color:var(--text)}
.l-quote__b>p{color:#C9CCC9}
.l-prog .t13l{margin-bottom:48px}
.hrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;border-top:1px solid var(--l-line);padding:28px 0;font-size:22px;text-decoration:none}
.hrow:last-of-type{border-bottom:1px solid var(--l-line)}
.hrow .d{grid-column:1/-1;grid-row:2;color:var(--text-2);font-size:17px}
.hrow .p{text-align:right;grid-row:1;grid-column:2}
@media(min-width:900px){
  .hrow{grid-template-columns:minmax(0,2fr) minmax(0,3fr) minmax(0,1fr)}
  .hrow .d{grid-column:2;grid-row:1}
  .hrow .p{grid-column:3}
}
.l-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.l-cta p{font-size:clamp(28px,2.78vw,40px);letter-spacing:-.02em;line-height:1.1;max-width:640px}
.l-sig{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(64px,8.3vw,120px)}
.l-sig__l{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end}
.l-sig__logo{font-size:clamp(72px,11.1vw,160px);font-weight:var(--fw-regular);letter-spacing:-.02em;line-height:.8}
.l-sig small{font-size:15px;line-height:1.3;color:var(--text-2)}
.l-sig small b{font-weight:var(--fw-regular);color:var(--text)}

/* ===== Pagine con testata standard ===== */
.page{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.p-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px 40px;align-items:end;padding:40px 0 32px}
@media(min-width:900px){.p-head{padding:64px 0 48px}}
.p-head p{font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--text-2)}
.pgrid{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:64px}
.plan{flex:1 1 280px;display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--line);border-radius:var(--r-card)}
.plan--top{border-color:var(--text)}
.plan__h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan__n{font-size:26px;letter-spacing:-.02em}
.plan__d{font-size:15px;line-height:1.5;color:var(--text-2)}
.plan__p{font-size:36px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan__p small{font-size:15px;color:var(--text-2);letter-spacing:0}
.plan li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2)}
.plan .bt{align-self:flex-start}
.plan__f{margin-top:auto}
.pnote{max-width:760px;font-size:13px;line-height:1.5;color:var(--text-2);padding-bottom:120px}
.pnote a{text-underline-offset:3px}

/* Chi sono */
.chi{display:flex;flex-wrap:wrap;min-height:820px}
.chi__ph{flex:1 1 560px;min-height:480px;--b:.8}
.chi__t{flex:1 1 520px;padding:48px var(--pad);display:flex;flex-direction:column;justify-content:flex-end;gap:24px}
@media(min-width:900px){.chi__ph{min-height:600px}.chi__t{padding:72px 56px}}
.chi__t .lead{font-size:clamp(18px,1.4vw,20px);line-height:1.55}
.chi__t .small{font-size:17px;line-height:1.6;color:var(--text-2)}
.krows{border-top:1px solid var(--line)}
.krows>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.krows dt{color:var(--text-2)}
.krows dd{text-align:right}
.aff{font-size:13px;line-height:1.5;color:var(--text-2)}

/* FAQ */
.faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px 56px;padding:40px 0 80px}
@media(min-width:900px){.faq{padding:72px 0 120px}}
.faq__h{display:flex;flex-direction:column;gap:16px;align-self:start}
.faq details{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:24px 0;font-size:clamp(17px,1.4vw,20px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--text-2)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 24px;font-size:16px;line-height:1.6;color:var(--text-2)}

/* Recensioni */
.rv-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px 56px;padding:40px 0 48px;align-items:end}
@media(min-width:900px){.rv-head{padding-top:64px}}
.rv-l{display:flex;flex-direction:column;gap:16px}
.rv-score{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.rv-score b{font-weight:var(--fw-light);font-size:clamp(88px,9.7vw,140px);letter-spacing:-.05em;line-height:.85;font-variant-numeric:tabular-nums}
.rv-score span{font-size:18px;color:var(--text-2)}
.stars{display:inline-flex;gap:3px}
.rv-bars{display:flex;flex-direction:column;gap:10px}
.rv-bar{display:grid;grid-template-columns:24px minmax(0,1fr) 40px;gap:12px;align-items:center;font-size:13px;color:var(--text-2)}
.rv-bar__t{height:4px;background:var(--line);border-radius:2px}
.rv-bar__t i{display:block;height:4px;background:var(--text);border-radius:2px;width:calc(var(--w,0) * 1%)}
.rv-bar span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.rv-note{font-size:13px;line-height:1.5;color:var(--text-3);margin-top:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:8px}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font:inherit;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);background:transparent;border:1px solid var(--line);border-radius:var(--r-pill)}
.chip[aria-pressed="true"]{color:var(--text);border-color:var(--text)}
.chip[disabled]{cursor:not-allowed}
.rv-empty{border-top:1px solid var(--line);padding:48px 0 120px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px}
.rv-empty h2{font-size:clamp(22px,1.8vw,26px);font-weight:var(--fw-regular);letter-spacing:-.01em}
.rv-empty p{font-size:19px;line-height:1.55;color:var(--text-2);max-width:56ch}

/* Pagine legali */
.lg-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px 40px;padding:56px 0 40px;align-items:end}
@media(min-width:900px){.lg-head{padding:90px 0 56px}.lg-head--cookie{padding:100px 0 64px}}
.lg-head>div{display:flex;flex-direction:column;gap:14px}
.lg-head--cookie>div:last-child{gap:10px;align-items:flex-start}
.lg-head .bt{padding:14px 20px;font-size:12px;letter-spacing:.04em}
.lg-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px 40px;padding:32px 0;border-top:1px solid var(--line)}
@media(min-width:900px){.lg-row{padding:44px 0}.lg-head--cookie~.lg-row{padding:48px 0}}
.lg-row h2{font-size:12px;font-weight:var(--fw-regular);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.lg-body{display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.6;color:var(--body-2);min-width:0}
.lg-body b{font-weight:var(--fw-medium)}
.lg-body a{text-underline-offset:3px}
.tscroll{overflow-x:auto}
.ctab{width:100%;min-width:680px;table-layout:fixed;border-collapse:collapse;text-align:left}
.ctab th{font-size:12px;font-weight:var(--fw-regular);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:0 12px 10px 0}
.ctab td{font-size:14px;padding:12px 12px 12px 0;border-top:1px solid var(--line);vertical-align:top}
.ctab th:nth-child(1){width:22.6%}.ctab th:nth-child(2){width:18.9%}.ctab th:nth-child(3){width:30.2%}.ctab th:nth-child(4){width:15.1%}.ctab th:nth-child(5){width:13.2%}

/* Valutazione */
.v-hero{position:relative;min-height:max(100svh,640px)}
@media(min-width:900px){.v-hero{min-height:900px}}
.v-hero>.ph{position:absolute;inset:0;--b:.45}
.v-hero__b{position:absolute;left:var(--pad);right:var(--pad);bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;z-index:1}
@media(min-width:900px){.v-hero__b{bottom:64px}}
.v-hero__t{max-width:760px;display:flex;flex-direction:column;gap:16px}
.v-hero__t .t13{font-size:14px;color:var(--text)}
.v-hero h1{font-weight:var(--fw-regular);font-size:clamp(40px,5.3vw,76px);line-height:1;letter-spacing:-.03em}
.v-hero__t p:not(.t13){font-size:clamp(17px,1.4vw,20px);line-height:1.5}
.v-hero__t .vnote{font-size:13px;color:var(--text)}
.qbar{height:2px;background:var(--line)}
.qbar span{display:block;height:2px;background:var(--text);width:calc(var(--value,0) * 1%)}
.q{max-width:760px;margin:0 auto;padding:32px var(--pad) 64px;display:flex;flex-direction:column;gap:28px}
@media(min-width:900px){.q{padding:96px 32px}}
.q h1{font-weight:var(--fw-regular);font-size:clamp(30px,3.06vw,44px);line-height:1.1;letter-spacing:-.02em}
.q fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:28px}
.q legend{padding:0 0 4px;float:left;width:100%}
.q legend+*{clear:both}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{position:relative;display:flex;gap:16px;align-items:center;min-height:44px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;font-size:19px;cursor:pointer}
.opt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.opt i{flex:none;width:20px;height:20px;border-radius:50%;border:1px solid var(--text-3);display:flex;align-items:center;justify-content:center}
.opt:has(input:checked){border-color:var(--text)}
.opt:has(input:checked) i{border-color:var(--text)}
.opt:has(input:checked) i::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--text)}
.opt:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}
.q__nav{display:flex;justify-content:space-between;gap:12px}
.q__nav .bt{flex:1 1 0}
.q h1,.q__h2{scroll-margin-top:96px}
/* Valutazione: testata e barra di avanzamento sempre in vista, azioni fisse in basso su mobile */
.qtop{position:sticky;top:0;z-index:10;background:var(--bg)}
.qtop .hd--slim{padding-block:14px}
.qtop .qbar{margin:0}
.q-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.q--in>:not(.q__nav){animation:q-in .2s ease-out}
@keyframes q-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.q--in>:not(.q__nav){animation:none}}
@media(max-width:899px){
  :root{--qnav-h:calc(82px + env(safe-area-inset-bottom,0px));--cb-h:0px}
  html.cb-aperto{--cb-h:260px}
  .q-page .q{padding-bottom:calc(var(--qnav-h) + var(--cb-h) + 24px)}
  /* Banner cookie compatto, appoggiato sopra la barra delle azioni: non copre ne la barra ne le opzioni */
  .q-page .cb{bottom:calc(var(--qnav-h) + 8px);z-index:11}
  .q-page .cb__in{padding:12px 14px;gap:8px}
  .q-page .cb__in p.t12{display:none}
  .q-page .cb__in p:nth-of-type(2){font-size:12.5px;line-height:1.4;padding-right:40px}
  .q-page .cb__x{right:2px;top:2px}
  .q-page .cb__btns{flex-wrap:nowrap;gap:8px}
  .q-page .cb__btns .bt{flex:1 1 0;min-width:0;padding:10px 6px;font-size:12px;letter-spacing:.02em}
  .q-page .q__nav{box-sizing:border-box;position:fixed;left:0;right:0;bottom:0;z-index:9;margin:0;padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line)}
  .q-page .q__nav .bt{padding:12px 12px;font-size:12px;letter-spacing:.03em;line-height:1.2}
  .q-page .ft{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .q-page .opt{padding:16px 20px;font-size:18px}
  .q-page .q{gap:20px}
  .q-page .q fieldset{gap:20px}
  .q-page .fgrid{gap:12px}
}
.q .status{min-height:1.5em;font-size:14px;color:var(--text)}
.rep{display:flex;flex-wrap:wrap;gap:40px 56px;padding:40px 0 80px}
@media(min-width:900px){.rep{padding:72px 0 120px}}
.rep__l{flex:1 1 520px;display:flex;flex-direction:column;gap:20px;min-width:0}
.rep__rows{border-top:1px solid var(--line)}
.rep__rows>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
.rep__rows dt{color:var(--text-2)}
.rep__rows dd{text-align:right}
.rep__note{font-size:15px;line-height:1.5;color:var(--text-2)}
.rep__c{flex:1 1 380px;max-width:480px;background:var(--surface);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:16px;align-self:flex-start}
.rep__c>span{font-size:15px;color:var(--text-2)}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.slot{min-height:48px;padding:14px 0;font:inherit;font-size:15px;font-variant-numeric:tabular-nums;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.slot[aria-pressed="true"]{border-color:var(--text)}
.slot[disabled]{color:var(--text-3);cursor:not-allowed}
.rep__c .status{min-height:1.5em;font-size:14px}
.rep__c .bt{width:100%}
.rep__fine{font-size:12px;line-height:1.5;color:var(--text-3)}
.rep__h{font-weight:var(--fw-regular);font-size:22px;letter-spacing:-.01em;margin-top:12px}
.rep__week{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rep__week li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.rep__week li span:first-child{color:var(--text-2)}
.rep__warn{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;font-size:15px;line-height:1.5}
.rep__print{display:none}
.q__hint{font-size:16px;line-height:1.5;color:var(--text-2);margin:0}
.q__h2{font-weight:var(--fw-regular);font-size:clamp(30px,3.06vw,44px);line-height:1.1;letter-spacing:-.02em}
.q__num{background:var(--surface);border:1px solid var(--text-2);border-radius:14px;padding:20px 24px;min-height:64px;color:var(--text);font-family:inherit;font-size:28px;width:100%;font-variant-numeric:tabular-nums}
.q__num::placeholder{color:var(--text-3)}
.q[hidden]{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media print{
  @page{margin:16mm}
  body.pal-root{--bg:#fff;--text:#111;--text-2:#444;--text-3:#666;--line:#bbb;--surface:#fff;--data-warn:#7a5200;--data-info:#1d4a6b;background:#fff;color:#111}
  .skip,.hd,.ft,.rep__c,.cb,.cb__in,.pref,noscript{display:none!important}
  .rep{display:block;padding:0}
  .rep__print{display:block}
  .rep__l{gap:14px}
  .rep h1{font-size:28px}
  .rep__warn,.rep__week li,.rep__rows>div{break-inside:avoid}
  a{color:inherit;text-decoration:none}
}

/* Lista d'attesa */
.wl{max-width:1440px;margin:0 auto;padding:24px var(--pad) 80px;display:flex;flex-wrap:wrap;gap:32px 48px;align-items:stretch}
@media(min-width:900px){.wl{padding-block:48px 120px}}
.wl__ph{flex:1 1 520px;min-height:360px;border-radius:4px;--b:.75}
.wl__t{flex:1 1 440px;display:flex;flex-direction:column;justify-content:center;gap:22px;min-width:0}
.wl__t h1{font-weight:var(--fw-regular);font-size:clamp(40px,3.9vw,56px);letter-spacing:-.03em;line-height:1}
.wl__t .lead{font-size:clamp(17px,1.32vw,19px);line-height:1.55;color:var(--text-2)}
.wl__form{display:flex;gap:10px;flex-wrap:wrap}
.field{flex:1;min-width:220px;min-height:56px;background:var(--surface);border:1px solid var(--text-2);border-radius:var(--r-pill);padding:18px 22px;color:var(--text);font-family:inherit;font-size:16px}
.field::placeholder{color:var(--text-3)}
.wl__note{font-size:14px;line-height:1.5;color:var(--text-3)}
.status{min-height:1.5em;color:var(--text);font-size:14px}

/* 404 */
.nf{position:relative;min-height:max(100svh,640px)}
@media(min-width:900px){.nf{min-height:900px}}
.nf>.ph{position:absolute;inset:0;--b:.4}
.nf__b{position:absolute;left:var(--pad);bottom:48px;right:var(--pad);display:flex;flex-direction:column;gap:20px;align-items:flex-start;z-index:1}
@media(min-width:900px){.nf__b{bottom:72px}}
.nf__n{font-weight:var(--fw-light);font-size:clamp(120px,13.9vw,200px);letter-spacing:-.06em;line-height:.85;font-variant-numeric:tabular-nums}
.nf h1{font-weight:var(--fw-regular);font-size:clamp(20px,1.8vw,26px)}

/* Carrello e checkout */
.cart-h{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;padding:40px 0 32px}
@media(min-width:900px){.cart-h{padding-top:64px}}
.cart{display:flex;flex-wrap:wrap;gap:40px 48px;align-items:flex-start;padding-bottom:80px}
@media(min-width:900px){.cart{padding-bottom:120px}}
.cart__l{flex:2 1 560px;min-width:0}
.cart__r{flex:1 1 340px;max-width:440px;width:100%}
.item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;padding:24px 0;border-top:1px solid var(--line);align-items:start}
@media(min-width:600px){.item{grid-template-columns:140px minmax(0,1fr) auto;gap:24px}}
.item .ph{width:96px;height:96px;border-radius:4px;--b:.75}
@media(min-width:600px){.item .ph{width:140px;height:140px}}
.item__t{display:flex;flex-direction:column;gap:8px}
.item__n{font-size:clamp(18px,1.5vw,22px);letter-spacing:-.01em}
.item__d{font-size:14px;line-height:1.5;color:var(--text-2)}
.item__p{font-size:20px;font-variant-numeric:tabular-nums}
.linkbtn{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);text-decoration:underline;cursor:not-allowed}
.suggest{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.suggest__r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px}
.suggest__r button{font:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);background:none;border:0;min-height:44px;cursor:not-allowed}
.sum{background:var(--surface);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:14px}
.sum__r{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-variant-numeric:tabular-nums}
.sum__r span:first-child{color:var(--text-2)}
.sum__r--ok span:last-child{color:var(--data-ok)}
.sum__r--m{font-size:14px;color:var(--text-2)}
.sum__tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:14px}
.sum__tot span:first-child{font-size:17px}
.sum__tot span:last-child{font-size:30px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sum__code{display:flex;gap:8px}
.sum__code .field{min-height:44px;padding:14px 18px;font-size:14px;background:var(--bg)}
.sum__code .bt{padding:14px 18px;font-size:12px;letter-spacing:.04em;flex:none}
.sum .bt--blk{padding:18px;width:100%}
.sum__n{font-size:12px;line-height:1.5;color:var(--text-3)}
.sum__n a{text-underline-offset:3px}
.step{border-top:1px solid var(--line);padding:28px 0;display:flex;flex-direction:column;gap:16px}
.step__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.step__h h2{font-size:22px;font-weight:var(--fw-regular);letter-spacing:-.01em}
.step__h h2 small{margin-right:12px}
.step p{font-size:15px;color:var(--text-2)}
.fgrid{display:flex;flex-wrap:wrap;gap:12px}
.fld{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;min-width:0}
.fld--w{flex:2 1 400px}
.fld label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.fld input{background:var(--surface);border:1px solid var(--text-2);border-radius:12px;padding:15px;min-height:44px;color:var(--text);font-family:inherit;font-size:15px;width:100%}
.fld input::placeholder{color:var(--text-3)}
.fld select{background:var(--surface);border:1px solid var(--text-2);border-radius:12px;padding:15px;min-height:44px;color:var(--text);font-family:inherit;font-size:15px;width:100%}
.fld--s{flex:1 1 120px}
.fld__e{margin:0;font-size:13px;line-height:1.4;color:var(--text)}
.fld__e:empty{display:none}
.fld input[aria-invalid="true"],.fld select[aria-invalid="true"]{border-color:var(--text);border-width:2px}
.fatt{border:0;padding:0;margin:24px 0 8px;min-width:0}
.fatt legend{padding:0;margin-bottom:8px}
.fatt__n{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-2)}
.fatt .check{margin-top:12px}
.fld input:disabled{opacity:.55;border-color:var(--line);cursor:not-allowed}
.check{display:flex;gap:10px;align-items:flex-start;min-height:44px;font-size:13px;line-height:1.5;color:var(--text-2)}
.check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--text)}
.check a{text-underline-offset:3px}
.pay{text-align:center;text-decoration:none;background:var(--text);color:var(--bg);border-radius:var(--r-pill);padding:16px;font-size:15px;border:0;font-family:inherit;min-height:44px}
.pay[disabled]{opacity:.55;cursor:not-allowed}

/* Banner e preferenze cookie */
.cb{position:fixed;left:12px;right:12px;bottom:12px;z-index:50}
@media(min-width:900px){.cb{left:32px;right:32px;bottom:32px;max-width:1180px;margin:0 auto}}
.cb__in,.pref{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);color:var(--text)}
.cb__in{padding:24px 28px;display:flex;flex-direction:column;gap:18px}
.cb__x{position:absolute;right:14px;top:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:inherit;font-size:22px;color:var(--text-2);background:none;border:0;cursor:pointer;text-decoration:none}
.cb__in p:nth-of-type(2){font-size:14px;line-height:1.5;padding-right:24px}
@media(min-width:900px){.cb__in p:nth-of-type(2){font-size:15px;line-height:1.55}}
.cb__btns{display:flex;flex-wrap:wrap;gap:10px}
.cb__btns .bt,.pref__btns .bt{flex:1 1 160px;padding:16px 22px;background:transparent;color:var(--text);letter-spacing:.04em}
.pref-pg{position:relative;min-height:max(100svh,700px);padding:16px}
@media(min-width:900px){.pref-pg{padding:48px 16px;min-height:1000px}}
.pref-pg>.ph{position:absolute;inset:0;--b:.25}
.pref{max-width:720px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:6px}
@media(min-width:900px){.pref{padding:32px}}
.pref__h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pref__h h1{font-weight:var(--fw-regular);font-size:28px;letter-spacing:-.02em}
.pref__h a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:22px;color:var(--text-2);text-decoration:none}
.pref__i{font-size:14px;line-height:1.5;color:var(--text-2);margin:0 0 12px}
.pref__c{border-top:1px solid var(--line);padding:18px 0;display:flex;flex-direction:column;gap:10px}
.pref__r{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pref__r h2{font-size:17px;font-weight:var(--fw-regular)}
.pref__r h2 small{font-size:12px;color:var(--text-2)}
.pref__c>p{font-size:14px;line-height:1.5;color:var(--text-2)}
.sw{flex:none;width:44px;height:44px;padding:0;background:none;border:0;display:grid;place-items:center;cursor:pointer}
.sw span{width:44px;height:26px;border-radius:var(--r-pill);border:1px solid var(--text-3);padding:2px;display:inline-flex;align-items:center;justify-content:flex-start}
.sw span::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--text-3)}
.sw[aria-checked="true"] span{background:var(--text);border-color:var(--text);justify-content:flex-end}
.sw[aria-checked="true"] span::before{background:var(--bg)}
.sw[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.tools li{display:grid;grid-template-columns:1.2fr 1.6fr .8fr;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13px;color:var(--text-2)}
.tools li span:first-child{color:var(--text)}
@media(max-width:560px){.tools li{grid-template-columns:1fr auto}.tools li span:nth-child(2){grid-column:1/-1;grid-row:2}.tools li span:nth-child(3){text-align:right}}
.pref__btns{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.pref .status{min-height:1.5em;padding-top:8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

[hidden]{display:none!important}

/* ===== Conversione (03/10/2026) ===== */
/* Riga sotto le CTA: cosa succede dopo il tocco */
.cta-micro{display:block;margin-top:12px;font-size:13px;line-height:1.4;letter-spacing:.02em;color:var(--text-2)}
.h-hero .cta-micro{color:#C9CCC9;margin-top:10px}
/* CTA fissa in basso, solo mobile; spazio in fondo alla pagina uguale alla sua altezza */
.cta-fissa{display:none}
@media(max-width:767px){
  .cta-fissa{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);text-align:center}
  .cta-fissa[hidden]{display:none}
  .cta-fissa .bt{background:#F2F1EC;border-color:#F2F1EC;color:#0A0A0A;padding:14px 20px;min-height:48px}
  .cta-fissa small{font-size:12px;color:var(--text-2);letter-spacing:.02em}
  html.ha-cta-fissa body{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:no-preference){.cta-fissa{animation:cta-su .25s ease-out}@keyframes cta-su{from{transform:translateY(100%)}to{transform:none}}}
.faq-cta{padding:0 0 80px}

/* Voce primaria del menu sulle pagine interne (come .h-pill in home.css): pulsante chiaro, le altre voci restano testo */
.nav .h-pill{background:#F2F1EC;border:1px solid #F2F1EC;border-radius:var(--r-pill);padding:0 20px;color:#0A0A0A;font-weight:var(--fw-regular);transition:opacity var(--t-base) var(--ease-std)}
.hd--over .nav .h-pill,.nav .h-pill[aria-current="page"]{color:#0A0A0A}
.nav .h-pill:hover{opacity:.88}
.nav .h-pill:focus-visible{outline:2px solid #F2F1EC;outline-offset:3px}
@media(max-width:899px){.nav{gap:0 16px}.nav a{min-height:48px}.nav .h-pill{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.nav .h-pill{transition:none}}
