/* Mini-carrello (home e pagine prodotto) + scheda prodotto con "Aggiungi al carrello" */
.mc-ov{position:fixed;inset:0;background:rgba(10,8,6,.45);z-index:700}
.mc{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:701;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.18);overflow-y:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-family:'DM Sans',system-ui,sans-serif;color:#1a1814}
.mc[hidden],.mc-ov[hidden]{display:none}
body.mc-open{overflow:hidden}
body.mc-open #cookie-banner,body.mc-open #wa-float,body.mc-open #buy-bar,body.mc-open .ppb{display:none!important}
.mc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid rgba(0,0,0,.08)}
.mc-head h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:18px;font-weight:800;margin:0;letter-spacing:0}
.mc-x{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#6b665f;width:44px;height:44px;margin-right:-10px}
.mc-body{padding:6px 22px 12px;flex:1}
.mc-line{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.mc-line.new{background:linear-gradient(90deg,rgba(63,122,74,.08),transparent);margin:0 -10px;padding:14px 10px;border-radius:10px}
.mc-line img{width:52px;height:52px;object-fit:contain;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:3px;background:#fff}
.mc-line b{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;line-height:1.25}
.mc-line span{display:block;font-size:12.5px;color:#6b665f;margin-top:2px}
.mc-line strong{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.mc-del{background:none;border:none;padding:6px 0 0;font-size:12px;font-weight:600;color:#a12a2a;cursor:pointer;text-decoration:underline}
.mc-msg{font-size:13px;line-height:1.5;border-radius:10px;padding:11px 13px;margin-top:12px;background:rgba(200,40,40,.07);color:#a12a2a;border:1px solid rgba(200,40,40,.25);font-weight:600}
.mc-empty{text-align:center;color:#6b665f;padding:40px 0}
.mc-sum{padding:14px 22px 20px;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px;position:sticky;bottom:0;background:#fff}
.mc-row{display:flex;justify-content:space-between;font-size:14px;font-variant-numeric:tabular-nums}
.mc-row .ok{color:#3f7a4a;font-weight:600}
.mc-row.tot{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:18px}
.mc-go{display:block;text-align:center;text-decoration:none;background:#34303D;color:#fff;border-radius:12px;padding:15px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.mc-go:hover{background:#5a5266}
.mc-back{background:none;border:none;color:#6b665f;font-size:13px;cursor:pointer;padding:6px;text-decoration:underline}
.mc-note{font-size:11.5px;color:#6b665f;line-height:1.5;margin:0;text-align:center}
.mc-go:focus-visible,.mc-x:focus-visible,.mc-back:focus-visible,.mc-del:focus-visible{outline:2px solid #34303D;outline-offset:2px}

/* ── scheda prodotto ── */
.pp{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,10fr);gap:36px;align-items:start;margin:4px 0 40px}
.pp-gal{background:#fff;border:1px solid var(--border,rgba(0,0,0,.08));border-radius:22px;padding:20px;position:sticky;top:84px}
.pp-main{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.pp-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pp-main img[hidden]{display:none}
.pp-thumbs{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.pp-thumbs button{width:64px;height:64px;border-radius:12px;border:1.5px solid rgba(0,0,0,.1);background:#fff;padding:5px;cursor:pointer}
.pp-thumbs button img{width:100%;height:100%;object-fit:contain}
.pp-thumbs button[aria-pressed="true"]{border-color:#34303D;box-shadow:0 0 0 1px #34303D}
.pp-thumbs button:disabled{opacity:.4;cursor:not-allowed}
.pp-info h1{font-size:clamp(30px,4.2vw,44px);margin-bottom:6px}
.pp-sub{font-size:16px;color:rgba(26,24,20,.7);margin-bottom:18px}
.pp-price{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:6px}
.pp-price .now{font-size:36px;color:var(--offer,#C8102E)}
.pp-price .now.full{color:#1a1814}
.pp-price .ship{display:block;font-size:13px;font-weight:600;color:var(--muted,#6b665f);margin-top:3px}
.pp-price s{font-size:18px;color:var(--muted,#6b665f);font-weight:600;margin-left:4px}
.pp-cond{font-size:13px;color:var(--muted,#6b665f);line-height:1.5;margin-bottom:16px}
.pp-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#6b665f);margin:16px 0 8px}
.pp-label .pp-col{color:#1a1814;letter-spacing:.04em;text-transform:none;font-size:13px;margin-left:4px}
.pp-sw{display:flex;gap:8px;flex-wrap:wrap}
.pp-sw button{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(0,0,0,.1);background:#fff;border-radius:100px;padding:7px 14px 7px 8px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:40px;color:#1a1814}
.pp-sw button i{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.pp-sw button[aria-pressed="true"]{border-color:#34303D;background:rgba(52,48,61,.07)}
.pp-sw button:disabled{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.pp-opt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp-opt button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1.5px solid rgba(0,0,0,.1);background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;color:#1a1814}
.pp-opt button b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:17px;font-variant-numeric:tabular-nums}
.pp-opt button span{font-size:12px;color:var(--muted,#6b665f);line-height:1.3}
.pp-opt button[aria-checked="true"]{border-color:#34303D;background:rgba(52,48,61,.07)}
.pp-stock{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#2f6b3a;margin:18px 0 10px}
.pp-stock::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.pp-stock.low{color:#a14a12}
.pp-stock.out{color:#a12a2a}
.pp-add{width:100%;border:none;border-radius:12px;padding:17px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:14px;letter-spacing:.07em;text-transform:uppercase;background:#34303D;color:#fff;cursor:pointer;transition:background .2s}
.pp-add:hover{background:#5a5266}
.pp-add:disabled{background:#6b665f;cursor:not-allowed}
.pp-compat,.pp-senza{font-size:14px;margin:14px 0 0;color:rgba(26,24,20,.75)}
.pp-compat a{font-weight:700}
.pp-trust{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid rgba(0,0,0,.08);font-size:13.5px;line-height:1.4;color:rgba(26,24,20,.8)}
.pp-trust li{display:flex;gap:8px;align-items:flex-start}
.pp-trust li::before{content:'✓';color:#3f7a4a;font-weight:800;flex-shrink:0}
.pp-trust a{color:inherit}
.pp-sw button:focus-visible,.pp-opt button:focus-visible,.pp-thumbs button:focus-visible,.pp-add:focus-visible{outline:2px solid #34303D;outline-offset:2px}
.pp-feat{display:grid;grid-template-columns:3fr 2fr;gap:16px}
.pp-cmp{display:flex;flex-wrap:wrap;gap:10px}
.pp-cmp a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:10px 16px 10px 10px;text-decoration:none;color:#1a1814;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:14px;line-height:1.3}
.pp-cmp a img{width:48px;height:48px;object-fit:contain}
.pp-cmp a span{display:block;font-family:'DM Sans',system-ui,sans-serif;font-weight:400;font-size:12.5px;color:var(--muted,#6b665f)}
.pp-cmp a:hover{border-color:#34303D}
/* barra fissa su telefono */
.ppb{display:none}
@media (max-width:760px){
  .pp{grid-template-columns:1fr;gap:20px}
  .pp-gal{position:static;padding:14px}
  .pp-main{aspect-ratio:auto;height:300px}
  .pp-trust{grid-template-columns:1fr}
  .pp-feat{grid-template-columns:1fr}
  .ppb{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -8px 24px rgba(0,0,0,.1);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .25s}
  .ppb.on{transform:none}
  .ppb div{min-width:0}
  .ppb b{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ppb .ppb-price{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:var(--offer,#C8102E);font-size:15px}
  .ppb .ppb-price s{color:var(--muted,#6b665f);font-weight:600;font-size:12px}
  .ppb .ppb-price em{font-style:normal;font-weight:600;font-size:11px;color:var(--muted,#6b665f);margin-left:4px}
  .ppb .ppb-col{font-size:12px;color:var(--muted,#6b665f);margin-left:6px}
  .ppb button{flex-shrink:0;border:none;border-radius:10px;padding:13px 18px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;background:#34303D;color:#fff;cursor:pointer}
  body.ppb-pad{padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){.ppb{transition:none}}

/* ── spedizione, proposta Hyper Pro+, prezzo pieno (ottobre 2026) ── */
.mc-row s,.row s{color:#6b665f;font-weight:400}
.mc-row.sped>span:last-child{text-align:right}
.mc-row.sped-hint,.row.sped-hint{font-size:12.5px;color:#a14a12;font-weight:600;margin-top:-6px}
.pp-tag{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#34303D;margin-bottom:10px}
.pp-info h1{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.02em;color:#1a1814}
.pp-sub{line-height:1.55}
.pp-full{display:block;background:none;border:none;padding:0;margin:2px 0 4px;font-size:13px;color:#6b665f;text-decoration:underline;cursor:pointer;text-align:left;font-family:inherit;line-height:1.5}
.pp-full:focus-visible{outline:2px solid #34303D;outline-offset:2px}
.pp-cond{margin-top:8px}
.pp-thumbs button[hidden]{display:none}
.pp-crumbs{font-size:13px;color:#6b665f;margin-bottom:14px}
.pp-crumbs a{color:#6b665f}
@media (max-width:760px){
  .pp-gal{padding:10px}
  .pp-main{height:26vh;min-height:170px}
  .pp-thumbs{margin-top:8px;gap:6px}
  .pp-thumbs button{width:46px;height:46px;padding:3px}
  .pp-info{display:flex;flex-direction:column}
  .pp-tag{display:none}
  .pp-info h1{order:1;font-size:26px;margin-bottom:8px}
  .pp-price{order:2}.pp-full{order:3}.pp-label{order:4;margin-top:10px}.pp-sw{order:5}
  .pp-stock{order:6;margin:12px 0 8px}.pp-add{order:7}
  .pp-cond{order:8;margin:12px 0 0}.pp-sub{order:9;font-size:15px;margin:10px 0 0}
  .pp-senza{order:10}.pp-compat{order:10}.pp-trust{order:11}
  .pp-price .now{font-size:32px}
  body:has(.ppb.on) #wa-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
}

/* due caselle prezzo nelle schede e quantità nel mini-carrello */
.pp-prz{margin-top:4px}
.mc-qty{display:inline-flex;align-items:center;gap:8px;margin:8px 12px 0 0;vertical-align:middle}
.mc-qty button{width:30px;height:30px;border-radius:8px;border:1px solid rgba(0,0,0,.15);background:#f7f5f2;cursor:pointer;font-weight:700;font-size:15px;line-height:1}
.mc-qty b{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:760px){
  .pp-prz{order:6}.pp-stock{order:7}.pp-add{order:8}.pp-cond{order:9}.pp-sub{order:10}.pp-compat{order:11}.pp-trust{order:12}
}
@media (max-width:760px){
  .pp-main{height:23vh;min-height:150px}
  .pp-info h1{font-size:24px;margin-bottom:6px}
  .pp-price .now{font-size:28px}
  .pp-prz .pp-label{display:none}
  .pp-prz{margin-top:10px}
  .pp-opt button{padding:7px 10px}
  .pp-opt button b{font-size:15px}
  .pp-sw{gap:6px}
  .pp-sw button{padding:5px 11px 5px 6px;font-size:12.5px;min-height:36px}
  .pp-sw button i{width:18px;height:18px}
  .pp-label{margin:8px 0 6px}
  .pp-stock{margin:8px 0 8px}
}

/* mini-carrello: righe che scorrono, riepilogo fisso in basso; − 2 + in riga */
.mc{overflow:hidden}
.mc-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.mc-sum{position:static;flex-shrink:0}
.mc-line .mc-qty{display:inline-flex;align-items:center;gap:10px;margin:8px 14px 0 0;vertical-align:middle}
.mc-line .mc-qty b{display:inline-block;font-size:14px;min-width:14px;text-align:center}
.mc-line .mc-qty button{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.mc-line .mc-del{display:inline-block;vertical-align:middle;padding:8px 0 0}

/* animazioni: mini-carrello che entra (da destra su computer, dal basso su telefono), sfondo in dissolvenza,
   foto che cambia colore in dissolvenza. Spente con "riduci movimento". */
@media (prefers-reduced-motion:no-preference){
  .mc:not([hidden]){animation:mc-in-x .32s cubic-bezier(.2,.7,.2,1)}
  .mc-ov:not([hidden]){animation:mc-fade .3s ease}
  .pp-main img.pp-in{animation:mc-fade .2s ease}
  .pp-add.done,.ppb button.done{transition:background .2s}
}
@media (prefers-reduced-motion:no-preference) and (max-width:600px){
  .mc:not([hidden]){animation-name:mc-in-y}
}
/* suggerimento pod di ricambio (cross-selling Kiwi) */
.mc-up{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;margin-top:14px;padding:12px;border:1px solid rgba(52,48,61,.18);border-radius:14px;background:#faf9f6}
.mc-up img{width:52px;height:52px;object-fit:contain}
.mc-up p{margin:0;font-size:13px;line-height:1.45;color:#1a1814}
.mc-up-add{border:none;border-radius:10px;padding:10px 14px;background:#34303D;color:#fff;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
@keyframes mc-in-x{from{transform:translateX(100%)}to{transform:none}}
@keyframes mc-in-y{from{transform:translateY(100%)}to{transform:none}}
@keyframes mc-fade{from{opacity:0}to{opacity:1}}
.pp-add.done,.ppb button.done{background:#3f7a4a}

/* home: la foto di Glo™ Hilo "galleggia" piano DENTRO il suo riquadro bianco (solo transform; spenta con "riduci movimento").
   Si muove la foto, non il riquadro: rimpicciolita un poco (0,9) per lasciare spazio a salita (8px) e rotazione (±2°). */
@media (prefers-reduced-motion:no-preference){
  .pp[data-pp="hilo"] .pp-main img:not([hidden]){animation:pp-float 4.5s ease-in-out infinite;transform-origin:50% 50%}
}
@keyframes pp-float{0%,100%{transform:translateY(0) rotate(-2deg) scale(.9)}50%{transform:translateY(-8px) rotate(2deg) scale(.93)}}
/* Avvisi nicotina/18+ accanto all'acquisto (AGCM 31053/2024): sempre leggibili, mai in grigio chiaro */
.pp-avviso{margin:12px 0 0;border:2px solid #34303D;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.45;color:#1a1814;background:#fff}
.pp-avviso strong{font-weight:800}
/* "Ultimo ordine" (solo ordini veri delle ultime 48 ore, solo Glo™: mai nelle pagine Kiwi) */
.pp-ultimo{display:inline-block;max-width:100%;margin:2px 0 12px;background:#e7f4ea;border:1px solid #9fd0ab;border-radius:16px;padding:7px 13px 7px 11px;font-size:13.5px;line-height:1.45;color:#1d5a2e}
.pp-ultimo[hidden]{display:none}
.pp-ultimo::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#2f8a46;margin-right:8px;vertical-align:1px}
.pp-ultimo b{font-weight:700;color:#14451f}
.pp-av-prezzo{margin:4px 0 0;font-size:14px;line-height:1.35;font-weight:700;color:#1a1814}
.mc-av{margin:0 0 10px;border:1.5px solid #34303D;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4;font-weight:600;color:#1a1814;background:#fff}
@media (max-width:760px){
  .pp-av-prezzo{order:2}   /* subito dopo il prezzo (order:2, prima nel codice) */
  .pp-ultimo{order:7;align-self:flex-start}
  .pp-avviso{order:8}   /* su telefono subito dopo il pulsante (che ha order:8 e viene prima nel codice) */
  .ppb{flex-wrap:wrap}
  .ppb .ppb-av{flex:0 0 100%;order:3;margin:0;font-size:12px;line-height:1.3;font-weight:700;color:#1a1814}
}
