/*
 * Maguro San — foglio di stile del tema
 * CSS estratto dal prototipo approvato (incontro 09/10/2026) e ripulito per WordPress.
 * Sistema di design: nero inchiostro + blu Maguro, corallo solo per tonno e azioni.
 * Rispetta prefers-reduced-motion in fondo al file. NON modificare i token senza decisione.
 */
:root{
  --ink:#0A2436;        /* nero inchiostro */
  --ink-2:#123247;
  --frost:#EEF3F6;      /* bianco brina */
  --frost-2:#D9E4EA;
  --blue:#005E93;       /* blu Maguro, dal logo */
  --blue-deep:#06304D;
  --coral:#E8452F;      /* corallo Maguro: solo tonno e azioni */
  --coral-ink:#C73A26;
  --steel:#7F909D;
  --display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --text:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gx:clamp(16px,4vw,64px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--frost);font:400 17px/1.55 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
::selection{background:var(--coral);color:#fff}
p{margin:0 0 1em}

/* grana su tutto, fissa */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);padding:0 var(--gx);max-width:1600px;margin:0 auto}
.lab{font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--steel)}
.lab b{color:var(--frost);font-weight:500}
.light .lab b{color:var(--ink)}
.dim{color:#A9B7C1}
.light{background:var(--frost);color:var(--ink)}
.light .dim{color:#4E5E6A}
.blue{background:var(--blue-deep);color:var(--frost)}

/* titoli */
.d{font-family:var(--display);font-weight:900;line-height:.84;letter-spacing:-.012em;margin:0;text-wrap:balance}
.d-xxl{font-size:clamp(76px,16vw,260px)}
.d-xl{font-size:clamp(60px,11vw,180px)}
.d-l{font-size:clamp(48px,7.4vw,120px)}
.d-m{font-size:clamp(34px,4.2vw,64px);font-weight:800;line-height:.92}
.body-l{font-size:clamp(18px,1.5vw,21px);line-height:1.5;max-width:44ch}

/* da validare */
.tbv{display:inline-block;vertical-align:.2em;font:500 10px/1 var(--mono);padding:3px 5px;margin-left:6px;border:1px solid currentColor;color:#E2B93B;letter-spacing:.02em;white-space:nowrap;border-radius:2px}
.light .tbv{color:#8A6A00}
.d .tbv{vertical-align:.9em}

/* split text: riga per riga, con maschera */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.w>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--l,0) * 90ms)}
.split.in .w>span{transform:none}

html.js .fade{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.js .fade.in{opacity:1;transform:none}

/* bottoni */
.btn{display:inline-flex;align-items:center;gap:12px;font:600 15.5px var(--text);text-decoration:none;padding:17px 24px;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s}
.btn:active{transform:scale(.98)}
.btn-c{background:var(--coral);color:#fff}
.btn-c:hover{background:var(--coral-ink)}
.btn-o{border-color:currentColor;background:transparent}
.btn-o:hover{background:var(--frost);color:var(--ink);border-color:var(--frost)}
.light .btn-o:hover{background:var(--ink);color:var(--frost);border-color:var(--ink)}
.row{display:flex;flex-wrap:wrap;gap:10px}

/* ---------------- barra ---------------- */
.bar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:20px;padding:16px var(--gx);transition:background .4s;background:linear-gradient(rgba(15,21,28,.88) 30%,rgba(15,21,28,0))}
.bar.solid{background:rgba(15,21,28,.96);border-bottom:1px solid rgba(238,243,246,.08)}
.bar .logo img{height:30px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{text-decoration:none;font-size:14.5px;padding:8px 11px;color:#E3EAEF;text-shadow:0 1px 6px rgba(15,21,28,.5);position:relative}
.nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:1px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover{color:#fff}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:#fff}
.lang{display:flex;font:500 12px var(--mono);border:1px solid rgba(238,243,246,.3);border-radius:2px}
.lang button{background:none;border:0;padding:6px 9px;cursor:pointer;color:#C3CFD7}
.lang button[aria-pressed="true"]{background:var(--frost);color:var(--ink)}
.bar .wa{font:600 13.5px var(--text);text-decoration:none;padding:9px 13px;background:var(--coral);color:#fff;border-radius:2px;white-space:nowrap}
.burger{display:none;background:none;border:1px solid rgba(238,243,246,.35);padding:8px 12px;font:500 12px var(--mono);cursor:pointer;border-radius:2px}
@media (max-width:1080px){
  .nav{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:0;padding:0 var(--gx);background:var(--ink);transform:translateY(-100%);transition:transform .6s var(--ease);margin:0;z-index:-1}
  .nav.open{transform:none}
  .nav a{font:900 clamp(44px,12vw,72px)/1 var(--display);padding:8px 0;color:var(--frost)}
  .nav a::after{left:0;right:auto;width:60px;bottom:0}
  .burger{display:block;margin-left:auto}
}
@media (max-width:520px){.bar .wa{display:none}.bar{gap:10px}}

/* ---------------- cursore ---------------- */
.cur{position:fixed;left:0;top:0;z-index:95;pointer-events:none;opacity:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--coral);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,color .2s;display:grid;place-items:center;font:700 15px var(--mono);color:transparent;will-change:transform}
.cur.on{opacity:1}
.cur.big{width:84px;height:84px;margin:-42px 0 0 -42px;background:rgba(238,243,246,.94);color:var(--ink)}
@media (pointer:coarse),(prefers-reduced-motion:reduce){.cur{display:none}}

/* ---------------- HUD dello scongelamento ---------------- */
.hud{position:fixed;right:var(--gx);bottom:18px;z-index:55;width:290px;padding:10px 14px 0;background:rgba(15,21,28,.97);border:1px solid rgba(238,243,246,.16);font:500 11px/1.3 var(--mono);color:var(--steel);transition:opacity .5s,transform .6s var(--ease)}
.hud.off{opacity:0;transform:translateY(20px);pointer-events:none}
.hud .hd{display:flex;justify-content:space-between;gap:10px}
.hud .t{display:flex;align-items:baseline;gap:6px;margin:4px 0 8px}
.hud .t b{font:700 26px/1 var(--mono);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.hud .t b.c{font-size:18px;margin-left:auto}
.hud .track{height:3px;margin:0 -14px;background:rgba(238,243,246,.12);overflow:hidden}
.hud .track i{display:block;height:100%;background:linear-gradient(90deg,#7FC6EA,var(--coral));transform-origin:left;transform:scaleX(0)}
.hud.done #hudS{color:#8FD6A6}
@media (max-width:640px){
  .hud{left:10px;right:10px;width:auto;bottom:10px}
  .hud .t b{font-size:22px}
}

/* etichetta immagini generate */
.gen{position:absolute;right:10px;top:10px;z-index:3;font:500 10px/1 var(--mono);color:#fff;background:rgba(15,21,28,.72);padding:5px 7px;border:1px solid rgba(238,243,246,.3);letter-spacing:.01em}
body.no-tbv .gen{display:none}
.duo{position:relative}
.duo .inset{position:absolute;left:-14%;bottom:-22%;width:44%;aspect-ratio:1/1;border:8px solid var(--frost);margin:0}
@media (max-width:767px){.duo .inset{position:relative;left:auto;bottom:auto;width:62%;margin:-18% 0 0 auto}}

/* interruttore dei claim */
.claims{position:fixed;left:var(--gx);bottom:18px;z-index:55;font:500 11px var(--mono);color:#E2B93B;background:rgba(15,21,28,.92);border:1px solid rgba(226,185,59,.45);padding:7px 10px;cursor:pointer;border-radius:2px}
.claims[aria-pressed="false"]{color:var(--steel);border-color:rgba(127,144,157,.4)}
.claims b{font-weight:700}
body.no-tbv .tbv{display:none}
@media (max-width:640px){.claims{bottom:84px;top:auto;left:10px;font-size:10px;padding:5px 8px}body:not([data-page="home"]) .claims{bottom:10px;right:10px;left:auto}}

/* ---------------- tendina tra le pagine ---------------- */
.wipe{position:fixed;inset:0;z-index:80;pointer-events:none;background:var(--blue);transform:translateY(100%);display:grid;place-items:center;visibility:hidden}
.wipe.in{visibility:visible}
.wipe span{font:700 14px var(--mono);color:var(--frost);opacity:0}
.wipe.in{transform:translateY(0);transition:transform .45s cubic-bezier(.7,0,.3,1)}
.wipe.in span{opacity:1;transition:opacity .2s .2s}
.wipe.out{transform:translateY(-100%);transition:transform .55s cubic-bezier(.7,0,.3,1)}


/* ---------------- HERO: il vetro gelato ---------------- */
.thaw{position:relative;height:250vh;height:250dvh}
.thaw .stage{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;background:#0d2b40}
.thaw .ly{position:absolute;inset:0;will-change:opacity,transform}
.thaw .ly img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.thaw .sharp{transform:scale(1.08)}
.thaw .cold img{filter:grayscale(.45) brightness(1.25) contrast(.8) blur(16px)}
.thaw .cold::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(214,232,242,.42),rgba(160,196,216,.22))}
.thaw .cold{transform:scale(1.1)}
.thaw .frost svg,.thaw canvas{width:100%;height:100%;display:block}
.thaw .edge{-webkit-mask-image:radial-gradient(ellipse 70% 65% at 62% 50%,transparent 35%,#000 85%);mask-image:radial-gradient(ellipse 70% 65% at 62% 50%,transparent 35%,#000 85%)}
.thaw .shade{background:linear-gradient(90deg,rgba(15,21,28,.86) 0%,rgba(15,21,28,.55) 38%,rgba(15,21,28,0) 66%),linear-gradient(0deg,rgba(15,21,28,.6),transparent 30%)}
.thaw .copy{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);padding:96px var(--gx) clamp(72px,10vh,110px);align-content:end}
.thaw h1.d{font-size:clamp(72px,min(13vw,27vh),230px);line-height:.86}
.thaw .meta{grid-column:1/6;margin-bottom:clamp(14px,2.4vh,28px)}
.thaw .meta{color:#C9D6DE;text-shadow:0 1px 8px rgba(15,21,28,.6)}
.thaw h1{grid-column:1/12;color:#fff}
.thaw .sub{grid-column:1/6;margin-top:clamp(14px,2.6vh,30px)}
.thaw .sub .body-l{margin-bottom:.6em}
.thaw .sub p{color:#D4DEE5}
.thaw .cta{grid-column:1/8;margin-top:8px}
.thaw>.stage>.gen{position:absolute}
.thaw .hint{position:absolute;right:var(--gx);bottom:28px;text-align:right;transition:opacity .4s}
.thaw .hint i{display:block;width:1px;height:46px;background:var(--frost);margin:8px 0 0 auto;transform-origin:top;animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0)}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.thaw .ready{position:absolute;left:var(--gx);top:auto;bottom:clamp(60px,12vh,140px);max-width:420px;opacity:0;transform:translateY(16px)}
.thaw .ready .d{font-size:clamp(44px,5.6vw,92px);font-weight:800;line-height:.95;margin-bottom:10px;color:#fff}
.thaw .ready .lab{color:#D4DEE5}
@media (max-width:767px){
  .thaw .shade{background:linear-gradient(0deg,rgba(15,21,28,.94) 12%,rgba(15,21,28,.45) 62%,rgba(15,21,28,.25))}
  .thaw .copy{align-content:end;padding-bottom:96px}
  .thaw .copy>*{grid-column:1/-1!important}
  .thaw .ready{bottom:150px;left:var(--gx);right:auto;max-width:80%}
  .thaw .hint{display:none}
  .thaw .cta .btn{padding:14px 18px;font-size:15px}
}

/* ---------------- sezioni ---------------- */
.s{padding:clamp(96px,14vw,200px) 0;position:relative}

/* numeri come segni */
.nums{border-top:1px solid rgba(238,243,246,.14)}
.num{grid-column:span 3;padding:28px 20px 0 0;border-right:1px solid rgba(238,243,246,.14)}
.num:last-child{border-right:0}
.num .big{font:900 clamp(72px,9vw,150px)/.8 var(--display);letter-spacing:-.02em;color:#fff;display:block;margin:18px 0 22px}
.num .big sup{font-size:.42em;vertical-align:top;position:relative;top:.12em;margin-left:2px;font-weight:800}
.num p{font-size:15.5px;color:#A9B7C1;max-width:26ch}
.num:nth-child(2){margin-top:clamp(0px,6vw,90px)}
.num:nth-child(4){margin-top:clamp(0px,4vw,60px)}

/* foto */
.ph{position:relative;overflow:hidden;margin:0;background:#22303C}
.ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.6s var(--ease)}
.ph.in img{transform:scale(1)}
.ph figcaption{position:absolute;left:12px;bottom:12px;font:500 11px var(--mono);color:var(--frost);background:rgba(15,21,28,.72);padding:5px 8px}

/* video */
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#0b1117;cursor:pointer;overflow:hidden;text-align:left}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .5s,transform 1.4s var(--ease)}
.yt:hover img{opacity:.95;transform:scale(1.02)}
.yt .pl{position:absolute;left:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);display:flex;align-items:center;gap:16px;color:#fff}
.yt .tag{position:absolute;left:clamp(16px,3vw,36px);top:clamp(16px,3vw,32px);font:500 11.5px var(--mono);color:#fff;background:rgba(15,21,28,.7);padding:6px 9px}
.yt .pl i{width:clamp(76px,8vw,112px);height:clamp(76px,8vw,112px);border-radius:50%;background:var(--coral);display:grid;place-items:center;transition:transform .4s var(--ease);flex:none}
.yt:hover .pl i{transform:scale(1.08)}
.yt .pl svg{width:28px;height:28px;margin-left:6px}
.yt .pl>span{font:800 clamp(24px,2.6vw,38px)/.95 var(--display)}
.yt .pl small{display:block;font:500 11.5px var(--mono);color:#C3CFD7;margin-top:6px}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* peso */
.scale-num{font:700 clamp(64px,10vw,170px)/.8 var(--mono);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.scale-num small{font-size:.3em;letter-spacing:0;margin-left:8px;color:#4E5E6A}

/* marquee */
.mq{overflow:hidden;border-top:1px solid rgba(238,243,246,.14);border-bottom:1px solid rgba(238,243,246,.14);padding:22px 0;white-space:nowrap}
.mq .tr{display:inline-flex;gap:48px;animation:mq 70s linear infinite;will-change:transform;padding-right:48px}
.mq span{font:800 clamp(34px,4.4vw,64px)/1 var(--display);color:var(--frost)}
.mq em{font:500 13px var(--mono);font-style:normal;color:var(--coral);align-self:center}
@keyframes mq{to{transform:translateX(-50%)}}

/* filiera orizzontale bloccata */
.hz{position:relative}
.hz .pin{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:40px}
.hz .head{padding:0 var(--gx);display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(20px,4vh,40px)}
.hz .track{display:flex;gap:clamp(16px,2vw,28px);padding:0 var(--gx);will-change:transform;width:max-content}
.hz .pane{flex:none;width:min(72vw,880px);display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(16px,2vw,28px);align-items:end}
.hz .pane .ph,.cell,.boxv{height:min(56vh,540px)}
.hz .pane .n{font:500 12px var(--mono);color:var(--coral);display:block;margin-bottom:14px}
.hz .pane h3{font:900 clamp(48px,6vw,104px)/.84 var(--display);margin:0 0 16px}
.hz .pane p{color:#A9B7C1;font-size:16px;max-width:30ch}
.hz .prog{height:1px;background:rgba(238,243,246,.14);margin:clamp(20px,4vh,40px) var(--gx) 0}
.hz .prog i{display:block;height:100%;background:var(--coral);transform-origin:left;transform:scaleX(0)}
.cell{background:linear-gradient(180deg,#0B3A5C,#06223A);background-size:cover;background-position:center;position:relative;overflow:hidden;display:grid;place-items:center}
.cell .led{font:700 clamp(64px,8vw,130px)/1 var(--mono);color:#9FE3FF;letter-spacing:-.04em;text-shadow:0 0 18px rgba(127,198,234,.45);font-variant-numeric:tabular-nums}
.cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cell::after{content:"";position:absolute;inset:0;background:rgba(6,34,58,.42)}
.cell .led{position:relative;z-index:2}
.cell .lab{z-index:2}
.cell .lab{position:absolute;left:14px;top:14px;color:#9FB8C8}
.boxv{background:#2A1E14;position:relative;overflow:hidden;display:grid;place-items:center}
.boxv .crt{width:74%;aspect-ratio:5/4;background:linear-gradient(160deg,#C9A879,#A9865A);position:relative}
.boxv .crt .tape{position:absolute;left:0;right:0;top:42%;height:15%;background:var(--blue);display:flex;align-items:center;justify-content:space-around;font:800 clamp(12px,1.4vw,20px) var(--display);letter-spacing:.08em;color:#fff;white-space:nowrap;overflow:hidden}
.boxv .crt .kg{position:absolute;right:6%;top:6%;font:900 clamp(40px,5vw,84px)/.8 var(--display);color:rgba(255,255,255,.92)}
.boxv .crt img{position:absolute;width:30%;left:7%;bottom:9%;rotate:-8deg}
.boxv .vap{position:absolute;left:12%;right:12%;top:0;height:50%;pointer-events:none}
.boxv .vap i{position:absolute;bottom:0;width:34%;height:100%;background:radial-gradient(closest-side,rgba(238,243,246,.5),transparent);filter:blur(12px);animation:vap 5s ease-in infinite;opacity:0}
.boxv .vap i:nth-child(2){left:33%;animation-delay:1.7s}.boxv .vap i:nth-child(3){left:66%;animation-delay:3.4s}
@keyframes vap{0%{transform:translateY(40%) scale(.6);opacity:0}30%{opacity:.8}100%{transform:translateY(-50%) scale(1.3);opacity:0}}
@media (max-width:767px){
  .hz{height:auto!important}
  .hz .pin{position:relative;height:auto;display:block;padding:clamp(80px,14vw,140px) 0}
  .hz .head{display:block}
  .hz .head .lab{text-align:left!important;margin-top:16px}
  .hz .track{flex-direction:column;transform:none!important;gap:56px;width:auto}
  .hz .pane{width:100%;grid-template-columns:1fr}
  .hz .pane .ph,.cell,.boxv{height:auto;aspect-ratio:4/3}
  .hz .prog{display:none}
}

/* liste editoriali al posto delle card */
.rows{border-top:1px solid currentColor}
.rows>*{border-bottom:1px solid rgba(127,144,157,.35)}
.door{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);align-items:baseline;padding:clamp(22px,3vw,40px) 0;text-decoration:none;position:relative}
.door .who{grid-column:1/4}
.door .pr{grid-column:4/11;font:900 clamp(38px,5.4vw,88px)/.88 var(--display);transition:transform .6s var(--ease),color .3s}
.door .go{grid-column:11/13;justify-self:end;font:500 12px var(--mono)}
a.door:hover .pr{transform:translateX(18px);color:var(--coral)}
.peek{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/5;z-index:50;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(-3deg);transition:opacity .35s,transform .5s var(--ease);overflow:hidden;background:#22303C}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}
.peek img{width:100%;height:100%;object-fit:cover}
@media (max-width:767px){.door .who,.door .pr,.door .go{grid-column:1/-1;justify-self:start}.door .pr{margin-top:8px}.door .go{margin-top:12px}.peek{display:none}}

/* FAQ */
.faq details{border-bottom:1px solid rgba(127,144,157,.35)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:24px 0;font:800 clamp(24px,2.4vw,36px)/1.02 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font:500 18px var(--mono);font-style:normal;color:var(--coral);transition:transform .4s var(--ease)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq .a{padding:0 0 26px;max-width:62ch;color:#A9B7C1}

/* tabella da bolla */
.bolla{width:100%;border-collapse:collapse;font-size:15.5px;min-width:560px}
.bolla th,.bolla td{text-align:left;vertical-align:top;padding:16px 14px 16px 0;border-bottom:1px solid rgba(127,144,157,.35)}
.bolla thead th{font:500 11.5px var(--mono);color:var(--steel);padding-bottom:10px}
.bolla tbody th{font-weight:400}
.bolla td.k{font:700 clamp(34px,3.4vw,52px)/1 var(--mono);letter-spacing:-.04em;white-space:nowrap;width:1%;padding-right:40px}
.bolla .us{color:var(--coral-ink);font-weight:600}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* finale */
.fin{background:var(--coral);color:#fff;overflow:hidden}
.fin .btn-o:hover{background:#fff;color:var(--coral-ink);border-color:#fff}
.fin .btn-w{background:#fff;color:var(--coral-ink)}
.fin .btn-w:hover{background:var(--ink);color:#fff}
.fin .wave{position:absolute;right:-6%;bottom:-18%;width:min(760px,70vw);opacity:.25;mix-blend-mode:multiply;pointer-events:none}

/* footer */
footer{background:#07212F;color:#93A3AF;padding:72px 0 130px;font-size:14.5px}
footer a{text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:#fff}
.ondine{height:16px;background:#07212F url(../img/ondine.png) repeat-x left center/auto 16px}
.legend{margin-top:56px;padding-top:20px;border-top:1px solid rgba(226,185,59,.4);color:#E2B93B;font:500 12px/1.6 var(--mono);max-width:110ch}

/* pagine interne */
.ph-head{padding:clamp(140px,20vh,220px) 0 clamp(56px,8vw,110px);position:relative;overflow:hidden}
.ph-head .bg{position:absolute;inset:0;opacity:.55}
.ph-head .bg img{width:100%;height:100%;object-fit:cover}
.ph-head .bg .gen{top:auto;bottom:14px;z-index:2}
.ph-head .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 18%,rgba(15,21,28,.25))}
.ph-head .g12{position:relative}
.menu-card{background:#FBF8F1;color:#1d1d1d;padding:34px 30px;font-family:Georgia,"Times New Roman",serif;rotate:-1.2deg;box-shadow:0 30px 60px -30px rgba(6,48,77,.55)}
.menu-card .dish{font-size:20px;margin-bottom:6px}
.menu-card .leg{font-size:14px;color:#555;border-top:1px dashed #bbb;margin-top:16px;padding-top:12px;line-height:1.5}
.menu-card mark{background:#FFE9A8;padding:0 2px}
.menu-card .tbv{color:#8A6A00}
.spec{border-top:1px solid currentColor;margin:0}
.spec div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(127,144,157,.35)}
.spec dt{font:600 11.5px/1.9 var(--mono);color:var(--coral);letter-spacing:.02em}
.blue .spec dt{color:#9FB8C8}
.spec dd{margin:0;font:700 18px var(--mono);letter-spacing:-.02em}
.spec dd.t{font:500 15.5px var(--text);letter-spacing:0}
.lock{font:500 12.5px var(--mono);margin-top:20px;padding:12px 14px;background:var(--ink);color:var(--frost)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(127,144,157,.35)}
.steps li::before{content:counter(s,decimal-leading-zero);font:700 15px var(--mono);color:var(--coral);padding-top:6px}
.light .steps li::before{color:var(--coral-ink)}
.steps h3{font:800 clamp(26px,2.4vw,34px)/1 var(--display);margin:0 0 6px}
.steps p{margin:0;color:#4E5E6A;font-size:15.5px}
.blue .steps p{color:#A9B7C1}
.vlist a{display:grid;grid-template-columns:56px 1fr auto 150px;gap:18px;align-items:baseline;padding:20px 0;text-decoration:none;border-bottom:1px solid rgba(127,144,157,.35)}
.vlist a b{font:800 clamp(26px,2.6vw,40px)/1 var(--display);transition:transform .5s var(--ease),color .3s}
.vlist a:hover b{transform:translateX(12px);color:var(--coral)}
.vlist .lab{white-space:nowrap}
.window{position:relative;aspect-ratio:4/3;background:linear-gradient(115deg,rgba(255,255,255,.16),rgba(255,255,255,0) 42%),linear-gradient(160deg,#2B4A62,#0E2235);background-size:cover;display:grid;place-items:center;border:12px solid #20303C;overflow:hidden}
.window img{width:42%;transform:none!important;height:auto!important}
.window::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.2) 37%,transparent 44%);transform:translateX(-60%);transition:transform 1.6s var(--ease)}
.window:hover::after{transform:translateX(60%)}
.form{color:var(--ink)}
.form label{display:block;font:500 11.5px var(--mono);color:#4E5E6A;margin:0 0 4px}
.form .f{margin-bottom:20px}
.form input,.form select{width:100%;font:500 16px var(--text);padding:12px 0;border:0;border-bottom:1.5px solid var(--ink);background:transparent;color:var(--ink);border-radius:0}
.form input:focus,.form select:focus{outline:none;border-bottom-color:var(--coral)}
.form .help{font-size:13px;color:#4E5E6A;margin-top:6px}
.form .err{font-size:13px;color:var(--coral-ink);margin-top:6px;display:none}
.form .f.bad .err{display:block}
.form .f.bad input{border-bottom-color:var(--coral-ink)}
.dash{border-top:1px solid rgba(238,243,246,.3)}
.dash .o{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(238,243,246,.14)}
.dash .o b{font:800 clamp(24px,2.2vw,32px)/1 var(--display);display:block}
.dash .o .lab{display:block;margin-top:6px}
.blur{filter:blur(5px);user-select:none}
.toast{position:fixed;left:50%;top:84px;z-index:85;transform:translate(-50%,-220%);opacity:0;visibility:hidden;pointer-events:none;background:var(--frost);color:var(--ink);font:500 13px var(--mono);padding:12px 16px;transition:transform .5s var(--ease);max-width:calc(100vw - 32px)}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}
.toast:empty{display:none}

/* ---------------- B2B e shop ---------------- */
.ph-head.sm{padding:clamp(120px,16vh,170px) 0 clamp(28px,4vw,48px)}
.ph-head.sm h1{font-size:clamp(52px,8vw,128px)}
.bar .acc{font:600 13.5px var(--text);text-decoration:none;padding:8px 12px;border:1px solid rgba(238,243,246,.45);border-radius:2px;white-space:nowrap;color:#fff}
.bar .acc:hover{background:var(--frost);color:var(--ink)}
.bar .cartl{font:500 12px var(--mono);text-decoration:none;color:#E3EAEF;white-space:nowrap}
.bar .cartl b{display:inline-block;min-width:20px;padding:2px 5px;margin-left:4px;background:var(--coral);color:#fff;text-align:center;border-radius:2px}
.bar .cartl[hidden]{display:none}
.bar .cartl b[hidden]{display:none}
@media (max-width:1080px){.bar .acc{margin-left:0}}
@media (max-width:520px){.bar .acc{padding:7px 9px;font-size:12.5px}.bar .cartl span{display:none}.bar .lang{display:none}.bar .burger{margin-left:auto}}
.app{min-height:30vh;color:var(--ink)}
.app .lab b{color:var(--ink)}
.ex{display:inline-block;font:500 10.5px/1.3 var(--mono);color:#8A6A00;border:1px dashed #B8962A;padding:4px 7px;margin:10px 0 0;background:#FFF8DE}
.pane-w{background:#fff;padding:clamp(20px,3vw,40px);border:1px solid #DCE6ED}
.cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);row-gap:28px}
.c-7{grid-column:span 7}.c-5{grid-column:span 5}.c-6{grid-column:span 6}.c-4{grid-column:span 4}.c-8{grid-column:span 8}.c-12{grid-column:1/-1}
@media (max-width:860px){.cols>*{grid-column:1/-1!important}}
.app h2.d{color:var(--ink)}
.app h3{font:800 clamp(26px,2.4vw,36px)/1 var(--display);margin:0 0 12px}
.app .form{padding:0}
.app .form.pane-w{padding:clamp(20px,3vw,40px)}
body:not([data-page="home"]) .claims{left:auto;right:var(--gx)}
.f2{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
@media (max-width:560px){.f2{grid-template-columns:1fr}}
.seg{display:flex;border:1px solid var(--ink);margin-bottom:22px}
.seg label{flex:1;text-align:center;padding:12px 8px;cursor:pointer;font:600 14.5px var(--text);margin:0;color:var(--ink)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--ink);color:#fff}
.chk{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:14px;margin:10px 0;color:#3A4B58}
.chk input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--coral)}
.f.bad .chk{color:var(--coral-ink)}
.linkbtn{background:none;border:0;padding:0;font:500 12.5px var(--mono);color:var(--blue);text-decoration:underline;cursor:pointer}
.sp{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);padding:clamp(40px,5vw,72px) 0;border-bottom:1px solid #CFDCE5}
.sp:first-child{padding-top:0}
.sp-img{grid-column:1/6;aspect-ratio:1/1;align-self:start}
.sp-body{grid-column:7/13}
.sp-body .d{margin:6px 0 20px}
@media (max-width:860px){.sp-img,.sp-body{grid-column:1/-1}.sp-body{margin-top:24px}}
.lockbox{margin-top:24px;padding:22px;background:var(--ink);color:var(--frost)}
.lockbox p{margin:0 0 16px;max-width:46ch}
.buy{margin-top:24px}
.porz{background:var(--ink);color:var(--frost);padding:22px 22px 18px}
.porz .lab{color:#9FB3C2}
.porz .pv{margin:6px 0 16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.porz .pv b{font:700 clamp(44px,5vw,72px)/1 var(--mono);letter-spacing:-.04em;color:#fff}
.porz .pv span{font:500 13px var(--mono);color:#C3CFD7}
.range{display:flex;align-items:center;gap:14px;margin:6px 0 10px}
.range input{flex:1;accent-color:var(--coral)}
.range output{font:700 15px var(--mono);min-width:56px;text-align:right}
.mini{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.mini th,.mini td{padding:10px 0;border-bottom:1px solid #CFDCE5;text-align:left}
.mini th{font:500 11.5px var(--mono);color:#4E5E6A;font-weight:500}
.mini td{text-align:right;font:700 17px var(--mono)}
.addrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--ink)}
.stepper button{width:46px;height:46px;border:0;background:transparent;font:700 20px var(--mono);cursor:pointer;color:var(--ink)}
.stepper button:active{background:var(--frost-2)}
.stepper output{min-width:42px;text-align:center;font:700 18px var(--mono)}
.note{border-left:3px solid var(--coral);padding:4px 0 4px 16px;margin:28px 0 0;color:#3A4B58;max-width:70ch}
.note b{color:var(--ink)}
.cart-t{width:100%;border-collapse:collapse;font-size:15.5px}
.cart-t th,.cart-t td{padding:14px 10px 14px 0;border-bottom:1px solid #CFDCE5;text-align:left;vertical-align:middle}
.cart-t thead th{font:500 11.5px var(--mono);color:#4E5E6A}
.cart-t td.n{font:700 16px var(--mono);text-align:right;white-space:nowrap}
.cart-t tr.trial td{color:#1F7A47}
.sum{border-top:1.5px solid var(--ink)}
.sum div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #CFDCE5;font-size:15px}
.sum div b{font:700 16px var(--mono);white-space:nowrap}
.sum .tot{border-bottom:0;padding-top:16px}
.sum .tot b{font-size:26px}
.zone{margin-top:12px;font:500 13px var(--mono);color:#3A4B58;min-height:1.4em}
.zone b{color:var(--ink)}
.pay{display:grid;gap:10px;margin:8px 0 20px}
.pay label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;border:1.5px solid #CFDCE5;padding:14px 16px;cursor:pointer;margin:0;font:600 15px var(--text);color:var(--ink)}
.pay label small{display:block;font:400 13.5px var(--text);color:#4E5E6A;margin-top:3px}
.pay label:has(input:checked){border-color:var(--ink);background:#fff}
.pay label.off{opacity:.5;cursor:not-allowed}
.pay input{accent-color:var(--coral);margin-top:3px}
.app textarea{width:100%;min-height:90px;font:500 15px var(--text);padding:12px;border:1.5px solid #CFDCE5;background:transparent;color:var(--ink);resize:vertical}
.tl{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.tl::before{content:"";position:absolute;left:12px;right:12px;top:11px;height:2px;background:#CFDCE5}
.tl li{position:relative;padding-top:36px;font:600 15px var(--text);color:#8A99A5}
.tl li::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #CFDCE5;transition:background .4s,border-color .4s}
.tl li small{display:block;font:500 11.5px var(--mono);color:#8A99A5;margin-top:4px}
.tl li.done{color:var(--ink)}
.tl li.done::before{background:var(--ink);border-color:var(--ink)}
.tl li.now{color:var(--coral-ink)}
.tl li.now::before{background:var(--coral);border-color:var(--coral);box-shadow:0 0 0 6px rgba(232,69,47,.18)}
@media (max-width:640px){.tl{grid-template-columns:1fr;gap:18px}.tl::before{left:11px;right:auto;top:12px;bottom:12px;width:2px;height:auto}.tl li{padding:0 0 0 40px}}
.acnav{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 32px}
.acnav button{font:500 12.5px var(--mono);padding:8px 11px;border:1px solid #9FB0BD;background:transparent;cursor:pointer;color:var(--ink);border-radius:2px}
.acnav button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.acsec{padding:clamp(32px,4vw,56px) 0;border-top:1.5px solid var(--ink)}
.acsec>h3{margin-bottom:6px}
.acsec>.lab{margin-bottom:20px}
.ord{display:grid;grid-template-columns:120px 1fr auto auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #CFDCE5}
.ord b{font:700 15px var(--mono)}
.ord .st{font:500 12px var(--mono);padding:4px 8px;border:1px solid currentColor;white-space:nowrap}
.ord .st.s3{color:#1F7A47}
.ord .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ord .acts .btn{padding:11px 16px;font-size:14px}
.ord .confirm{grid-column:1/-1;background:var(--ink);color:var(--frost);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ord .confirm p{margin:0}
@media (max-width:760px){.ord{grid-template-columns:1fr auto}.ord>:nth-child(2){grid-column:1/-1;order:3}.ord .acts{grid-column:1/-1;justify-content:flex-start;order:4}.ord .confirm{order:5}}
.docs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}
.docs a,.docs button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #CFDCE5;text-decoration:none;background:none;border-left:0;border-right:0;border-top:0;font:600 15.5px var(--text);color:var(--ink);cursor:pointer;text-align:left;width:100%}
.docs a span,.docs button span{font:500 11.5px var(--mono);color:#4E5E6A}
.docs a:hover,.docs button:hover{color:var(--coral-ink)}
@media (max-width:640px){.docs{grid-template-columns:1fr}}
.menu-txt{background:#FBF8F1;border:1px dashed #B9A77A;padding:18px;font-family:Georgia,serif;font-size:15px;line-height:1.55;margin:12px 0}
.ref{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ref code{font:700 clamp(24px,3vw,36px) var(--mono);letter-spacing:.02em;background:var(--ink);color:#fff;padding:10px 16px}
.chip{display:inline-block;font:500 11.5px var(--mono);padding:4px 8px;background:var(--blue);color:#fff;vertical-align:middle;margin-left:10px}
.empty{padding:28px;border:1.5px dashed #9FB0BD;color:#3A4B58}
.empty p{margin:0 0 14px}
.demo-bar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:20px;font:500 12px var(--mono);color:#4E5E6A}
.sched{display:flex;gap:14px;flex-wrap:wrap;align-items:end}
.sched .f{margin:0;min-width:180px}
.foot-proto{grid-column:1/-1;margin:20px 0 0;font:500 12px/1.6 var(--mono);color:#C3CFD7}
.foot-proto button{margin-left:10px}

/* passi dello shop e prezzi */
.steps3{list-style:none;margin:0 0 clamp(28px,4vw,48px);padding:0;display:flex;gap:0;border-bottom:1.5px solid var(--ink)}
.steps3 li{flex:1}
.steps3 a{display:flex;align-items:center;gap:10px;padding:14px 0;text-decoration:none;font:600 15px var(--text);color:#8A99A5}
.steps3 b{display:inline-grid;place-items:center;width:28px;height:28px;border:1.5px solid currentColor;border-radius:50%;font:700 13px var(--mono)}
.steps3 li.done a{color:var(--ink)}
.steps3 li.now a{color:var(--coral-ink)}
.steps3 li.now b{background:var(--coral);border-color:var(--coral);color:#fff}
.porz .pg{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px}
.porz .pg .pv b{font-size:clamp(28px,2.9vw,46px)}
.porz .pg .pv{flex-wrap:nowrap;white-space:nowrap}
@media (max-width:560px){.porz .pg{grid-template-columns:1fr;gap:4px}.porz .pg .pv b{font-size:40px}}
.steps3 + .sp{padding-top:0}
.porz .pv{margin:4px 0 14px}
.pblock{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;align-items:end;margin-top:20px;padding:20px;background:var(--ink);color:var(--frost)}
.pblock .lab{color:#9FB3C2}
.pblock b{font:700 clamp(30px,3vw,44px)/1 var(--mono);letter-spacing:-.03em;color:#fff}
.pblock .ex{margin:0 0 0 6px}
@media (max-width:480px){.steps3 a{font-size:13.5px;gap:6px}.porz .pv b{font-size:34px}}

/* pagina prodotto, informazioni, chi siamo */
.crumb{margin-bottom:22px}.crumb a{color:inherit}
.pp-top{align-items:start}
.pp-img{aspect-ratio:1/1;position:relative;display:block}
.pps{padding:clamp(40px,5vw,72px) 0;border-top:1.5px solid var(--ink);margin-top:clamp(40px,5vw,72px)}
.pps>.lab{margin-bottom:18px}
.pp-h{font:800 clamp(30px,3.2vw,48px)/1 var(--display);margin:0}
.pp-big{font:900 clamp(56px,7vw,110px)/.85 var(--display);margin:0 0 18px}
.inbox{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}
.inbox li{padding:14px 0;border-bottom:1px solid #CFDCE5;font-size:16px}
@media (max-width:640px){.inbox{grid-template-columns:1fr}}
.spec2{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;border-top:1px solid currentColor}
@media (max-width:760px){.spec2{grid-template-columns:1fr}}
.info{margin-top:clamp(48px,6vw,88px);padding-top:clamp(32px,4vw,56px);border-top:1.5px solid var(--ink)}
.info h3{margin-bottom:16px}
.info-l{border-top:1px solid #CFDCE5}
.info-l summary{font:500 16px/1.4 var(--text);padding:16px 0}
.light .faq .a{color:#3A4B58}
.info-l .a{padding-left:216px}
@media (max-width:640px){.info-l .a{padding-left:0}}
.info-l .it{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:baseline}
.info-l .it b{font:800 22px/1 var(--display)}
@media (max-width:640px){.info-l .it{grid-template-columns:1fr;gap:4px}}
.rel{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;margin-top:clamp(48px,6vw,88px);padding:20px;background:#fff;border:1px solid #DCE6ED;text-decoration:none;color:var(--ink)}
.rel .ph{aspect-ratio:1/1;display:block}
.rel b{display:block;font:900 clamp(40px,4vw,64px)/.9 var(--display);margin:4px 0 8px}
.rel:hover b{color:var(--coral-ink)}
.incart{margin-top:10px}.incart a{color:var(--coral-ink)}
.porz .pv span{margin-left:6px}
.pblock .iva{font:500 12px var(--mono);color:#C3CFD7;margin-left:6px}
.sp-body h2 a{text-decoration:none}.sp-body h2 a:hover{color:var(--coral-ink)}
.sp-img{display:block}
.placeholder{margin-top:20px;padding:14px 16px;border:1.5px dashed #B8962A;background:#FFF8DE;font:500 13px var(--mono);color:#6B5300}
.num a.lab{text-decoration:none}.num a.lab:hover{color:var(--frost)}

/* responsive generale */
@media (max-width:767px){
  .g12>*{grid-column:1/-1!important;grid-row:auto!important;margin-top:0;order:0!important}
  .g12>*+*{margin-top:28px}
  .g12.nums{grid-template-columns:1fr 1fr;column-gap:16px}
  .g12.nums>.num{grid-column:auto!important;margin-top:0!important;border-right:0;border-bottom:1px solid rgba(238,243,246,.14);padding:20px 0 8px}
  .num .big{margin:10px 0 12px;font-size:64px}
  .num p{font-size:14.5px}
  .spec div{grid-template-columns:116px 1fr}
  .vlist a{grid-template-columns:32px 1fr auto}
  .vlist a .zh{display:none}
  .faq{position:static}
  body{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .w>span,.fade{transform:none!important;opacity:1!important}
}

/* ------------------------------------------------------------------ */
/* Menu: se è assegnato un menu WordPress (wp_nav_menu), il markup usa */
/* <ul>/<li>: lo riallineo al layout orizzontale del prototipo.        */
.nav ul,.nav .nav-primary{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav li{list-style:none;margin:0}
@media (max-width:980px){
  .nav ul,.nav .nav-primary{flex-direction:column;justify-content:center;gap:0;height:100%}
  .nav li a{font:900 clamp(40px,11vw,64px)/1 var(--display)!important;padding:8px 0!important}
}

/* ------------------------------------------------------------------ */
/* WooCommerce: il contenuto delle pagine shop/carrello/checkout/account */
/* vive dentro <main> con il respiro del tema.                          */
.woocommerce-page main#contenuto,
body.woocommerce main#contenuto{padding:clamp(104px,13vh,150px) var(--gx) clamp(80px,10vw,140px);max-width:1600px;margin:0 auto}
.woocommerce-page h1,.woocommerce h1{font-family:var(--display);font-weight:900;line-height:.9;font-size:clamp(40px,6vw,88px);letter-spacing:-.012em;margin:0 0 .4em}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(20px,3vw,40px);list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{text-align:left}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--coral);color:#fff;border:0;border-radius:2px;font:600 15px var(--text);padding:14px 22px;cursor:pointer;transition:filter .2s}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(1.08)}
.woocommerce .price,.woocommerce ins{color:var(--ink);font-weight:700}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--coral)}

/* ===== Scheda prodotto: form del plugin dentro il box acquisto ===== */
.buy-form{margin-top:16px}
.buy-form form.cart{margin:0}
.buy-form .mbgpv-quantity-label strong{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
.buy-form .quantity{margin:8px 0 14px}
.buy-form .quantity input.qty{width:104px;padding:13px;border:1.5px solid var(--ink);border-radius:2px;background:#fff;font:700 19px var(--mono);color:var(--ink)}
.buy-form .mbgpv-live-summary{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;font:500 14px var(--text);color:#3A4B58}
.buy-form .mbgpv-live-summary strong{color:var(--ink)}
.buy-form .single_add_to_cart_button{width:100%;font-size:17px!important;padding:16px!important;text-align:center}
/* pulsante d'acquisto sempre corallo (non il viola di default WooCommerce) */
.woocommerce .button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,.woocommerce #respond input#submit.alt{background:var(--coral)!important;color:#fff!important;border:0;border-radius:2px;font:600 15px var(--text);cursor:pointer}
.woocommerce .button.alt:hover,.single_add_to_cart_button:hover{filter:brightness(1.08)}

/* ===== Barra d'acquisto sempre presente ===== */
.buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(10,36,54,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12);transform:translateY(110%);transition:transform .45s var(--ease);will-change:transform}
.buy-bar.show{transform:none}
.buy-bar-in{max-width:1600px;margin:0 auto;padding:13px var(--gx);display:flex;align-items:center;justify-content:space-between;gap:16px}
.bb-info{display:flex;flex-direction:column;line-height:1.25;color:var(--frost);min-width:0}
.bb-info strong{font:700 16px var(--mono);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bb-info span{font:500 13px var(--mono);color:#9fb3c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buy-bar .btn{white-space:nowrap;flex:none}
@media(max-width:560px){.buy-bar-in{padding:10px 16px;gap:12px}.bb-info span{font-size:11.5px}.buy-bar .btn{padding:12px 18px}}

/* ===== Box prezzi scheda: impilati e leggibili (niente taglio «+ IVA») ===== */
.app .porz .pg{grid-template-columns:1fr;gap:16px;margin-bottom:10px}
.app .porz .pg>div{display:flex;flex-direction:column}
.app .porz .pg .pv{flex-wrap:wrap;white-space:normal;align-items:baseline;gap:8px;margin:4px 0 0}
.app .porz .pg .pv b{font-size:clamp(34px,3.4vw,46px);line-height:1}
.app .porz .pv span{white-space:nowrap}

/* ===== Prodotto e shop: sezioni full-width (annulla il contenitore 1600 di WooCommerce) ===== */
.single-product main#contenuto,.post-type-archive-product main#contenuto{max-width:none;margin:0;padding:0}

/* ============================================================
   CARRELLO / CHECKOUT (blocchi WooCommerce) — stile del tema
   ============================================================ */
.woocommerce-cart main#contenuto,.woocommerce-checkout main#contenuto{padding:clamp(100px,12vh,150px) var(--gx) clamp(80px,10vw,130px)}
.wc-block-cart,.wc-block-checkout,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--frost)}
.wc-block-components-sidebar-layout{gap:clamp(28px,4vw,64px)}
/* intestazioni e righe prodotto */
.wc-block-cart-items__header{font:600 11.5px var(--mono)!important;text-transform:uppercase;letter-spacing:.05em;color:#9fb3c2!important;border-bottom:1px solid rgba(255,255,255,.2)!important;padding-bottom:14px}
.wc-block-cart-items__row{border-top:1px solid rgba(255,255,255,.12)!important;padding:22px 0!important}
.wc-block-components-product-name{font:700 clamp(19px,1.7vw,24px)/1.1 var(--display)!important;color:var(--frost)!important;text-decoration:none}
.wc-block-cart-item__prices,.wc-block-components-product-price,.wc-block-components-product-price__value,.wc-block-formatted-money-amount{color:var(--frost)!important;font-family:var(--mono)!important}
.wc-block-components-product-metadata,.wc-block-components-product-metadata__description{color:#9fb3c2!important;font-size:13.5px!important}
.wc-block-cart-item__image img{border-radius:3px}
/* quantità */
.wc-block-components-quantity-selector{border:1.5px solid rgba(255,255,255,.4)!important;border-radius:2px}
.wc-block-components-quantity-selector__input,.wc-block-components-quantity-selector__button{color:var(--frost)!important;font-family:var(--mono)!important}
/* box totali (sidebar) */
.wc-block-cart__sidebar .wc-block-components-sidebar,.wc-block-checkout__sidebar .wc-block-components-sidebar{background:var(--ink-2);border:1px solid rgba(255,255,255,.14);padding:clamp(20px,2.4vw,32px);border-radius:4px}
.wc-block-cart__totals-title,.wc-block-components-totals-item__label{font:500 13px var(--mono)!important;color:#cdd8df!important}
.wc-block-components-totals-item{padding:10px 0!important}
.wc-block-components-totals-item__value{font-family:var(--mono)!important;color:var(--frost)!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:clamp(22px,2.4vw,30px)!important}
/* pulsanti corallo */
.wc-block-cart__submit-button,.wc-block-components-button.contained,.wc-block-components-button.wc-block-components-button{background:var(--coral)!important;color:#fff!important;border-radius:2px!important;font:600 16px var(--text)!important}
.wc-block-components-button.contained:hover{filter:brightness(1.08)}
/* input e select del checkout */
.wc-block-components-text-input input,.wc-block-components-text-input textarea,.wc-block-components-select select,.wc-block-components-combobox input{background:rgba(255,255,255,.06)!important;border:1.5px solid rgba(255,255,255,.28)!important;color:var(--frost)!important;border-radius:2px}
.wc-block-components-text-input input:focus{border-color:var(--coral)!important}
.wc-block-components-text-input label,.wc-block-components-checkout-step__title,.wc-block-components-title{color:var(--frost)!important}
.wc-block-components-checkout-step__description,.wc-block-components-text-input.is-active label{color:#9fb3c2!important}
.wc-block-checkout__form .wc-block-components-checkout-step{border-color:rgba(255,255,255,.14)!important}

/* ============================================================
   FASE 1 — leggibilità e contrasto (scheda/shop)
   ============================================================ */
.single-product .app p,.post-type-archive-product .app p,
.single-product .app .dim,.post-type-archive-product .app .dim{font-size:16px}
.single-product .app .body-l,.post-type-archive-product .app .body-l{font-size:clamp(18px,1.5vw,21px)}
/* occhielli/breadcrumb su fondo chiaro: contrasto adeguato (AA) */
.s.light .app .lab,.s.light .app .crumb,.s.light .app .crumb a{color:#51616d}
/* ma le etichette dentro il box scuro restano chiare */
.porz .lab,.porz .lab a{color:#9FB3C2}
.app .spec dt,.app .prod-spec dt{color:var(--coral)}
/* paragrafi non troppo larghi */
.single-product .app .pps p,.single-product .app .pp-top p{max-width:60ch}

/* ============================================================
   FASE 2 — mobile: titolo e box d'acquisto PRIMA dell'immagine
   ============================================================ */
@media(max-width:860px){
  .single-product .pp-top .c-5{order:1}
  .single-product .pp-top .pp-img{order:3;margin-top:28px;aspect-ratio:4/3}
  .post-type-archive-product .sp-img{aspect-ratio:4/3}
}

/* correzione: dentro il box acquisto scuro i testi restano chiari (batte la regola di contrasto chiaro) */
.s.light .app .porz .lab,.s.light .app .porz label,.s.light .app .porz p,.s.light .app .porz output{color:#9FB3C2}
.s.light .app .porz .pv b,.s.light .app .porz b{color:#fff}

/* ============================================================
   CARRELLO classico come il mockup (vCart)
   ============================================================ */
.woocommerce-cart main#contenuto{max-width:none;margin:0;padding:0}
.app table.shop_table{border:0;border-radius:0;margin:0;border-collapse:collapse;width:100%}
.app table.shop_table th,.app table.shop_table td{border-left:0;border-right:0;border-top:0;background:transparent}
.app .cart-t{font-size:16px}
.app .cart-t thead th{font:500 12px var(--mono);color:#51616d;padding:12px 10px 12px 0;border-bottom:1.5px solid var(--ink)}
.app .cart-t td{padding:18px 10px 18px 0;border-bottom:1px solid #CFDCE5;vertical-align:middle;color:var(--ink)}
.app .cart-t td.product-name b{font:800 clamp(22px,2vw,28px)/1 var(--display)}
.app .cart-t td.product-name b a{color:var(--ink);text-decoration:none}
.app .cart-t td.product-name b a:hover{color:var(--coral-ink)}
.app .cart-t td.product-name .lab{display:inline-block;margin-top:6px;color:#51616d}
.app .cart-t td.n{font:700 16px var(--mono);text-align:right;white-space:nowrap}
.app .cart-t th.product-weight,.app .cart-t th.product-subtotal{text-align:right}
.app .cart-t td.product-remove{width:40px;text-align:right}
.app .cart-t a.remove{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#51616d!important;font-size:22px;line-height:1;text-decoration:none;background:transparent}
.app .cart-t a.remove:hover{background:var(--coral)!important;color:#fff!important}
.app .stepper .quantity{display:inline-flex;margin:0}
.app .stepper input.qty{width:44px;height:46px;border:0;padding:0;text-align:center;font:700 18px var(--mono);color:var(--ink);background:transparent;-moz-appearance:textfield;appearance:textfield}
.app .stepper input.qty::-webkit-outer-spin-button,.app .stepper input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.app .cart-t tr.trial td{color:#1F7A47;font-size:15px}
.app .cart-t td.actions{padding:18px 0;border-bottom:0}
.app .cart-t .coupon{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.app .cart-t .coupon input{flex:1;min-width:200px;max-width:340px;font:500 15px var(--text);padding:12px 0;border:0;border-bottom:1.5px solid var(--ink);background:transparent;color:var(--ink)}
.app .cart-t .coupon input:focus{outline:none;border-bottom-color:var(--coral)}
.app .cart-t .update-cart{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app .cart_totals{position:sticky;top:110px}
.app .cart_totals h3{margin-bottom:18px}
.app .cart_totals .zone{margin:6px 0 18px}
.app .sum-t{border-top:1.5px solid var(--ink)!important}
.app .sum-t th{font:500 15px var(--text);color:#3A4B58;text-align:left;padding:11px 0;border-bottom:1px solid #CFDCE5}
.app .sum-t td{font:700 16px var(--mono);text-align:right;padding:11px 0;border-bottom:1px solid #CFDCE5;color:var(--ink)}
.app .sum-t tr.order-total th,.app .sum-t tr.order-total td{border-bottom:0;padding-top:16px}
.app .sum-t tr.order-total td{font-size:26px}
.app .sum-t tr.order-total small{display:block;font:500 12px var(--text);color:#51616d}
.app .wc-proceed-to-checkout{padding:0;margin-top:16px}
.app .wc-proceed-to-checkout .checkout-button{display:flex;width:100%;justify-content:center;font-size:17px;padding:17px 22px}
.app .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.app .woocommerce-message,.app .woocommerce-info,.app .woocommerce-error{background:#fff;color:var(--ink);border-top:3px solid var(--coral);padding:14px 18px;margin:0 0 24px;list-style:none}
.app .woocommerce-message a.button,.app .woocommerce-info a.button{float:right;background:none!important;color:var(--coral-ink)!important;padding:0!important;text-decoration:underline}
@media(max-width:640px){
  .app .cart-t thead{display:none}
  .app .cart-t tr.cart_item{display:grid;grid-template-columns:1fr auto;gap:12px 16px;padding:18px 0;border-bottom:1px solid #CFDCE5}
  .app .cart-t tr.cart_item td{border:0;padding:0}
  .app .cart-t td.product-name{grid-column:1/2}
  .app .cart-t td.product-remove{grid-column:2;grid-row:1;align-self:start}
  .app .cart-t td.product-quantity{grid-column:1/-1}
  .app .cart-t td.n{text-align:left}
  .app .cart-t td.n::before{content:attr(data-title);display:block;font:500 12px var(--mono);color:#51616d;margin-bottom:2px}
  .app .cart-t tr.trial,.app .cart-t tr.cart-actions-row,.app .cart-t tr.trial td,.app .cart-t tr.cart-actions-row td{display:block}
  .app .cart_totals{position:static}
}
/* il CSS di WooCommerce mette i totali al 48% flottanti: qui riempiono la colonna */
.app .cart-collaterals,.app .cart-collaterals .cart_totals,.app .cart-collaterals .cross-sells{float:none;width:100%}
.app .sum-t tr.shipping td,.app .sum-t tr.woocommerce-shipping-totals td{font:500 14px/1.4 var(--text);text-align:right;color:#3A4B58}
.app .sum-t tr.shipping th,.app .sum-t tr.woocommerce-shipping-totals th{vertical-align:top}
/* notifiche WooCommerce: niente icona sovrapposta al testo */
.app .woocommerce-message::before,.app .woocommerce-info::before,.app .woocommerce-error::before{display:none}
.app .woocommerce-message,.app .woocommerce-info,.app .woocommerce-error{padding-left:18px;font:500 15px var(--text)}
.app .woocommerce-message:focus,.app .woocommerce-info:focus,.app .woocommerce-error:focus{outline:2px solid var(--coral);outline-offset:2px}
.app .sum-t tr.order-total th small{display:block;font:500 12px var(--mono);color:#51616d;margin-top:2px}

/* ============================================================
   CHECKOUT classico come il mockup (vCheckout)
   ============================================================ */
.woocommerce-checkout main#contenuto{max-width:none;margin:0;padding:0}
.app form.checkout{margin:0}
.app #customer_details h3,.app .checkout-side h3{font:800 clamp(26px,2.4vw,36px)/1 var(--display);margin:0 0 20px;color:var(--ink)}
.app #customer_details .woocommerce-shipping-fields h3,.app #customer_details .mbcm-delivery-title{margin-top:36px}
/* griglia campi: due colonne, larghi di default */
.app .form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.app .form-grid>.form-row{grid-column:1/-1;float:none;width:auto;margin:0 0 20px;padding:0}
.app .form-grid>.form-row-first{grid-column:1/2}
.app .form-grid>.form-row-last{grid-column:2/3}
.app #codice_fiscale_iva_field{grid-column:1/2}.app #sdi_pec_field{grid-column:2/3}
.app #billing_city_field,.app #shipping_city_field{grid-column:1/2}.app #billing_postcode_field,.app #shipping_postcode_field{grid-column:2/3}
.app #billing_state_field,.app #shipping_state_field{grid-column:1/2}
.app .mg-auto-phone,.app #billing_phone_field{display:none!important}
@media(max-width:560px){.app .form-grid{grid-template-columns:1fr}.app .form-grid>.form-row{grid-column:1/-1!important}}
/* etichette e campi come .form del mockup */
.app form.checkout .form-row label{display:block;font:500 12px var(--mono);color:#51616d;margin:0 0 4px;line-height:1.4}
.app form.checkout .form-row label .required{color:var(--coral-ink);text-decoration:none;border:0}
.app form.checkout .form-row label .optional{color:#7a8892}
.app form.checkout .input-text,.app form.checkout select,.app form.checkout textarea{width:100%;font:500 16px var(--text);padding:12px 0;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);box-shadow:none;min-height:0}
.app form.checkout textarea{min-height:84px;border:1.5px solid #CFDCE5;padding:12px}
.app form.checkout .input-text:focus,.app form.checkout select:focus,.app form.checkout textarea:focus{outline:none;border-color:var(--coral)}
.app form.checkout .woocommerce-invalid .input-text,.app form.checkout .woocommerce-invalid select{border-color:var(--coral-ink)}
.app form.checkout .woocommerce-validated .input-text{border-color:var(--ink)}
.app .select2-container .select2-selection--single{height:46px;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent}
.app .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding:0;color:var(--ink);font:500 16px var(--text)}
.app .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
.app form.checkout .form-row .woocommerce-input-wrapper strong{font:500 16px var(--text);display:block;padding:12px 0;border-bottom:1.5px solid #CFDCE5}
/* checkbox (indirizzo diverso, account, conferma consegna, termini) */
.app form.checkout label.checkbox,.app form.checkout .woocommerce-form__label-for-checkbox{display:grid!important;grid-template-columns:22px 1fr;gap:10px;align-items:start;font:500 15px/1.45 var(--text)!important;color:#3A4B58!important;cursor:pointer}
.app form.checkout input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;accent-color:var(--coral)}
.app #ship-to-different-address{font-size:16px!important;margin-top:28px!important}
.app #ship-to-different-address span{font:600 16px var(--text)}
/* sezione consegna del plugin: senza riquadro, nel flusso della colonna */
.app .mbcm-delivery-wrap{margin:36px 0 0!important;padding:28px 0 0!important;border:0!important;border-top:1.5px solid var(--ink)!important;border-radius:0!important;background:transparent!important}
.app .mbcm-delivery-intro,.app .mbcm-delivery-days-label{font:500 15px/1.5 var(--text)!important;color:#3A4B58!important;margin:0 0 16px!important}
.app .mbcm-delivery-confirm label{font-size:14px!important}
/* colonna destra: riepilogo e pagamento */
.app .checkout-side{position:sticky;top:110px}
.app .checkout-side .zone{margin:-8px 0 18px}
.app .woocommerce-checkout-review-order-table{border-top:1.5px solid var(--ink)!important;margin:0 0 20px}
.app .woocommerce-checkout-review-order-table th,.app .woocommerce-checkout-review-order-table td{padding:11px 0;border-bottom:1px solid #CFDCE5;font:500 15px var(--text);color:#3A4B58;text-align:left;vertical-align:top}
.app .woocommerce-checkout-review-order-table td:last-child,.app .woocommerce-checkout-review-order-table th:last-child{text-align:right}
.app .woocommerce-checkout-review-order-table thead th{font:500 12px var(--mono);color:#51616d}
.app .woocommerce-checkout-review-order-table td.product-name{color:var(--ink);font-weight:600}
.app .woocommerce-checkout-review-order-table .product-quantity{font-weight:500;color:#51616d}
.app .woocommerce-checkout-review-order-table dl.variation{margin:4px 0 0;font:500 12.5px var(--text);color:#51616d}
.app .woocommerce-checkout-review-order-table dl.variation dt,.app .woocommerce-checkout-review-order-table dl.variation dd{display:inline;margin:0;float:none}
.app .woocommerce-checkout-review-order-table dl.variation dd p{display:inline;margin:0}
.app .woocommerce-checkout-review-order-table td .amount,.app .woocommerce-checkout-review-order-table td.product-total{font:700 16px var(--mono);color:var(--ink)}
.app .woocommerce-checkout-review-order-table tr.order-total th,.app .woocommerce-checkout-review-order-table tr.order-total td{border-bottom:0;padding-top:16px;color:var(--ink);font-weight:600}
.app .woocommerce-checkout-review-order-table tr.order-total .amount{font-size:26px}
.app .woocommerce-checkout-review-order-table #shipping_method{list-style:none;margin:0;padding:0;text-align:right}
/* metodi di pagamento come .pay del mockup */
.app #payment{background:transparent!important;border-radius:0}
.app #payment ul.payment_methods{padding:0!important;border:0!important;margin:0 0 16px}
.app #payment ul.payment_methods>li{list-style:none;border:1.5px solid #CFDCE5;padding:14px 16px!important;margin:0 0 10px;background:#fff}
.app #payment ul.payment_methods>li:has(input:checked){border-color:var(--ink)}
.app #payment ul.payment_methods>li>label{font:600 15px var(--text);color:var(--ink)}
.app #payment div.payment_box{background:transparent!important;padding:12px 0 0!important;margin:0!important;color:#3A4B58;font-size:14px}
.app #payment div.payment_box::before{display:none!important}
.app #payment .place-order{padding:0!important;margin:0}
.app .woocommerce-terms-and-conditions-wrapper{margin:6px 0 14px;font-size:14px;color:#3A4B58}
.app .woocommerce-privacy-policy-text p{font-size:13px;color:#51616d}
.app #place_order{display:flex;width:100%;justify-content:center;font:600 17px var(--text)!important;padding:17px 22px!important;margin-top:10px;background:var(--coral)!important;color:#fff!important;border-radius:2px!important;float:none}
.app #place_order:hover{filter:brightness(1.08)}
.app .woocommerce-NoticeGroup-checkout{grid-column:1/-1}
.app .woocommerce-error li{margin:0 0 4px}
.app form.checkout.processing{opacity:.7}
@media(max-width:860px){.app .checkout-side{position:static}}
/* dettagli del peso variabile nel riepilogo: etichetta e valore sulla stessa riga (batte i float di WooCommerce) */
.app .woocommerce-checkout-review-order-table dl.variation,.app .cart-t dl.variation{display:grid!important;grid-template-columns:auto 1fr;gap:0 6px;margin:4px 0 0}
.app .woocommerce-checkout-review-order-table dl.variation dt,.app .woocommerce-checkout-review-order-table dl.variation dd{float:none!important;clear:none!important;display:block!important;margin:0!important;padding:0!important;font:500 12.5px/1.5 var(--text);color:#51616d}
.app .woocommerce-checkout-review-order-table dl.variation dd p{display:block!important;margin:0!important}
.app .woocommerce-form-coupon-toggle .woocommerce-info{margin:0 0 24px}
.app .checkout_coupon{border:1.5px solid #CFDCE5!important;border-radius:0!important;padding:18px!important;margin:0 0 24px!important;display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.app .checkout_coupon p{margin:0;float:none!important;width:auto!important}
/* spunte obbligatorie: l'asterisco resta in riga col testo, non sotto la casella */
.app form.checkout label.checkbox>abbr.required,.app form.checkout .woocommerce-form__label-for-checkbox>abbr.required{grid-column:2;margin-top:-4px;line-height:1}
.app form.checkout label.checkbox>span.optional{grid-column:2}

/* ============================================================
   CONTRASTO AA su tutto il sito
   ============================================================ */
/* corallo usato come TESTO: chiaro sul blu, scuro sul chiaro (4.5:1 in entrambi) */
:root{--coral-text:#F26A55}
.s.light,.light,.app,.pane-w{--coral-text:var(--coral-ink)}
.spec dt,.steps li::before,.mq em,.hz .pane .n,.app .spec dt,.app .prod-spec dt,.prod-proto a{color:var(--coral-text)}
.blue .spec dt{color:#9FB8C8}
/* pulsanti e badge con testo bianco su corallo: tono appena più profondo (4.5:1) */
.btn-c,.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce .button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,#place_order,.checkout-button,.bar .cartl b{background:#D93D27!important}
.btn-c:hover,.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover,#place_order:hover,.checkout-button:hover{background:var(--coral-ink)!important;filter:none}
/* passi del percorso d'acquisto non ancora fatti */
.steps3 li a{color:#5F6E79}
.steps3 li.done a{color:var(--ink)}
.steps3 li.now a{color:var(--coral-ink)}

/* ============================================================
   GIRO BUG multi-device (inspector 22/10)
   ============================================================ */
/* aria tra le sezioni nel range dei siti premiati (~260px tra i contenuti, non 400) */
.s{padding:clamp(80px,9vw,140px) 0}
/* specifiche: le celle lunghe vanno a capo (niente scroll orizzontale su tablet) */
.spec div{grid-template-columns:minmax(0,150px) minmax(0,1fr)}
.spec dd{min-width:0;overflow-wrap:anywhere}
@media(max-width:767px){.spec div{grid-template-columns:minmax(0,116px) minmax(0,1fr)}}
/* titoli: fluidi su tablet e telefono, al massimo due-tre righe */
@media(max-width:900px){.d-xl{font-size:clamp(44px,9.2vw,96px)}.d-l{font-size:clamp(36px,6.6vw,72px)}}
@media(max-width:600px){.thaw h1.d,.d-xxl{font-size:clamp(40px,11.5vw,72px)}}
/* footer leggibile */
footer{font-size:16px}
/* riduci movimento: il messaggio a metà scongelamento non ha senso senza la scena */
@media (prefers-reduced-motion:reduce){.thaw .ready{display:none}}

/* scheda e shop: sezioni a tutta larghezza. Serve body.* per battere
   «body.woocommerce main#contenuto» (padding + 1600px) che le rendeva un riquadro rientrato. */
body.single-product main#contenuto,body.post-type-archive-product main#contenuto,body.woocommerce-cart main#contenuto,body.woocommerce-checkout main#contenuto,body.woocommerce-account main#contenuto{max-width:none;margin:0;padding:0}

/* ============================================================
   AREA CLIENTE come il mockup (vEntra / vArea)
   ============================================================ */
.app .woocommerce-MyAccount-navigation,.app .woocommerce-MyAccount-content{float:none!important;width:100%!important}
.app .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.app .woocommerce-MyAccount-navigation li{margin:0}
.app .woocommerce-MyAccount-navigation a{display:block;font:500 13px var(--mono);padding:9px 12px;border:1px solid #9FB0BD;color:var(--ink);text-decoration:none;border-radius:2px}
.app .woocommerce-MyAccount-navigation a:hover,.app .woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff;border-color:var(--ink)}
.app .dash-hello{margin:0 0 16px}.app .dash-hello a{color:var(--coral-ink)}
.app .dash-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.app .woocommerce-MyAccount-content>h2,.app .woocommerce-MyAccount-content h3,.app .woocommerce-column__title{font:800 clamp(24px,2.2vw,32px)/1.05 var(--display);color:var(--ink);margin:0 0 14px}
/* elenco ordini */
.app .woocommerce-orders-table{font-size:15px}
.app .woocommerce-orders-table th{font:500 12px var(--mono);color:#51616d;text-align:left;padding:12px 10px 12px 0;border-bottom:1.5px solid var(--ink)}
.app .woocommerce-orders-table td{padding:16px 10px 16px 0;border-bottom:1px solid #CFDCE5;color:var(--ink);vertical-align:middle}
.app .woocommerce-orders-table__cell-order-number a{font:700 15px var(--mono);color:var(--ink)}
.app .woocommerce-orders-table__cell-order-actions{text-align:right;white-space:nowrap}
.app .woocommerce-orders-table .button{display:inline-block;margin:0 0 0 8px;padding:10px 14px!important;font-size:14px!important}
.app .woocommerce-orders-table .button.view{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important}
@media(max-width:640px){.app .woocommerce-orders-table thead{display:none}.app .woocommerce-orders-table tr{display:block;padding:14px 0;border-bottom:1px solid #CFDCE5}.app .woocommerce-orders-table td{display:flex;justify-content:space-between;border:0;padding:4px 0}.app .woocommerce-orders-table td::before{content:attr(data-title);font:500 12px var(--mono);color:#51616d}.app .woocommerce-orders-table__cell-order-actions{justify-content:flex-start!important;gap:8px}.app .woocommerce-orders-table .button{margin:6px 8px 0 0}}
/* ordine: dettaglio e indirizzi */
.app .woocommerce-order-details .shop_table th,.app .woocommerce-order-details .shop_table td{padding:11px 0;border-bottom:1px solid #CFDCE5;text-align:left;color:var(--ink)}
.app .woocommerce-order-details .shop_table td:last-child{text-align:right;font-family:var(--mono)}
.app .woocommerce-customer-details address{border:1.5px solid #CFDCE5!important;border-radius:0!important;padding:16px!important;font-style:normal;color:var(--ink)}
.app .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.app .woocommerce-Addresses .woocommerce-Address{float:none!important;width:auto!important}
.app .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline}
.app .woocommerce-Address-title a{font:500 13px var(--mono);color:var(--coral-ink)}
@media(max-width:640px){.app .woocommerce-Addresses{grid-template-columns:1fr}}
/* moduli (accesso, registrazione, indirizzi, dati): come i campi del checkout */
.app form.login .form-row,.app form.register .form-row,.app .woocommerce-address-fields .form-row,.app form.woocommerce-EditAccountForm .form-row{float:none;width:auto;margin:0 0 20px;padding:0}
.app form.login label,.app form.register label,.app .woocommerce-address-fields label,.app form.woocommerce-EditAccountForm label{display:block;font:500 12px var(--mono);color:#51616d;margin:0 0 4px}
.app form.login .input-text,.app form.register .input-text,.app .woocommerce-address-fields .input-text,.app .woocommerce-address-fields select,.app form.woocommerce-EditAccountForm .input-text{width:100%;font:500 16px var(--text);padding:12px 0;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);box-shadow:none}
.app form.login .input-text:focus,.app form.register .input-text:focus,.app .woocommerce-address-fields .input-text:focus,.app form.woocommerce-EditAccountForm .input-text:focus{outline:none;border-color:var(--coral)}
.app form.login .woocommerce-form-login__rememberme{display:flex!important;gap:10px;align-items:center;font:500 15px var(--text)!important;color:#3A4B58!important;margin:4px 0 18px}
.app form.login .woocommerce-form-login__submit{display:flex;width:100%;justify-content:center;font-size:17px;padding:16px 22px}
.app .lost_password a{font:500 13px var(--mono);color:var(--coral-ink)}
.app .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.app .woocommerce-address-fields__field-wrapper>.form-row{grid-column:1/-1}
.app .woocommerce-address-fields__field-wrapper>.form-row-first{grid-column:1/2}.app .woocommerce-address-fields__field-wrapper>.form-row-last{grid-column:2/3}
.app form.woocommerce-EditAccountForm fieldset{border:0;padding:0;margin:24px 0 0}
.app form.woocommerce-EditAccountForm legend{font:800 24px var(--display);color:var(--ink);margin-bottom:12px}
.app .woocommerce-MyAccount-content .button[type=submit],.app .woocommerce-MyAccount-content button.button{margin-top:8px}
@media(max-width:560px){.app .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}.app .woocommerce-address-fields__field-wrapper>.form-row{grid-column:1/-1!important}}
/* il CSS di WooCommerce disegna un riquadro attorno ai form di accesso/registrazione: qui sono già in un pannello */
.app form.login,.app form.register,.app form.checkout_coupon.woocommerce-form-coupon{border:0!important;padding:0!important;margin:0!important;border-radius:0!important}
.app form.login .form-row-first,.app form.login .form-row-last{float:none;width:auto}

/* ===== Pagine di testo (legali, generiche): leggibili, misura da lettura ===== */
.entry-content.legal{max-width:72ch;font:400 17px/1.65 var(--text);color:#22313C}
.entry-content.legal h2{font:800 clamp(28px,3vw,40px)/1.05 var(--display);color:var(--ink);margin:1.6em 0 .5em}
.entry-content.legal h2:first-child{margin-top:0}
.entry-content.legal h3{font:800 clamp(21px,2vw,26px)/1.15 var(--display);color:var(--ink);margin:1.4em 0 .4em}
.entry-content.legal h4,.entry-content.legal h5{font:600 17px/1.4 var(--text);color:var(--ink);margin:1.2em 0 .3em}
.entry-content.legal p,.entry-content.legal li{margin:0 0 .8em}
.entry-content.legal ul,.entry-content.legal ol{padding-left:1.2em;margin:0 0 1em}
.entry-content.legal a{color:var(--coral-ink);overflow-wrap:anywhere}
.entry-content.legal table{width:100%;border-collapse:collapse;font-size:15px;margin:1em 0}
.entry-content.legal th,.entry-content.legal td{border-bottom:1px solid #CFDCE5;padding:8px 8px 8px 0;text-align:left;vertical-align:top}
/* video tutorial a tutta colonna, 16:9 */
.video-frame{position:relative;aspect-ratio:16/9;background:#0d2b40}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.light .steps h3{color:var(--ink)}.light .steps p{color:#3A4B58}

/* ============================================================
   COLORI CONSAPEVOLI DEL FONDO (contrasto AA ovunque)
   ============================================================ */
/* numeri grandi: bianchi sul blu, inchiostro sul chiaro */
.light .num .big,.light .num .big sup{color:var(--ink)}
.light .num p{color:#3A4B58}
/* passi del protocollo: scuri sul chiaro (default), chiari sul blu */
.s:not(.light) .steps p,.ph-head .steps p{color:#A9B7C1}
.blue .steps p{color:#C3D0D9}
.s:not(.light) .steps h3,.blue .steps h3{color:var(--frost)}
/* testo secondario (.dim) ed etichette (.lab): scuri su chiaro e nei pannelli bianchi */
.light .dim,.pane-w .dim,.light .lab,.pane-w .lab{color:#4E5E6A}
/* eccezioni: box scuri dentro le sezioni chiare restano chiari */
.light .porz .lab,.light .porz p,.light .pblock .lab,.light .pblock p{color:#9FB3C2}
.light .pblock b{color:#fff}
/* scena di scongelamento: il messaggio «Rosso vivo…» è un enunciato, non un titolo: due righe al massimo */
.thaw .ready{max-width:min(560px,86vw)}
.thaw .ready .d{font-size:clamp(28px,3vw,44px);line-height:1}
/* su tablet e telefono i blocchi «wide-md» vanno a tutta larghezza, uno sotto l'altro */
@media(max-width:900px){.g12>.wide-md{grid-column:1/-1!important}.g12>div.wide-md{margin-top:20px}}
/* mappa reale (OpenStreetMap) nella sezione «Dove siamo» */
.map-frame{position:relative;aspect-ratio:4/3;background:#0d2b40;align-self:start}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85)}
.map-frame figcaption{position:absolute;left:12px;bottom:12px;font:500 12px var(--mono);color:var(--frost);background:rgba(10,36,54,.86);padding:5px 8px}
@media(max-width:900px){.map-frame{grid-column:1/-1!important;grid-row:auto!important;margin-top:32px!important}}
/* la didascalia non deve coprire l'attribuzione di OpenStreetMap (obbligo di licenza, in basso) */
.map-frame figcaption{top:12px;bottom:auto}

/* ===== contrasto: ultimi casi (tabelle, chiusure corallo) ===== */
.light .bolla thead th{color:#4E5E6A}
.bolla .us{color:var(--coral-text)}
/* chiusure corallo: testo bianco a 4.5:1 (stesso tono dei pulsanti) */
.fin{background:#D93D27}
/* area cliente: testo leggibile */
.app .woocommerce-MyAccount-navigation a{font-size:14px}
.app .dash-hello,.app .acsec>.lab{font-size:15px}
.app .ord .lab{font-size:14px}
/* scheda su telefono: la barra d'acquisto c'è da subito, il fondo pagina non resta coperto */
@media(max-width:860px){body.single-product footer{padding-bottom:150px}}
/* il numero grande di «Il gesto» non va schiacciato dalla regola dei paragrafi a 16px */
.single-product .app p.pp-big,.post-type-archive-product .app p.pp-big{font-size:clamp(56px,7vw,110px);line-height:.85}
/* spunte obbligatorie: WooCommerce usa <span class="required">; il segno resta nascosto (la richiesta è evidente e l'errore lo dice) */
.app form.checkout label.checkbox .required,.app form.checkout .woocommerce-form__label-for-checkbox .required{display:none}
/* area cliente da ospite: testo più grande */
.app form.login label,.app form.register label{font-size:14px}
.woocommerce-account .app .lab,.woocommerce-account .app .note{font-size:15px}
