/* Layout: scena 3D a tutto schermo; HUD sovrapposto (didascalia in alto, barra comandi in basso, elenco prodotti a lato).
   Scelta deliberata di un solo tema chiaro: la scena è di giorno, il pannello resta leggibile su qualunque host. */
:root{
  --ink:#16191c;          /* testo e pillole etichette */
  --paper:rgba(247,247,244,.92);
  --paper-solid:#f7f7f4;
  --line:rgba(22,25,28,.14);
  --muted:#59616a;
  --tape:#f2c200;         /* giallo nastro LongLife: unico accento */
  --amr:#1d6fd6;          /* blu corsia robot */
  --on-ink:#f4f4f0;
  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:light;
}
html,body{height:100%}
[hidden]{display:none!important}
body{margin:0;overflow:hidden;background:#dfe6ea;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}

/* etichette prodotto proiettate dalla scena */
#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.tag{position:absolute;left:0;top:0;pointer-events:auto;text-decoration:none;color:var(--on-ink);
  display:flex;align-items:center;gap:7px;padding:5px 10px 5px 7px;border-radius:999px;background:rgba(22,25,28,.86);
  box-shadow:0 2px 10px rgba(0,0,0,.18);white-space:nowrap;will-change:transform;transition:opacity .25s}
.tag::after{content:"";position:absolute;left:50%;bottom:-7px;width:1px;height:7px;background:rgba(22,25,28,.6)}
.tag .dot{width:8px;height:8px;border-radius:50%;background:var(--tape);box-shadow:0 0 0 2px rgba(242,194,0,.28);flex:none}
.tag b{font:600 12px/1.1 var(--font-body);letter-spacing:.01em}
.tag small{display:block;font:400 10px/1.25 var(--font-mono);color:#c9cdd1;margin-top:2px}
.tag:hover,.tag:focus-visible{background:var(--ink);outline:2px solid var(--tape);outline-offset:1px}
.tag.amr .dot{background:var(--amr);box-shadow:0 0 0 2px rgba(29,111,214,.3)}
.areatag{position:absolute;left:0;top:0;pointer-events:auto;border:0;cursor:pointer;background:var(--paper-solid);color:var(--ink);
  font:700 13px/1 var(--font-display);font-stretch:118%;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-radius:4px;
  box-shadow:0 3px 14px rgba(0,0,0,.2);border-bottom:3px solid var(--tape)}
.areatag:focus-visible{outline:2px solid var(--ink)}

/* HUD */
.hud{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-block:max(14px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-bottom,0px))}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cap{pointer-events:auto;max-width:400px;min-width:0;background:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:6px;padding:14px 16px 12px;box-shadow:0 6px 24px rgba(20,24,28,.12)}
.eyebrow{margin:0 0 6px;font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center}
.eyebrow .n{background:var(--ink);color:var(--on-ink);padding:3px 5px;border-radius:2px;font-variant-numeric:tabular-nums}
.cap h1{margin:0;font:750 21px/1.12 var(--font-display);font-stretch:112%;letter-spacing:-.005em;text-wrap:balance}
.cap p.txt{margin:7px 0 0;font:400 14px/1.45 var(--font-body);color:#30363c;max-width:60ch}
.progress{display:flex;gap:3px;margin-top:11px}
.progress i{flex:1;height:3px;border-radius:2px;background:var(--line);overflow:hidden;position:relative}
.progress i.done{background:var(--ink)}
.progress i b{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(0)}
.brand{pointer-events:none;font:700 12px/1 var(--font-display);font-stretch:120%;letter-spacing:.14em;text-transform:uppercase;
  background:var(--ink);color:var(--on-ink);padding:8px 10px;border-radius:3px;border-left:4px solid var(--tape);flex:none}
.bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bar{pointer-events:auto;display:flex;gap:6px;align-items:center;background:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:6px;border-radius:6px;box-shadow:0 6px 24px rgba(20,24,28,.12);max-width:100%;min-width:0}
.chips{display:flex;gap:4px;overflow-x:auto;min-width:0;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
button{font-family:var(--font-body)}
.btn{border:0;cursor:pointer;border-radius:4px;padding:9px 12px;font:600 13px/1 var(--font-body);background:transparent;color:var(--ink);white-space:nowrap}
.btn:hover{background:rgba(22,25,28,.07)}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.btn.on{box-shadow:inset 0 -3px 0 var(--tape);background:rgba(22,25,28,.06)}
.btn.primary{background:var(--ink);color:var(--on-ink);display:flex;align-items:center;gap:7px}
.btn.primary:hover{background:#000}
.btn.primary svg{width:12px;height:12px;fill:currentColor}
.side{pointer-events:auto;display:flex;gap:6px;align-items:center}
.hint{pointer-events:none;margin:0 0 4px;font:400 11px/1.3 var(--font-mono);color:#3c434a;background:rgba(247,247,244,.7);padding:5px 8px;border-radius:3px}

/* elenco prodotti */
#drawer{pointer-events:auto;position:fixed;right:max(16px,env(safe-area-inset-right,0px));top:max(14px,env(safe-area-inset-top,0px));
  bottom:calc(max(14px,env(safe-area-inset-bottom,0px)) + 62px);width:min(380px,calc(100vw - 32px));background:var(--paper-solid);border-radius:6px;
  box-shadow:0 10px 40px rgba(20,24,28,.25);display:flex;flex-direction:column;overflow:hidden}
#drawer header{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 10px 16px;border-bottom:1px solid var(--line)}
#drawer h2{margin:0;font:750 16px/1.1 var(--font-display);font-stretch:112%}
#drawer .list{overflow-y:auto;padding:4px 0 12px}
#drawer h3{margin:14px 16px 4px;font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 10px 7px 16px}
.row:hover{background:rgba(22,25,28,.04)}
.row button{all:unset;cursor:pointer;min-width:0}
.row button:focus-visible{outline:2px solid var(--ink)}
.row .nm{display:block;font:600 13.5px/1.25 var(--font-body)}
.row .sp{display:block;font:400 11px/1.35 var(--font-mono);color:var(--muted);margin-top:2px}
.row a{font:600 12px/1 var(--font-body);color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:7px 9px;border-radius:4px;white-space:nowrap}
.row a:hover{border-color:var(--ink)}
.note{margin:12px 16px 0;font:400 12px/1.45 var(--font-body);color:var(--muted)}

/* focus su una soluzione: scena attenuata attorno al prodotto e scheda laterale (in basso su telefono) */
#spot{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),rgba(12,15,18,0) 0,rgba(12,15,18,0) var(--sr,180px),rgba(12,15,18,.52) calc(var(--sr,180px) * 2.3))}
body.focus #spot{opacity:1}
body.focus .cap,body.focus .hint{display:none}
body.focus .chips .btn.on{box-shadow:none;background:transparent}
#focus{pointer-events:auto;position:fixed;right:max(16px,env(safe-area-inset-right,0px));top:max(14px,env(safe-area-inset-top,0px));
  width:min(360px,calc(100vw - 32px));max-height:calc(100% - 110px);overflow:auto;background:var(--paper-solid);border-radius:6px;
  box-shadow:0 10px 40px rgba(20,24,28,.28);border-top:4px solid var(--tape)}
#focus .fimg{background:#fff;border-bottom:1px solid var(--line)}
#focus .fimg img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
#focus .fbody{padding:14px 16px 14px}
#focus h2{margin:0;font:750 20px/1.15 var(--font-display);font-stretch:112%;text-wrap:balance}
#focus .fspec{margin:5px 0 0;font:400 12px/1.4 var(--font-mono);color:var(--muted)}
#focus .fpts{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px}
#focus .fpts li{position:relative;padding-left:18px;font:400 14px/1.4 var(--font-body);color:#30363c}
#focus .fpts li::before{content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;border-radius:2px;background:var(--tape)}
#focus .fnav{display:grid;grid-template-columns:auto 1fr auto;gap:6px;margin-top:14px}
#focus .fbtn{font-size:20px;padding:6px 14px;border:1px solid var(--line)}
#focus .flink{justify-content:center;text-decoration:none}
#focus .fauto{width:100%;margin-top:6px;border:1px solid var(--line);font-weight:500}
#focus .fx{position:absolute;right:8px;top:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(22,25,28,.78);color:#fff;font:400 22px/1 var(--font-body);cursor:pointer}
#focus .fx:focus-visible{outline:2px solid var(--tape)}

#loading{position:fixed;inset:0;display:grid;place-items:center;background:#dfe6ea;font:500 13px/1.4 var(--font-mono);color:var(--ink);transition:opacity .5s}
#loading.gone{opacity:0;pointer-events:none}
#loading .bar2{width:140px;height:3px;background:var(--line);margin:10px auto 0;overflow:hidden;border-radius:2px}
#loading .bar2 i{display:block;height:100%;width:40%;background:var(--ink);animation:ld 1s ease-in-out infinite}
@keyframes ld{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* modalità registrazione video: solo didascalia, etichette e marchio */
body.capture .bar,body.capture .hint,body.capture #drawer,body.capture .side,body.capture #loading,body.capture #focus,body.capture #spot{display:none!important}
body.capture .tag{transition:none}
body.capture .cap{max-width:470px}
body.capture .cap h1{font-size:25px}
body.capture .cap p.txt{font-size:15.5px}

@media (max-width:640px){
  .cap{max-width:none;padding:11px 13px 10px}
  .cap h1{font-size:17px}
  .cap p.txt{font-size:13px}
  .brand{display:none}
  .hint{display:none}
  .tag small{display:none}
  .tag b{font-size:11px}
  .bottom{flex-direction:column;align-items:stretch}
  .bar{flex-wrap:wrap;justify-content:space-between}
  .chips{order:3;flex:1 1 100%}
  .chips .btn{flex:1 0 auto;padding:9px 10px}
  #drawer{left:max(16px,env(safe-area-inset-left,0px));width:auto;top:auto;height:60%;bottom:calc(max(14px,env(safe-area-inset-bottom,0px)) + 112px)}
  body.focus .bottom{display:none}
  #focus{left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));width:auto;top:auto;bottom:max(10px,env(safe-area-inset-bottom,0px));max-height:52%}
  #focus .fimg{float:left;width:96px;margin:14px 0 6px 14px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
  #focus .fbody{padding:12px 14px 12px}
  #focus h2{font-size:17px;padding-right:34px}
  #focus .fpts{clear:both;margin-top:10px}
  #focus .fpts li{font-size:13px}
}
@media (prefers-reduced-motion:reduce){ .tag,#loading,#spot{transition:none} #loading .bar2 i{animation:none} }

/* link di ritorno alla pagina del sito */
.side-top{display:flex;gap:8px;align-items:center;pointer-events:auto;flex:none}
.back{font:600 12px/1 var(--font-body);color:var(--ink);background:var(--paper);padding:9px 11px;border-radius:4px;text-decoration:none;box-shadow:0 6px 24px rgba(20,24,28,.12);white-space:nowrap}
.back:hover{background:var(--paper-solid)}
.back:focus-visible{outline:2px solid var(--ink)}
body.embed .back,body.capture .back{display:none}
body.focus .side-top{display:none}
/* immagine di copertina (poster per la pagina del sito): solo la scena */
body.poster .hud,body.poster #labels,body.poster #focus,body.poster #spot,body.poster #drawer{display:none!important}
