/* MANIFESTO · modulo SCHEDA · v0.42 · pelle della scheda di un'attività
   Token del viewer (viewer.css): --luce, --vetro-chiaro, --filo, --muto, --oro (solo pulsante principale e punto «dal vivo»),
   --f-display (Fraunces), --f-ui (Manrope), --ease. Tutto sotto #sheet, riconosciuto da :has(.sc). Niente border: filo = inset box-shadow. */

/* foglio: più alto, senza maniglia nel flusso, testata a filo dei bordi */
#sheet:has(.sc){ max-height:94vh; }
#sheet:has(.sc) .grab{ position:absolute; top:0; left:0; right:0; z-index:4; padding:7px 0 0; pointer-events:auto; }
#sheet:has(.sc) .grab i{ width:36px; height:4px; background:rgba(255,255,255,.6); box-shadow:0 0 6px rgba(0,0,0,.35); }
#sheet:has(.sc) .sh-top{ top:28px; z-index:5; }
#sheet:has(.sc) .sh-body{ padding:0; }
#sheet:has(.sc) .sh-body > .sc{ margin-right:0; }
#sheet:has(.sc) .sh-foot{ box-shadow:inset 0 1px 0 var(--filo); padding-top:12px; background:rgba(8,12,24,.55); flex-wrap:nowrap; }
#sheet:has(.sc) .sh-foot:empty{ display:flex; min-height:calc(58px + 26px + var(--safeB)); }   /* spazio già riservato mentre si decide l'azione principale */
#sheet .sc-cta{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:58px; padding:11px 16px; text-align:center; text-decoration:none; width:100%; }
#sheet .sc-cta-t{ font:700 17px/1.15 var(--f-ui); }
#sheet .sc-cta small{ font:600 12.5px/1.2 var(--f-ui); color:rgba(26,19,0,.72); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* testata a storie */
.sc-head{ position:relative; height:min(50vh,420px); overflow:hidden; background:#0b0f1a; }
.sc-head::before{ content:""; position:absolute; inset:0 0 auto 0; height:110px; z-index:2; pointer-events:none; background:linear-gradient(rgba(5,7,13,.6),transparent); }
.sc-head::after{ content:""; position:absolute; inset:auto 0 0 0; height:62%; z-index:2; pointer-events:none; background:linear-gradient(transparent,rgba(5,7,13,.5) 40%,rgba(8,12,24,.94)); }
.sc-slides{ position:absolute; inset:0; }
.sc-sl{ position:absolute; inset:0; opacity:0; transition:opacity .35s var(--ease); background:#0b0f1a; }
.sc-sl.on{ opacity:1; }
.sc-sl img, .sc-sl video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.sc-sl .sc-loop{ opacity:0; transition:opacity .4s var(--ease); } .sc-sl .sc-loop.on{ opacity:1; }
.sc-sl.testo{ display:grid; place-items:center; padding:28px 28px 120px; background:radial-gradient(120% 100% at 20% 0%,rgba(255,244,214,.18),transparent 60%),#0b0f1a; }
.sc-sl.testo p{ margin:0; font:900 30px/1.12 var(--f-display); text-align:center; letter-spacing:-.01em; }
.sc-sl.nofoto, .sc-head.senza-foto{ background:radial-gradient(120% 160% at 15% 0%,rgba(255,244,214,.2),transparent 55%),radial-gradient(90% 120% at 100% 100%,rgba(201,153,26,.16),transparent 60%),#0b0f1a; }
.sc-bars{ position:absolute; top:22px; left:14px; right:14px; z-index:3; display:flex; gap:4px; pointer-events:none; }
.sc-bars i{ flex:1; height:3px; border-radius:2px; background:rgba(255,255,255,.3); overflow:hidden; }
.sc-bars b{ display:block; height:100%; width:0; background:#fff; border-radius:2px; }
.sc-bars .fatta b{ width:100%; }
.sc-bars .corre b{ animation:scBarra 5.2s linear forwards; }
.sc-head.pausa .corre b{ animation-play-state:paused; }
@keyframes scBarra{ from{ width:0; } to{ width:100%; } }
.sc-tap{ position:absolute; inset:0; z-index:2; touch-action:pan-y; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.sc-id{ position:absolute; left:18px; right:18px; bottom:16px; z-index:3; pointer-events:none; }
.sc-id small{ display:block; font:700 13px/1.2 var(--f-ui); color:var(--luce); margin-bottom:4px; }
#sheet .sc-nome{ margin:0; font:900 32px/1.05 var(--f-display); letter-spacing:-.015em; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.45); overflow-wrap:anywhere; }
.sc-cap{ margin:7px 0 0; font:600 14px/1.35 var(--f-ui); color:rgba(255,255,255,.88); min-height:0; } .sc-cap:empty{ display:none; } .sc-cap b{ font-weight:800; }

/* corpo */
.sc-corpo{ padding:12px 18px 18px; }
.sc-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin:0 0 2px; }
.sc-voto{ display:inline-flex; align-items:center; gap:5px; } .sc-voto i{ display:inline-flex; width:15px; height:15px; color:var(--luce); } .sc-voto svg{ width:100%; height:100%; }
.sc-voto b{ font:800 15px/1 var(--f-ui); } .sc-voto small{ font:600 13px/1 var(--f-ui); color:var(--muto); }
.sc-piedi{ font:600 14px/1.3 var(--f-ui); color:var(--muto); }
.sc-stato{ display:flex; align-items:center; gap:6px; width:100%; margin:0; padding:9px 0; border:0; background:none; color:#fff; text-align:left; font:700 15px/1.3 var(--f-ui); }
.sc-st span{ color:var(--muto); font-weight:600; } .sc-st.aperto b, .sc-st.presto b{ color:var(--luce); } .sc-st.chiuso b{ color:var(--rosso); }
.sc-giu{ display:inline-flex; width:18px; height:18px; color:var(--muto); margin-left:auto; transition:transform .2s var(--ease); } .sc-giu svg{ width:100%; height:100%; }
.sc-stato.su .sc-giu{ transform:rotate(180deg); }
.sc-orari{ background:var(--vetro-chiaro); border-radius:14px; padding:6px 14px; margin:2px 0 6px; box-shadow:inset 0 0 0 1px var(--filo); }
.sc-or{ display:flex; justify-content:space-between; gap:14px; padding:6px 0; font:600 14px/1.35 var(--f-ui); color:var(--muto); } .sc-or b{ font-weight:600; color:#fff; text-align:right; }
.sc-or.oggi span, .sc-or.oggi b{ color:var(--luce); font-weight:800; }

/* azioni rotonde, discrete */
.sc-azioni{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:4px; margin:10px 0 2px; }
.sc-ab{ display:flex; flex-direction:column; align-items:center; gap:7px; padding:0; border:0; background:none; color:#fff; text-decoration:none; font:700 12px/1.15 var(--f-ui); }
.sc-ab i{ display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--vetro-chiaro); box-shadow:inset 0 0 0 1px var(--filo); transition:background .2s var(--ease); }
.sc-ab svg{ width:22px; height:22px; }
.sc-ab span{ color:var(--muto); }
.sc-ab.on i{ background:var(--luce); color:#1A1300; } .sc-ab.on svg{ fill:currentColor; } .sc-ab.on span{ color:#fff; }

/* sezioni */
.sc-sez{ margin:18px 0 0; }
.sc-sez h3{ display:flex; align-items:center; margin:0 0 9px; font:800 16px/1.2 var(--f-ui); color:#fff; }
.sc-sh{ display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; } .sc-sh h3{ margin:0; }
.sc-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--oro); margin-right:8px; flex:none; }
.sc-riga{ display:flex; align-items:center; gap:10px; width:100%; margin:0 0 8px; padding:13px 14px; border:0; border-radius:16px; background:var(--vetro-chiaro); box-shadow:inset 0 0 0 1px var(--filo); color:#fff; text-align:left; }
.sc-riga .sc-dot{ margin:0; }
.sc-rt{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; } .sc-rt b{ font:700 15px/1.25 var(--f-ui); } .sc-rt small{ font:600 13px/1.3 var(--f-ui); color:var(--muto); }
.sc-riga em{ font-style:normal; font:800 14px/1 var(--f-ui); padding:8px 14px; border-radius:99px; background:rgba(255,255,255,.14); }
.sc-riga.no{ opacity:.5; } .sc-ch{ display:inline-flex; width:18px; height:18px; color:var(--muto); } .sc-ch svg{ width:100%; height:100%; }
.sc-link{ border:0; background:none; padding:15px 0 15px 14px; margin:-15px 0; color:var(--luce); font:700 14px/1 var(--f-ui); }
.sc-scroll{ scroll-padding:0 18px; align-items:flex-start; display:flex; gap:10px; overflow-x:auto; margin:0 -18px; padding:0 18px 4px; scroll-snap-type:x proximity; scrollbar-width:none; -webkit-overflow-scrolling:touch; } .sc-scroll::-webkit-scrollbar{ display:none; }
.sc-piatto{ flex:0 0 132px; scroll-snap-align:start; border:0; background:none; padding:0; color:#fff; text-align:left; }
.sc-piatto img, .sc-noimg{ display:block; width:132px; height:100px; border-radius:14px; object-fit:cover; background:#0b0f1a; box-shadow:inset 0 0 0 1px var(--filo); }
.sc-noimg{ background:radial-gradient(120% 140% at 20% 0%,rgba(255,244,214,.14),transparent 60%),#0b0f1a; }
.sc-piatto b{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:7px; font:700 14px/1.25 var(--f-ui); }
.sc-piatto small{ display:block; margin-top:2px; font:600 13px/1.2 var(--f-ui); color:var(--muto); }
.sc-sk{ height:124px; border-radius:14px; background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.11),rgba(255,255,255,.05)); background-size:200% 100%; animation:mfSk 1.1s linear infinite; }
.sc-moduli{ margin:14px 0 0; }
.sc-infos{ margin-top:14px; }
.sc-info{ display:flex; align-items:center; gap:13px; padding:14px 2px; color:#fff; text-decoration:none; font:600 15px/1.35 var(--f-ui); box-shadow:inset 0 1px 0 var(--filo); }
.sc-info i{ display:inline-flex; width:22px; height:22px; color:var(--muto); flex:none; } .sc-info svg{ width:100%; height:100%; } .sc-info span{ min-width:0; overflow-wrap:anywhere; }

/* Salvati, nello Zaino */
.sc-zaino > b{ display:block; margin-bottom:6px; font:800 15px var(--f-ui); }
.sc-zr{ display:flex; align-items:center; gap:12px; width:100%; padding:8px 0; border:0; background:none; color:#fff; text-align:left; }
.sc-zr img, .sc-zr i{ flex:none; width:44px; height:44px; border-radius:10px; object-fit:cover; background:#0b0f1a; box-shadow:inset 0 0 0 1px var(--filo); }
.sc-zr span{ display:flex; flex-direction:column; min-width:0; } .sc-zr b{ font:700 15px/1.25 var(--f-ui); } .sc-zr small{ font:600 13px/1.3 var(--f-ui); color:var(--muto); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@media (prefers-reduced-motion:reduce){ .sc-sl, .sc-sl .sc-loop, .sc-giu, .sc-ab i{ transition:none; } .sc-sk{ animation:none; } }

/* v0.42 rifinitura: testata a vetro sopra il contenuto scorso, ✕ con bersaglio da 44 px */
#sheet:has(.sc)::after{ content:''; position:absolute; left:0; right:0; top:0; height:96px; z-index:3; pointer-events:none; opacity:0; transition:opacity .2s var(--ease); background:linear-gradient(rgba(8,12,24,.98) 72%, rgba(8,12,24,0)); border-radius:28px 28px 0 0; }
#sheet.sc-su:has(.sc)::after{ opacity:1; }
#sheet.sc-su:has(.sc) .sh-x{ background:rgba(255,255,255,.14); }
.sh-x, .sh-top .ind{ position:relative; } .sh-x::after, .sh-top .ind::after{ content:''; position:absolute; inset:-5px; }
#sheet .ins-box > .pv-k{ margin:0 0 9px; font:800 16px/1.2 var(--f-ui); color:#fff; }
#sheet .ins-box{ margin:22px 0 6px; }
