/* =====================================================================
   Demo Tacita — il mazzo di schede, comune alle tre interviste.

   La meccanica e l'impianto sono quelli della scheda di Sofia, passati per
   il Filosofo: una scheda per schermo, le vicine che si affacciano, la barra
   con l'avanzamento a segmenti colorati, le frecce in fondo. Qui c'è solo la
   cornice; il contenuto delle schede è nel foglio di ciascuna intervista, che
   può cambiare --vivo, --su, --wash e --leggibile con data-tema.
   ===================================================================== */

/* Le misure del mazzo. Colori, caratteri e componenti sono in comune.css. */
:root{
  --barra:60px; --piede:72px;
  --larghezza:min(1180px, calc(100vw - 128px));
  --fuga:28px;
}



html,body{height:100%}
body{background:var(--cream);color:var(--ink);font-family:var(--testo);font-size:16.5px;line-height:1.56;
  -webkit-font-smoothing:antialiased;overflow:hidden;display:flex;flex-direction:column;height:100dvh}

/* ---------------------------------------------------------------- barra */
.barra{flex:0 0 var(--barra);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:20px;padding:0 clamp(16px,3vw,40px);border-bottom:1px solid var(--ink-08);position:relative;z-index:3}
.marchio{display:flex;align-items:center;gap:12px;min-width:0}
.marchio-logo{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em;flex:none}
.marchio-logo b{color:var(--arancio)}
.marchio-prodotto{flex:none;font-family:var(--testo);font-size:13px;
  background:var(--ink);color:var(--lime);padding:5px 10px;border-radius:999px}
.barra-titolo{font-family:var(--testo);font-size:13px;
  color:var(--ink-64);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avanzamento{display:flex;gap:4px}
.segmento{width:clamp(14px,2.2vw,34px);height:24px;border:0;cursor:pointer;opacity:.28;border-radius:3px;
  background:linear-gradient(var(--vivo),var(--vivo)) center/100% 6px no-repeat;transition:opacity .25s,background-size .25s}
.segmento[data-tema="aristotele"]{background-image:linear-gradient(#e2d7bb,#e2d7bb)}
.segmento:hover{opacity:.65}
.segmento.fatto{opacity:.55}
.segmento[aria-current="step"]{opacity:1;background-size:100% 10px}
.segmento:focus-visible{outline:1px solid var(--linea);outline-offset:1px}
.barra-destra{justify-self:end;display:flex;align-items:center;gap:14px}
.contatore{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-64);white-space:nowrap}
.contatore b{color:var(--ink);font-weight:500}
.bottone-piccolo{font-family:var(--testo);font-size:13px;
  background:transparent;border:1.5px solid var(--ink-17);padding:8px 14px;cursor:pointer;color:var(--ink-64);border-radius:999px}
.bottone-piccolo:hover{border-color:var(--ink);color:var(--ink)}
.bottone-piccolo:focus-visible{outline:1px solid var(--linea);outline-offset:2px}

.indice{position:absolute;top:calc(100% + 8px);right:clamp(16px,3vw,40px);width:min(380px,calc(100vw - 32px));
  max-height:calc(100dvh - var(--barra) - 32px);overflow-y:auto;background:var(--carta);border:1px solid var(--linea);
  border-radius:18px;box-shadow:0 1px 2px rgba(14,46,62,.05),0 24px 48px -32px rgba(14,46,62,.22);padding:8px 0;z-index:5}
.indice[hidden]{display:none}
.indice ol{list-style:none}
.indice button{display:grid;grid-template-columns:30px 1fr;gap:8px;width:100%;text-align:left;background:transparent;
  border:0;border-left:4px solid transparent;padding:9px 18px;cursor:pointer;font-size:14.5px;line-height:1.35}
.indice button span{font-family:var(--mono);font-size:11px;color:var(--ink-64);padding-top:2px}
.indice button:hover,.indice button[aria-current="true"]{background:var(--wash);border-left-color:var(--vivo)}

/* ---------------------------------------------------------------- mazzo */
.mazzo{flex:1 1 auto;min-height:0;position:relative;display:flex;gap:var(--fuga);
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  padding:22px calc((100vw - var(--larghezza)) / 2) 26px;scrollbar-width:none}
.mazzo::-webkit-scrollbar{display:none}
.scheda{flex:0 0 var(--larghezza);scroll-snap-align:center;scroll-snap-stop:always;height:100%;
  overflow-y:auto;overscroll-behavior-y:contain;background:var(--carta);border-radius:30px;
  box-shadow:0 1px 2px rgba(14,46,62,.05),0 24px 48px -32px rgba(14,46,62,.22),0 26px 50px -28px rgba(15,30,61,.38);
  padding:clamp(24px,3.2vw,50px) clamp(22px,3.8vw,60px) clamp(26px,3vw,42px);
  opacity:.36;transform:scale(.965);transition:opacity .35s ease,transform .35s ease;outline:none;position:relative;isolation:isolate;
  scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--ink-17) transparent}
.scheda.attiva{opacity:1;transform:none}
body.fermo .scheda{transition:none}
.scheda.eccede{-webkit-mask-image:linear-gradient(#000 calc(100% - 64px),transparent);mask-image:linear-gradient(#000 calc(100% - 64px),transparent)}
.scheda:not(.attiva){cursor:pointer}
.scheda:not(.attiva) *{pointer-events:none}

/* le schede piene: il colore della figura da bordo a bordo, e il retino in un angolo */
.scheda.piena{background-color:var(--vivo);color:var(--su);
  background-image:var(--retino);background-repeat:no-repeat;background-position:right top;background-size:min(820px,78%) auto}
.scheda.scura{background:var(--isola);color:var(--mint)}

/* ---------------------------------------------------------------- piede */
.piede{flex:0 0 var(--piede);display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,28px);padding:0 16px 8px}
.freccia{display:inline-flex;align-items:center;gap:10px;font-family:var(--testo);font-size:13px;
  background:var(--carta);border:1px solid var(--linea);border-radius:999px;padding:11px 20px;cursor:pointer;
  box-shadow:0 1px 2px rgba(14,46,62,.05),0 24px 48px -32px rgba(14,46,62,.22);transition:transform .12s,box-shadow .12s,background .16s,color .16s}
.freccia:hover:not(:disabled){background:var(--ink);color:var(--cream);transform:translateY(-1px);box-shadow:0 1px 2px rgba(14,46,62,.05),0 24px 48px -32px rgba(14,46,62,.22)}
.freccia:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 2px rgba(14,46,62,.05),0 24px 48px -32px rgba(14,46,62,.22)}
.freccia:disabled{opacity:.3;cursor:default;box-shadow:none}
.freccia:focus-visible{outline:1px solid var(--linea);outline-offset:3px}
.freccia svg{width:16px;height:16px}
.aiuto-tasti{font-family:var(--testo);font-size:13px;color:var(--ink-64)}
.aiuto-tasti kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--ink-17);border-bottom-width:2px;
  padding:1px 6px;margin:0 2px;background:var(--carta);border-radius:4px}
.segue{display:none;font-family:var(--testo);font-size:13px;color:#413eb0;
  background:transparent;border:0;cursor:pointer;padding:8px 4px}
body.eccede .segue{display:inline-block}
body.eccede .aiuto-tasti{display:none}

.scheda h2{font-size:clamp(28px,min(3.1vw,6.2vh),50px);line-height:1.02;margin-bottom:clamp(18px,2.6vh,30px)}

/* ---------------------------------------------------------- tablet */
@media (max-width:1020px){
  .barra-titolo{display:none}
}
/* --------------------------------------------------------- telefono */
@media (max-width:640px){
  :root{--barra:52px;--piede:64px;--larghezza:calc(100vw - 28px);--fuga:10px}
  body{font-size:16px}
  .barra{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .marchio-prodotto{display:none}
  .avanzamento{justify-self:center;gap:2px}
  .segmento{width:calc((100vw - 214px) / var(--schede,12))}
  .marchio-logo{font-size:17px}
  .pillola{font-size:11px;letter-spacing:.12em;padding:8px 14px;white-space:normal}
  .contatore{display:none}
  .barra-destra{gap:0}
  .mazzo{padding-top:12px;padding-bottom:14px}
  .scheda{padding:22px 18px 26px;opacity:.5;border-radius:24px}
  .aiuto-tasti{display:none}
  .freccia{padding:11px 16px}
  .freccia .f-testo{display:none}
}
/* ---------------------------------------------- schermi poco alti */
@media (max-height:820px) and (min-width:641px){
  :root{--barra:52px;--piede:60px}
  body{font-size:15.5px}
  .mazzo{padding-top:14px;padding-bottom:16px}
  .scheda{padding-top:clamp(20px,3.4vh,32px);padding-bottom:22px}
  .occhio{margin-bottom:10px}
  .pulsante{padding:11px 18px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ------------------------------------------------------------ stampa */
@media print{
  html,body{height:auto;overflow:visible;display:block;background:#fff}
  .barra,.piede,.azioni,.velo{display:none!important}
  .mazzo{display:block;overflow:visible;padding:0}
  .scheda{opacity:1!important;transform:none!important;height:auto;overflow:visible;box-shadow:none;break-after:page;margin-bottom:12px;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* =====================================================================
   Giro Quisquilia (12/10/2026). La cornice del mazzo come la testata del sito:
   Mint Cream, logo, gettone del prodotto, segmenti sottili. Schede bianche
   con ombra morbida; la scheda scura è un'isola come sul sito.
   ===================================================================== */
body{background:var(--mint);color:var(--jet);font-size:17px;line-height:1.6}
.barra{border-bottom:1px solid var(--linea);background:color-mix(in srgb,var(--mint) 88%,transparent);backdrop-filter:blur(14px)}
.marchio-logo{display:flex;align-items:center}
.marchio-logo img{display:block;height:20px;width:auto}
.marchio-prodotto{font-size:14px;font-weight:500;background:#fff;color:var(--jet);padding:6px 12px;box-shadow:inset 0 0 0 1px var(--linea)}
.barra-titolo{font-size:14px;color:var(--nota)}
.segmento{opacity:.3;border-radius:2px;background-size:100% 4px}
.segmento[aria-current="step"]{background-size:100% 8px}
.segmento[data-tema="aristotele"]{background-image:linear-gradient(#c9d8e2,#c9d8e2)}
.contatore{font-size:13px;letter-spacing:0;color:var(--nota)}
.bottone-piccolo{font-size:14px;font-weight:500;color:var(--jet);border:0;box-shadow:inset 0 0 0 1.5px var(--linea-forte);padding:9px 16px}
.bottone-piccolo:hover{box-shadow:inset 0 0 0 1.5px var(--jet)}
.indice button span{font-size:13px}
.scheda{border-radius:28px;border:1px solid var(--linea);box-shadow:var(--ombra-morbida),0 30px 60px -40px rgba(14,46,62,.3);opacity:.4}
.scheda h2{font-weight:600;color:var(--titolo,var(--imperial))}
.scheda.piena h2,.scheda.scura h2{color:inherit}
.scheda.scura{background:var(--isola);color:var(--mint);border-color:transparent;--titolo:var(--mint)}
.scheda.scura .pulsante:not(.lime){background:transparent;color:var(--mint);box-shadow:inset 0 0 0 1.5px rgba(249,255,251,.4)}
.freccia{font-size:15px;font-weight:600;color:var(--jet);border:0;box-shadow:inset 0 0 0 1.5px var(--linea-forte);background:#fff;min-height:48px}
.freccia:hover:not(:disabled){background:var(--jet);color:var(--mint);box-shadow:none}
.aiuto-tasti{font-size:14px;color:var(--nota)}
.aiuto-tasti kbd{font-size:12px;border-color:var(--linea-forte)}
.segue{color:var(--imperial);font-size:14px;font-weight:600}
@media (max-width:640px){.pillola{font-size:13px;letter-spacing:0}.marchio-logo img{height:18px}}
/* sul telefono il logo è più largo della vecchia scritta: i segmenti si stringono di conseguenza */
@media (max-width:640px){.segmento{width:calc((100vw - 270px) / var(--schede,12))}}
