/* Font dell'anteprima Memphis. Rigenerare con prepara_fonts_memphis.py */
@font-face {
  font-family: 'Fredoka One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/FredokaOne-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/Nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/Nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/SpaceMono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/SpaceMono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/SpaceMono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/SpaceMono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------- fondamenta */
:root{
  --giallo:#FFE500; --rosa:#FF3366; --blu:#0033FF; --verde:#00CC88;
  --scuro:#111111; --bianco:#ffffff;
  --bordo:4px solid var(--scuro);
  --ombra:8px 8px 0 var(--scuro);
  --ombra-piccola:5px 5px 0 var(--scuro);
  /* Il modello di pagina in numeri: un padding per la prima sezione, uno per
     tutte le altre, una sola larghezza per le colonne strette. Nessuna
     classe di pagina li ridefinisce. */
  --pad-testa:56px; --pad-sez-su:74px; --pad-sez-giu:88px;
  --colonna:940px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--giallo);color:var(--scuro);
  font-family:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.55;font-weight:600;
  overflow-x:hidden;
}
h1,h2,h3,h4,.fredoka{
  font-family:'Fredoka One','Nunito',system-ui,sans-serif;
  font-weight:400;line-height:1.02;letter-spacing:.005em;margin:0;
}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px;position:relative;z-index:2}
.salta{position:absolute;left:-9999px}
.salta:focus{left:12px;top:12px;z-index:99;background:var(--scuro);color:var(--giallo);
  padding:10px 16px;border-radius:0}
:focus-visible{outline:4px solid var(--blu);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ------------------------------------------------------------- testata */
.top{background:var(--scuro);color:var(--bianco);position:relative;z-index:5}
.top-in{display:flex;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:nowrap}
.marchio{display:flex;align-items:center;gap:14px;margin-right:auto;color:inherit;text-decoration:none;min-width:0}
.mark{
  font-family:'Fredoka One',sans-serif;font-size:26px;line-height:1;
  background:var(--rosa);color:var(--bianco);padding:10px 12px 12px;
  border:3px solid var(--bianco);transform:rotate(-3deg);flex:none;
}
.marchio:hover .mark{background:var(--giallo);color:var(--scuro)}
.brand{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand b{font-family:'Fredoka One',sans-serif;font-weight:400;font-size:20px;letter-spacing:.02em}
.brand span{font-size:12px;opacity:.72;font-weight:600}
.top nav{display:flex;gap:6px}
.top nav a,.top .voce-conto{
  text-decoration:none;font-size:13px;font-weight:800;text-transform:uppercase;white-space:nowrap;
  letter-spacing:.06em;padding:8px 12px;border:3px solid var(--bianco);color:var(--bianco);
  display:inline-flex;align-items:center;justify-content:center;
}
/* Stessa larghezza per «Entra» e «Profilo»: il cambio di etichetta dopo il
   caricamento non deve spostare niente. */
.top .voce-conto{background:var(--rosa);border-color:var(--rosa);color:var(--scuro);min-width:7.5em;flex:none}
.top nav a:hover,.top .voce-conto:hover{background:var(--giallo);color:var(--scuro);border-color:var(--giallo)}
.top nav a[aria-current],.top .voce-conto[aria-current]{background:var(--verde);border-color:var(--verde);color:var(--scuro)}
.top :focus-visible{outline-color:var(--giallo)}
@media (max-width:960px){
  .top-in{display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"marchio conto" "nav nav";gap:10px 12px;padding-top:10px;padding-bottom:10px}
  .marchio{grid-area:marchio;margin-right:0}
  .top .voce-conto{grid-area:conto}
  .top nav{grid-area:nav;overflow-x:auto;scrollbar-width:none;padding:3px 3px 4px;margin:-3px}
  .top nav::-webkit-scrollbar{display:none}
  .top nav a,.top .voce-conto{min-height:44px;padding:6px 12px}
  .brand>span{display:none}
  .mark{font-size:22px;padding:8px 10px 10px}
}
@media (max-width:600px){
  /* Il marchio porta gia' alla home: la voce si puo' lasciare a casa. */
  .top nav a:first-child{display:none}
  .top-in:has(nav a:first-child[aria-current]) .mark{background:var(--verde);color:var(--scuro);border-color:var(--verde)}
  .top nav{gap:5px}
  .top nav a,.top .voce-conto{font-size:12px;padding:6px 8px;letter-spacing:.02em;border-width:2px}
  .top nav a{flex:1 1 auto}
  .top .voce-conto{min-width:6.4em}
  .marchio{gap:10px}
  .mark{font-size:19px;padding:7px 8px 9px}
  .brand b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
}
@media (max-width:380px){
  /* I telefoni piu' stretti: le quattro voci devono stare su una riga, senza
     costringere a scorrere il menu per trovare «Proponi». */
  .top nav{gap:4px}
  .top nav a{font-size:11px;padding:6px 4px;letter-spacing:0}
}

/* ------------------------------------------------------------- ticker */
.ticker{
  background:var(--rosa);color:var(--bianco);border-bottom:var(--bordo);
  overflow:hidden;white-space:nowrap;padding:11px 0;position:relative;z-index:4;
  border-top:3px solid var(--rosa);
}
.ticker-in{display:inline-block;animation:scorre 46s linear infinite;will-change:transform}
.ticker b{font-family:'Fredoka One',sans-serif;font-weight:400;font-size:15px;
  letter-spacing:.03em;padding:0 10px}
.ticker i{font-style:normal;opacity:.75;padding:0 4px}
@keyframes scorre{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ------------------------------------------------------------- sezioni */
.sez{position:relative;padding:var(--pad-sez-su) 0 var(--pad-sez-giu);background:var(--fondo,var(--giallo))}
.sez.testa{padding-top:var(--pad-testa)}
.sez>.wrap>:last-child{margin-bottom:0}
.sez.blu{--fondo:var(--blu);color:var(--bianco)}
.sez.verde{--fondo:var(--verde)}
.sez.scuro{--fondo:var(--scuro);color:var(--bianco)}
.sez.bianco{--fondo:var(--bianco)}
.sez.rosa{--fondo:var(--rosa)}
.sez.blu :focus-visible,.sez.scuro :focus-visible{outline-color:var(--giallo)}
.zig{display:block;width:100%;height:22px;margin-bottom:-1px;position:relative;z-index:3}

.occhiello{
  font-family:'Space Mono',ui-monospace,monospace;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.18em;display:inline-block;
  background:var(--scuro);color:var(--giallo);padding:6px 12px;margin-bottom:18px;
  transform:rotate(-1.4deg);
}
.sez.scuro .occhiello{background:var(--giallo);color:var(--scuro)}
.sez.blu .occhiello{background:var(--giallo);color:var(--scuro)}
.tit-sez{font-size:clamp(30px,5vw,50px);margin-bottom:14px;max-width:22ch;text-wrap:balance}
/* Il titolo della pagina: uno per pagina, sempre piu' grande dei titoli di sezione. */
.tit-pagina{font-size:clamp(36px,6.2vw,66px);margin-bottom:16px;max-width:20ch;text-wrap:balance}
.tit-pagina.insegna{font-size:clamp(56px,12vw,128px);text-shadow:5px 5px 0 var(--rosa);
  transform:rotate(-2deg);transform-origin:left bottom;max-width:none}
.rimando{margin:-10px 0 30px;font-weight:800}
.rimando a{border-bottom:3px solid var(--rosa);text-decoration:none}
.rimandi{margin-top:56px;padding-top:26px;border-top:4px dashed currentColor}
.rimandi .btn-fila{margin-top:14px}
.rimandi-tit{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;margin:0}
.sotto-sez{font-size:clamp(17px,2.2vw,20px);max-width:56ch;margin:0 0 40px;font-weight:600;opacity:.92}

/* ------------------------------------------------------------- forme */
.forme{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.f{position:absolute;border:4px solid var(--scuro);animation:galleggia 9s ease-in-out infinite}
.f.cerchio{border-radius:50%}
.f.tri{border:0;width:0;height:0;border-left:34px solid transparent;
  border-right:34px solid transparent;border-bottom:58px solid var(--rosa)}
.f.croce{border:0;background:
  linear-gradient(var(--scuro),var(--scuro)) center/100% 12px no-repeat,
  linear-gradient(var(--scuro),var(--scuro)) center/12px 100% no-repeat}
@keyframes galleggia{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-22px) rotate(9deg)}
}

/* ------------------------------------------------------------- contatore */
.conta{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:26px 0 8px;max-width:760px}
.q{
  background:var(--bianco);color:var(--scuro);border:var(--bordo);box-shadow:var(--ombra-piccola);
  padding:14px 6px 10px;text-align:center;perspective:420px;
}
.q .n{
  display:block;font-family:'Space Mono',ui-monospace,monospace;font-weight:700;
  font-size:clamp(22px,4.4vw,40px);line-height:1;font-variant-numeric:tabular-nums;
  transform-origin:50% 100%;
}
.q .n.gira{animation:ribalta .34s ease-out}
.q .l{
  display:block;margin-top:7px;font-size:10px;font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;
}
.q:nth-child(1){background:var(--rosa)}
.q:nth-child(2){background:var(--verde)}
.q:nth-child(3){background:var(--giallo)}
@keyframes ribalta{
  0%{transform:rotateX(-88deg);opacity:.25}
  100%{transform:rotateX(0);opacity:1}
}
.conta-nota{font-family:'Space Mono',ui-monospace,monospace;font-size:12px;opacity:.7;margin:6px 0 0}

/* ------------------------------------------------------------- schede */
.griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(296px,100%),1fr));gap:28px}
.scheda{
  background:var(--bianco);color:var(--scuro);border:var(--bordo);box-shadow:var(--ombra);
  text-decoration:none;display:flex;flex-direction:column;position:relative;
  transition:transform .16s ease,box-shadow .16s ease;
}
.scheda:hover,.scheda:focus-visible{transform:translate(-4px,-4px);box-shadow:12px 12px 0 var(--scuro)}
.scheda .foto{aspect-ratio:16/10;overflow:hidden;border-bottom:var(--bordo);background:var(--giallo)}
.scheda .foto img{width:100%;height:100%;object-fit:cover}
.scheda .finta{
  height:100%;display:grid;place-items:center;font-family:'Fredoka One',sans-serif;
  font-size:44px;background:repeating-linear-gradient(45deg,var(--giallo) 0 14px,#ffd400 14px 28px);
}
.scheda .dentro{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.scheda h3{font-size:21px;margin-bottom:10px}
.scheda p{margin:0 0 16px;font-size:15px;font-weight:600;opacity:.84;flex:1}
.bollo{
  align-self:flex-start;font-family:'Space Mono',ui-monospace,monospace;font-size:10px;
  font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  background:var(--blu);color:var(--bianco);padding:5px 9px;margin-bottom:12px;
}
.bollo.b1{background:var(--rosa);color:var(--scuro)}
.bollo.b2{background:var(--verde);color:var(--scuro)}
.bollo.b3{background:var(--scuro);color:var(--giallo)}
.bollo.b4{background:var(--blu)}
.giorni{
  border-top:3px dashed rgba(17,17,17,.25);padding-top:12px;display:flex;
  align-items:baseline;gap:8px;font-family:'Space Mono',ui-monospace,monospace;
}
.giorni b{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}
.giorni span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.65}

/* animazione d'ingresso: solo se il JS c'e' davvero */
.js .appari{opacity:0}
.js .appari.dentro-vista{animation:rimbalza .5s cubic-bezier(.34,1.5,.64,1) forwards}
@keyframes rimbalza{
  from{opacity:0;transform:translateY(34px) rotate(-1.4deg)}
  to{opacity:1;transform:none}
}

/* ------------------------------------------------------------- albo */
.sentenze{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:26px}
.sentenza{
  background:var(--giallo);color:var(--scuro);border:var(--bordo);box-shadow:var(--ombra);
  padding:24px 24px 20px;position:relative;margin:0;
}
.sentenza blockquote{margin:0}
.sentenza:nth-child(3n+2){background:var(--rosa)}
.sentenza:nth-child(3n+3){background:var(--bianco)}
.sentenza blockquote p{font-family:'Fredoka One',sans-serif;font-size:21px;line-height:1.22;margin:0 0 16px}
.sentenza blockquote p::before{content:"«"}
.sentenza blockquote p::after{content:"»"}
.sentenza figcaption{font-family:'Space Mono',ui-monospace,monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.09em}
.sentenza a{text-decoration:none;border-bottom:3px solid currentColor}

/* ------------------------------------------------------------- bottoni */
.btn{
  display:inline-block;font-family:'Fredoka One',sans-serif;font-size:17px;
  text-decoration:none;background:var(--rosa);color:var(--bianco);
  border:var(--bordo);box-shadow:var(--ombra-piccola);padding:13px 22px;cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--scuro)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--scuro)}
.btn.blu{background:var(--blu)}
.btn.verde{background:var(--verde);color:var(--scuro)}
.btn.bianco{background:var(--bianco);color:var(--scuro)}
.btn-fila{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* ------------------------------------------------------------- home hero */
.hero h1{font-size:clamp(44px,10vw,104px);letter-spacing:-.01em;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--rosa);-webkit-text-stroke:2px var(--scuro)}
.claim{font-size:clamp(18px,2.6vw,23px);max-width:50ch;margin:0 0 6px;font-weight:700}
.riquadro-hero{
  background:var(--bianco);border:var(--bordo);box-shadow:var(--ombra);
  padding:26px 26px 22px;margin-top:38px;max-width:820px;
}
.riquadro-hero .etichetta{
  font-family:'Space Mono',ui-monospace,monospace;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;opacity:.6;margin:0 0 6px;
}
.riquadro-hero h2{font-size:clamp(21px,3.4vw,30px);margin-bottom:4px}
.riquadro-hero h2 a{text-decoration:none;border-bottom:4px solid var(--rosa)}
.riquadro-hero .riga{margin:6px 0 0;font-weight:600}
.claim.minore{font-weight:600;opacity:.8}

/* ------------------------------------------------------------- promemoria */
#promemoria{scroll-margin-top:24px}
.promemoria-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:54px;align-items:start}
.promemoria-intro .sotto-sez{font-size:19px;margin-bottom:30px}
.promemoria-benefici{list-style:none;counter-reset:beneficio;padding:0;margin:0;display:grid;gap:24px}
.promemoria-benefici li{counter-increment:beneficio;position:relative;padding-left:56px}
.promemoria-benefici li::before{content:"0" counter(beneficio);position:absolute;left:0;top:2px;
  font-family:'Space Mono',monospace;font-size:15px;background:var(--giallo);border:3px solid var(--scuro);
  box-shadow:3px 3px 0 var(--scuro);padding:5px 6px;transform:rotate(-4deg)}
.promemoria-benefici b{display:block;font-size:19px;line-height:1.25;margin-bottom:6px}
.promemoria-benefici span{display:block;font-size:16px;line-height:1.5}
.promemoria-timbro{display:inline-block;border:3px solid var(--scuro);padding:9px 14px;
  margin-top:34px;font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  font-weight:700;background:var(--giallo);transform:rotate(-4deg)}
.promemoria-modulo{min-width:0;background:var(--bianco);border:var(--bordo);box-shadow:var(--ombra)}
.promemoria-capo{display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:20px 24px;background:var(--rosa);border-bottom:var(--bordo)}
.promemoria-capo h3{font-size:24px;line-height:1.15;max-width:15ch}
.promemoria-capo>span{flex:none;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  border:3px solid var(--scuro);background:var(--giallo);padding:7px 9px;transform:rotate(6deg)}
.promemoria-campi{padding:26px}
.campo-label,.promemoria-modulo legend{display:block;font-size:15px;font-weight:900;line-height:1.4}
#promemoria-email{display:block;width:100%;min-width:0;margin-top:9px;padding:13px 14px;
  border:3px solid var(--scuro);border-radius:0;background:#fffdee;color:var(--scuro);font:inherit}
#promemoria-email::placeholder{color:#646464;opacity:1}
.campo-aiuto{font-size:12px;line-height:1.45;margin:8px 0 24px}
.promemoria-modulo fieldset{min-width:0;border:0;margin:0 0 25px;padding:0}
.promemoria-modulo legend{padding:0;margin-bottom:11px}
.promemoria-canali{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.promemoria-canale{position:relative;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:7px;padding:14px 8px;border:3px solid var(--scuro);cursor:pointer;
  background:var(--bianco)}
.promemoria-canale:has(input:checked){background:var(--giallo);box-shadow:3px 3px 0 var(--scuro)}
.promemoria-canale:hover{background:#fff4a6}
.promemoria-canale input{position:absolute;top:8px;left:7px;width:17px;height:17px;
  margin:0;accent-color:var(--scuro);cursor:pointer}
.promemoria-canale>span{font-size:29px;line-height:1.2;margin:7px 0 2px}
.promemoria-canale b{font-size:14px;font-weight:900;line-height:1.25}
.promemoria-canale small{font-size:11px;line-height:1.35;margin-top:auto}
.promemoria-recapito:has(input:disabled) .campo-label{opacity:.5}
#promemoria-email:disabled{background:#ededed;color:#666;cursor:not-allowed;opacity:.65}
.promemoria-opzione{display:flex;gap:12px;align-items:flex-start;padding:12px;
  border:3px solid var(--scuro);margin-bottom:9px;cursor:pointer;background:var(--bianco)}
.promemoria-opzione:last-child{margin-bottom:0}
.promemoria-opzione:has(input:checked){background:#fff4a6;box-shadow:3px 3px 0 var(--scuro)}
.promemoria-opzione:hover{background:#fff9d4}
.promemoria-opzione input{flex:none;width:21px;height:21px;margin:2px 0 0;accent-color:var(--scuro);cursor:pointer}
.promemoria-opzione b{display:block;font-size:15px;font-weight:900;line-height:1.3}
.promemoria-opzione small{display:block;font-size:12px;line-height:1.45;margin-top:4px}
.promemoria-pillole{display:flex;flex-wrap:wrap;gap:10px}
.promemoria-pillole label{position:relative;cursor:pointer}
.promemoria-pillole input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.promemoria-pillole span{display:block;border:3px solid var(--scuro);padding:8px 10px;
  font-size:12px;font-weight:900;box-shadow:3px 3px 0 var(--scuro);background:var(--bianco)}
.promemoria-pillole input:checked+span{background:var(--scuro);color:var(--giallo)}
.promemoria-pillole input:focus-visible+span{outline:4px solid var(--blu);outline-offset:3px}
.promemoria-anticipo:disabled{opacity:.5}
.promemoria-anticipo:disabled label{cursor:default}
.promemoria-invia{width:100%;font-size:18px;line-height:1.3;background:var(--blu)}
.promemoria-invia:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.promemoria-firma{font-size:12px;margin:16px 0;line-height:1.5}
.promemoria-anteprima{font-size:12px;line-height:1.5;margin:0;padding-top:12px;border-top:2px dashed var(--scuro)}
.promemoria-esito{font-size:14px;line-height:1.5;background:var(--giallo);border:3px solid var(--scuro);
  padding:12px;margin:16px 0 0}
.promemoria-meme{margin-top:60px;padding-top:28px;border-top:4px dashed var(--scuro)}
.promemoria-meme .etichetta{font-family:'Space Mono',monospace;font-size:11px;
  font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px}
.promemoria-citazioni{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.promemoria-citazioni a{position:relative;display:block;text-decoration:none;border:3px solid var(--scuro);
  background:var(--giallo);box-shadow:var(--ombra-piccola);padding:18px 32px 18px 18px}
.promemoria-citazioni a:nth-child(2){background:var(--rosa)}
.promemoria-citazioni a:nth-child(3){background:var(--bianco)}
.promemoria-citazioni a:hover{transform:translateY(-3px)}
.promemoria-citazioni b{display:block;font-family:'Fredoka One',sans-serif;font-size:23px;line-height:1.2}
.promemoria-citazioni span{display:block;font-size:13px;line-height:1.4;margin-top:6px}
.promemoria-citazioni span[aria-hidden]{position:absolute;top:8px;right:12px;font-size:23px;margin:0}
.promemoria-chiosa{font-size:12px;font-family:'Space Mono',monospace;margin:22px 0 0}

/* ------------------------------------------------------------- filtri */
.filtri{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 34px}
.filtri button{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;
  letter-spacing:.06em;background:var(--bianco);color:var(--scuro);border:3px solid var(--scuro);
  padding:9px 14px;cursor:pointer;box-shadow:4px 4px 0 var(--scuro);
}
.filtri button[aria-pressed=true]{background:var(--scuro);color:var(--giallo)}
.vuoto-filtro{font-family:'Fredoka One',sans-serif;font-size:21px;padding:30px 0}

/* ------------------------------------------------------------- scheda evento */
.briciole{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;
  font-family:'Space Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;
  margin:0 0 22px}
.briciole li+li::before{content:"›";margin-right:6px}
.briciole a{text-decoration:none;border-bottom:2px solid currentColor}
.meta-fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.meme-sottotitolo{max-width:60ch}
.meme-tempo{margin-top:30px}
.meme-tempo>.etichetta{font-family:'Space Mono',monospace;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;max-width:62ch;margin:0}
.meme-tempo .conta{margin-top:14px}
.meme-storia{max-width:var(--colonna)}
.testo p{font-size:19px;line-height:1.62}
.testo p:first-child{margin-top:24px}
.meme-protocollo{font-family:'Space Mono',monospace;font-size:11px;
  border-top:2px dashed var(--scuro);padding-top:18px;margin:28px 0 0;line-height:1.6}
/* La sentenza e' l'unico blocco centrato del sito: e' una lapide. */
.meme-sentenza{text-align:center}
.meme-sentenza .occhiello{margin-bottom:28px}
.meme-sigillo{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;
  line-height:1.5;background:var(--giallo);border:3px solid var(--scuro);
  box-shadow:var(--ombra-piccola);padding:10px 14px;transform:rotate(-2deg);margin:28px 0 0}
.meme-reperti{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px;align-items:start}
.meme-collegamenti{display:grid;gap:18px;min-width:0}
.meme-fonte{display:block;border:var(--bordo);box-shadow:var(--ombra-piccola);
  background:var(--bianco);padding:22px;text-decoration:none;overflow-wrap:anywhere}
.meme-fonte.video{background:var(--blu);color:var(--bianco)}
.meme-fonte:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--scuro)}
.meme-fonte-meta{display:block;font-family:'Space Mono',monospace;font-size:10px;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;line-height:1.5}
.meme-fonte h3{font-size:clamp(21px,3vw,27px);line-height:1.2;margin-bottom:18px}
.meme-fonte-azione{display:flex;align-items:center;justify-content:space-between;
  font-size:14px;font-weight:900;border-top:2px solid currentColor;padding-top:12px;gap:12px}
.meme-fonte-azione span{font-size:25px;line-height:1}
.meme-fonte.video:focus-visible{outline-color:var(--scuro)}
.meme-foto-vuota,.meme-fonti-vuote{border:var(--bordo);box-shadow:var(--ombra-piccola);
  padding:36px;background:var(--bianco)}
.meme-foto-vuota{text-align:center;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.meme-foto-vuota>span{font-size:48px;margin-bottom:15px}
.meme-foto-vuota h3,.meme-fonti-vuote h3{font-size:28px}
.meme-foto-vuota p,.meme-fonti-vuote p{font-size:15px;max-width:35ch;margin:18px auto 0}
.reperto{margin:0;border:var(--bordo);box-shadow:var(--ombra);background:var(--bianco)}
.reperto img{width:100%;max-height:540px;object-fit:contain;background:var(--bianco)}
.reperto figcaption{font-size:11px;padding:10px 12px;border-top:3px solid var(--scuro);
  line-height:1.6;overflow-wrap:anywhere}
.reperto figcaption a{color:inherit}
.verdetto{
  max-width:var(--colonna);margin:0 auto;padding:0;
}
.verdetto p{font-family:'Fredoka One',sans-serif;font-size:clamp(30px,5.2vw,58px);
  line-height:1.15;margin:0;text-wrap:balance}
.vicini{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}
.vicino{
  background:var(--bianco);border:var(--bordo);box-shadow:var(--ombra-piccola);
  padding:16px 18px;text-decoration:none;
}
.vicino span{font-family:'Space Mono',ui-monospace,monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;opacity:.6;display:block;margin-bottom:5px}
.vicino b{font-family:'Fredoka One',sans-serif;font-weight:400;font-size:17px;line-height:1.2}
.vicino.vuoto{box-shadow:none;background:transparent;border-style:dashed}
.rep-nota{display:block;font-size:12px;line-height:1.6;margin:0;max-width:52ch}

/* ------------------------------------------------------------- pie' di pagina */
.pie{background:var(--scuro);color:var(--bianco);padding:56px 0 46px;border-top:var(--bordo)}
.pie-testata{display:flex;justify-content:space-between;align-items:center;gap:30px;
  padding-bottom:38px;border-bottom:3px solid var(--bianco)}
.pie-occhiello{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--giallo);margin-bottom:20px}
.pie h2{font-size:clamp(38px,6vw,68px);line-height:1.08}
.pie h2 em{font-style:normal;color:var(--rosa)}
.pie-timbro{background:var(--verde);color:var(--scuro);border:4px solid var(--bianco);
  box-shadow:6px 6px 0 var(--rosa);padding:18px 22px;transform:rotate(5deg);flex:none}
.pie-timbro span,.pie-timbro small{display:block;font-family:'Space Mono',monospace;font-size:10px}
.pie-timbro span{text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.pie-timbro b{display:block;font-family:'Fredoka One',sans-serif;font-size:32px;line-height:1.3;margin:5px 0}
.pie-griglia{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);
  gap:40px;padding:38px 0}
.pie-brand{display:inline-block;font-family:'Fredoka One',sans-serif;font-size:23px;
  line-height:1.3;color:var(--giallo);text-decoration:none;overflow-wrap:anywhere}
.pie-brand span{font-family:'Space Mono',monospace;font-size:12px;vertical-align:super;margin-left:4px}
.pie-istituto p{font-size:15px;line-height:1.6;margin:14px 0;max-width:36ch}
.pie-istituto small{display:block;font-size:11px;line-height:1.6;color:#bcbcbc;max-width:38ch}
.pie-nav h3,.pie-orologio h3{font-family:'Space Mono',monospace;font-size:11px;line-height:1.4;
  text-transform:uppercase;letter-spacing:.08em;margin:0 0 17px}
.pie-nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.pie-nav h3{color:var(--verde);margin-bottom:5px}
.pie-nav a{font-size:14px;line-height:1.45;text-decoration:none;border-bottom:2px solid #555;padding-bottom:3px}
.pie-nav a span{color:var(--rosa);margin-left:6px}
.pie-nav a:hover,.pie-brand:hover{color:var(--giallo);text-decoration:underline;text-underline-offset:4px}
.pie-orologio{align-self:start;background:var(--giallo);color:var(--scuro);padding:20px;
  border:4px solid var(--bianco);box-shadow:6px 6px 0 var(--rosa)}
.pie-orologio h3{margin-bottom:12px}
.pie-orologio time{display:block;font-family:'Space Mono',monospace;font-size:clamp(27px,3.2vw,36px);
  font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.pie-orologio p{font-size:13px;line-height:1.5;margin:12px 0}
.pie-orologio>span{display:block;font-family:'Space Mono',monospace;font-size:9px;line-height:1.6}
.pie-fondo{font-family:'Space Mono',monospace;font-size:10px;line-height:1.7;color:#bcbcbc;
  border-top:2px dashed #666;padding-top:22px;display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.pie-fondo span{max-width:55ch}
.pie :focus-visible{outline-color:var(--giallo)}
.pie-orologio :focus-visible{outline-color:var(--blu)}

/* ------------------------------------------------------------- 404 */
.num404{font-size:clamp(90px,26vw,240px);line-height:.85;margin:0}

/* ------------------------------------------------------------- sportelli
   Tutto quello che e' arrivato con login, voti, proposte e Carosello.
   [hidden] vince su ogni display: molti pezzi qui sotto sono flex o grid, e
   un elemento nascosto che resta visibile e' un bug che si vede subito. */
[hidden]{display:none!important}
kbd{font-family:'Space Mono',ui-monospace,monospace;font-size:.85em;font-weight:700;
  background:var(--bianco);color:var(--scuro);border:2px solid var(--scuro);
  box-shadow:2px 2px 0 var(--scuro);padding:1px 6px}
.bollo.posto{text-decoration:none}
.suggerimento{font-size:14px;margin:26px 0 0;max-width:60ch}
.esito,.esito-meme{font-size:15px;line-height:1.5;background:var(--giallo);color:var(--scuro);
  border:3px solid var(--scuro);box-shadow:4px 4px 0 var(--scuro);padding:12px 14px;margin:18px 0 0;max-width:62ch}
.esito.male{background:var(--rosa);color:var(--scuro)}
.esito a,.esito-meme a{color:inherit;font-weight:900}
.btn.largo{width:100%}
.btn.pericolo{background:var(--scuro);color:var(--rosa)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none}

/* sezioni nere: bordi bianchi e ombre rosa, altrimenti nero su nero */
.sez.scuro .btn,.sez.scuro .q,.sez.scuro .audio,.tv-fine .btn{border-color:var(--bianco);box-shadow:5px 5px 0 var(--rosa)}
.sez.scuro .btn:hover,.tv-fine .btn:hover{box-shadow:8px 8px 0 var(--rosa)}
.sez.scuro .btn:active,.tv-fine .btn:active{box-shadow:2px 2px 0 var(--rosa)}

/* indice dei fascicoli */
.elenco-fascicoli{list-style:none;padding:0;margin:0;max-width:74ch;font-size:17px;display:grid;gap:8px}
.elenco-fascicoli a{text-decoration:none}
.elenco-fascicoli a:hover b{border-bottom:3px solid var(--rosa)}
.elenco-fascicoli .cat{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.06em}

/* proiezione */
.proiezione .meme-tempo{margin-top:46px;padding-top:30px;border-top:3px dashed rgba(255,255,255,.35)}
/* Su uno schermo basso il video si restringe per stare nella finestra: con lui
   si restringono la colonna della proiezione e la cornice del televisore, cosi'
   tutto resta allineato a sinistra e non avanzano vuoti accanto al video. */
.proiezione .wrap>*{max-width:calc(70vh * 16 / 9)}
.tv{max-width:calc(70vh * 16 / 9 + 32px)}
.tv:fullscreen{max-width:none}
.schermo{position:relative;aspect-ratio:16/9;background:var(--scuro) var(--poster,none) center/cover no-repeat;
  border:var(--bordo);border-color:var(--bianco);box-shadow:10px 10px 0 var(--rosa);overflow:hidden}
.schermo::before{content:"";position:absolute;inset:0;background:rgba(17,17,17,.72)}
.schermo.acceso::before{display:none}
.patto,.cartello{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;
  justify-content:center;padding:clamp(18px,4vw,48px);max-width:720px;color:var(--bianco)}
.patto h3,.cartello h3{font-size:clamp(24px,3.6vw,40px);margin:8px 0 12px}
.patto p,.cartello p{font-size:clamp(14px,1.7vw,17px);margin:0;max-width:56ch}
.patto .btn-fila,.cartello .btn-fila{margin-top:20px}
.cartello-occhiello{font-family:'Space Mono',monospace;font-size:11px!important;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--giallo)}
.patto-nota{font-size:12px!important;opacity:.8;margin-top:16px!important}
.patto-nota a,.cartello a:not(.btn){color:var(--giallo)}
.schermo-video{position:absolute;inset:0;z-index:2;background:var(--scuro)}
.schermo-video iframe{width:100%;height:100%;border:0;display:block}
.schermo-video .cartello{margin:0 auto}
.audio{position:relative;z-index:3;margin:22px 0 0;display:flex;align-items:center;gap:10px;
  font-family:'Fredoka One',sans-serif;font-size:17px;background:var(--giallo);color:var(--scuro);
  border:var(--bordo);box-shadow:var(--ombra-piccola);padding:10px 16px;cursor:pointer;text-align:left}
.audio small{font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;display:block}
.audio.sonoro{background:var(--bianco)}
.audio-ico{font-size:24px}
.sotto-schermo{display:flex;flex-wrap:wrap;gap:22px 30px;align-items:flex-start;
  justify-content:space-between;margin-top:34px}
.voto{max-width:420px}
.voto-btn{display:inline-flex;align-items:center;gap:12px;font-family:'Fredoka One',sans-serif;
  font-size:22px;background:var(--bianco);color:var(--scuro);border:var(--bordo);
  box-shadow:6px 6px 0 var(--verde);padding:14px 22px;cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease}
.voto-btn:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--verde)}
.voto-btn.on{background:var(--verde)}
.voto-btn.on .voto-ico{animation:risata .5s ease-in-out 2}
.voto-ico{font-size:30px;line-height:1}
.voto-btn.piccolo{font-size:15px;padding:8px 12px;box-shadow:4px 4px 0 var(--verde)}
.voto-btn.piccolo .voto-ico{font-size:20px}
.voto-conta{font-size:14px;margin:12px 0 0}
.azioni-meme{display:flex;flex-wrap:wrap;gap:12px}
.tasto-aiuto{min-width:52px}
@keyframes risata{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg) scale(1.2)}75%{transform:rotate(18deg) scale(1.2)}}

/* verbale */
.verbale{max-width:var(--colonna)}
.verbale-intro{font-size:18px;margin:0 0 22px;max-width:58ch}
.verbale-stato{font-family:'Space Mono',monospace;font-size:13px;margin:0 0 18px}
.verbale-lista{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:16px}
.verbale-voce{background:var(--bianco);border:3px solid var(--scuro);box-shadow:var(--ombra-piccola);padding:16px 18px}
.verbale-voce.segnalato{background:#fff4a6}
.verbale-vuoto{font-family:'Fredoka One',sans-serif;font-size:20px}
.verbale-capo{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin-bottom:8px}
.verbale-chi{font-weight:900}
.verbale-quando{font-family:'Space Mono',monospace;font-size:11px;opacity:.7}
.verbale-bollo{font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;
  background:var(--rosa);color:var(--bianco);padding:2px 7px}
.verbale-testo{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.verbale-azioni{margin-top:10px}
.verbale-azioni button,.link-azione{background:none;border:0;padding:0;font:inherit;font-size:12px;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--blu);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.verbale-form textarea{display:block;width:100%;font:inherit;font-size:17px;padding:13px 14px;
  border:3px solid var(--scuro);background:#fffdee;resize:vertical;margin-top:9px}
.verbale-barra{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:14px}
.verbale-conta{font-size:12px}
.verbale-entra{font-size:17px;border-left:6px solid var(--rosa);padding-left:16px;max-width:56ch}

/* indice del fascicolo: resta attaccato in alto mentre si scorre la pagina */
.indice-fascicolo{position:sticky;top:0;z-index:4;background:var(--scuro);border-bottom:var(--bordo)}
.indice-in{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;gap:6px;overflow-x:auto;
  scrollbar-width:none}
.indice-in::-webkit-scrollbar{display:none}
.indice-fascicolo a{flex:none;color:var(--bianco);text-decoration:none;font-family:'Space Mono',monospace;
  font-size:13px;font-weight:700;text-transform:uppercase;padding:12px 12px;letter-spacing:.04em}
.indice-fascicolo a:hover,.indice-fascicolo a:focus-visible{background:var(--giallo);color:var(--scuro)}
.indice-deposito{background:var(--rosa)}
.indice-conta{display:inline-block;min-width:24px;margin-left:6px;padding:0 6px;background:var(--bianco);
  color:var(--scuro);border-radius:12px;text-align:center}
.meme [id^="tit-"]{scroll-margin-top:64px}

/* sentenza d'appello */
.appello{max-width:760px;margin:46px auto 0;background:var(--bianco);border:var(--bordo);
  box-shadow:var(--ombra);padding:22px 26px;transform:rotate(-1.2deg);text-align:left}
.appello-etichetta{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;margin:0 0 10px}
.appello-testo{margin:0}
.appello-testo p{font-family:'Fredoka One',sans-serif;font-size:clamp(22px,3.4vw,32px);line-height:1.2;margin:0}
.appello-testo p::before{content:"«"}
.appello-testo p::after{content:"»"}
.appello-firma{font-size:14px;font-weight:800;margin:12px 0 0}

/* sportello del deposito */
.porta-via{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 34px}
.ufficio{max-width:var(--colonna);margin:0 0 40px;border:var(--bordo);background:var(--giallo);
  box-shadow:var(--ombra);padding:22px 24px}
.ufficio-tit{font-family:'Fredoka One',sans-serif;font-size:22px;font-weight:400;margin:0 0 16px;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ufficio-lista{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.ufficio-voce blockquote{margin:0}
.ufficio-voce blockquote p{font-size:19px;font-weight:700;margin:0;line-height:1.4}
.ufficio-voce blockquote p::before{content:"«"}
.ufficio-voce blockquote p::after{content:"»"}
.ufficio-chi{font-size:13px;margin:6px 0 0}
.ufficio-chi a{color:inherit}
.deposito{max-width:var(--colonna)}
.schede{display:flex;flex-wrap:wrap;gap:0;border-bottom:var(--bordo);margin:0 0 22px}
.linguetta{display:inline-flex;align-items:baseline;gap:4px;font:inherit;font-family:'Fredoka One',sans-serif;font-size:19px;background:var(--bianco);
  color:var(--scuro);border:var(--bordo);border-bottom:0;margin:0 -4px -4px 0;padding:12px 18px 14px;cursor:pointer}
.linguetta[aria-selected="true"]{background:var(--rosa);color:var(--bianco);position:relative;z-index:1}
.linguetta:focus-visible{outline:4px solid var(--blu);outline-offset:2px}
.linguetta-conta{font-family:'Space Mono',monospace;font-size:13px;margin-left:4px}
.linguetta-conta:empty{display:none}
.deposito-ordine{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;margin:0 0 18px}
.deposito-ordine button{font:inherit;font-weight:800;background:none;border:2px solid var(--scuro);
  padding:4px 10px;cursor:pointer}
.deposito-ordine button[aria-pressed="true"]{background:var(--scuro);color:var(--bianco)}
.pannello{margin:0 0 30px}
.deposito.a-schede .pannello-tit{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pannello-tit{font-family:'Fredoka One',sans-serif;font-size:26px;font-weight:400;margin:0 0 8px}
.pannello-intro{font-size:17px;margin:0 0 20px;max-width:60ch}
.deposito-lista{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.deposito-voce{background:var(--bianco);border:3px solid var(--scuro);box-shadow:var(--ombra-piccola);
  padding:16px 18px;overflow-wrap:anywhere}
.deposito-voce.segnalato{background:#fff4a6}
.deposito-voce.in-istruttoria{border-style:dashed;box-shadow:none}
/* il ricordo e' una ricevuta: fondo carta, bordo inferiore strappato */
.deposito-voce.tipo-ricordo{background:#fffdee;box-shadow:none;border-bottom:0;padding-bottom:26px;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,
    conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 10px repeat-x;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,
    conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 10px repeat-x}
.ricevuta-quando{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;margin:0 0 6px;
  color:var(--rosa);font-weight:700}
.ricevuta-dove{font-weight:800;margin:0 0 6px}
.polaroid{margin:4px 0 12px;background:var(--bianco);border:3px solid var(--scuro);padding:10px 10px 26px;
  box-shadow:var(--ombra-piccola);max-width:420px;transform:rotate(-1.5deg)}
.deposito-voce:nth-child(even) .polaroid{transform:rotate(1.2deg)}
.polaroid img{display:block;width:100%;height:auto;background:#eee;min-height:80px}
.deposito-link{display:inline-block;margin-top:8px;font-family:'Space Mono',monospace;font-size:13px;
  font-weight:700;color:var(--blu)}
.timbri{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.timbro{font:inherit;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:6px;
  background:var(--bianco);border:2px solid var(--scuro);border-radius:20px;padding:4px 11px;cursor:pointer}
.timbro[aria-pressed="true"]{background:var(--giallo);box-shadow:3px 3px 0 var(--scuro)}
.timbro:disabled{opacity:.6;cursor:wait}
.timbro-n{font-family:'Space Mono',monospace}
.deposito-form input[type="url"],.deposito-form input:not([type]){display:block;width:100%;font:inherit;
  font-size:17px;padding:11px 14px;border:3px solid var(--scuro);background:#fffdee;margin:9px 0 16px}
.deposito-form input[type="file"]{display:block;margin:9px 0 12px;font:inherit;font-size:14px}
.dep-anteprima{margin:0 0 12px}
.dep-anteprima img{display:block;max-width:260px;max-height:260px;border:3px solid var(--scuro);margin-bottom:6px}
.nota-cavolata{font-size:13px;margin:0 0 16px;max-width:60ch}

/* prontuario */
.prontuario{border:var(--bordo);box-shadow:var(--ombra);padding:28px;max-width:520px;width:calc(100% - 32px);
  background:var(--giallo);color:var(--scuro)}
.prontuario::backdrop{background:rgba(17,17,17,.6)}
.prontuario h2{font-size:28px;margin-bottom:6px}
.prontuario>p{font-size:13px;margin:0 0 18px}
.prontuario dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0 0 22px;align-items:center}
.prontuario dt{white-space:nowrap}
.prontuario dd{margin:0;font-size:15px}

/* albo */
.spoglio-nota{font-family:'Space Mono',monospace;font-size:13px;line-height:1.6;max-width:70ch;margin:0 0 34px}
.podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end;margin-bottom:48px}
.gradino{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:var(--bianco);
  border:var(--bordo);box-shadow:var(--ombra);padding:22px 20px 20px;position:relative}
.gradino.oro{background:var(--giallo);min-height:360px;transform:rotate(-1deg)}
.gradino.argento{background:var(--bianco);min-height:310px}
.gradino.bronzo{background:var(--rosa);color:var(--scuro);min-height:280px}
.gradino:hover{transform:translate(-3px,-3px)}
.medaglia{width:64px;height:64px;border-radius:50%;border:4px solid var(--scuro);display:grid;place-items:center;
  font-family:'Fredoka One',sans-serif;font-size:30px;background:#e8b923;color:var(--scuro);
  box-shadow:4px 4px 0 var(--scuro);margin-bottom:6px;transform:rotate(-8deg)}
.argento .medaglia{background:#d6d6d6}
.bronzo .medaglia{background:#c9844a}
.gradino-premio{font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.gradino-titolo{font-family:'Fredoka One',sans-serif;font-weight:400;font-size:24px;line-height:1.15}
.gradino-sentenza{font-size:15px;quotes:"«" "»";flex:1}
.gradino-voti{font-family:'Space Mono',monospace;font-size:11px;border-top:2px dashed currentColor;padding-top:10px}
.classifica{list-style:none;padding:0;margin:0;display:grid;gap:14px;max-width:var(--colonna)}
.classifica-voce{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;
  background:var(--bianco);border:3px solid var(--scuro);box-shadow:var(--ombra-piccola);padding:14px 18px}
.classifica-pos{font-family:'Space Mono',monospace;font-weight:700;font-size:26px;text-align:center}
.classifica-corpo a{font-family:'Fredoka One',sans-serif;font-size:19px;text-decoration:none;
  border-bottom:3px solid var(--rosa)}
.classifica-corpo q{display:block;font-size:14px;margin-top:6px;quotes:"«" "»"}
.classifica-voti{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;white-space:nowrap}
.classifica-nota{display:block;font-size:12px;font-weight:900;margin-top:6px}
.maglia-nera{background:var(--scuro);color:var(--bianco);box-shadow:5px 5px 0 var(--rosa)}
.maglia-nera .classifica-corpo a{border-color:var(--giallo)}

/* carosello */
.tv{background:var(--bianco);color:var(--scuro);border:var(--bordo);border-color:var(--bianco);
  box-shadow:12px 12px 0 var(--rosa);padding:16px}
.tv:fullscreen{display:flex;flex-direction:column;justify-content:center;padding:2vh 3vw;background:var(--scuro);color:var(--bianco)}
.tv:fullscreen .tv-schermo{max-height:78vh;aspect-ratio:auto;flex:1}
.tv-schermo{position:relative;aspect-ratio:16/9;background:var(--scuro);border:var(--bordo);overflow:hidden}
.tv-video,.tv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tv-tocco{position:absolute;inset:0;z-index:4;cursor:pointer}
.tv.in-pausa .tv-tocco::after{content:"PAUSA · tocca per riprendere";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%) rotate(-3deg);font-family:'Fredoka One',sans-serif;font-size:clamp(18px,3vw,30px);
  background:var(--giallo);color:var(--scuro);border:var(--bordo);padding:10px 18px;white-space:nowrap}
.tv-scheda{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(16px,4vw,40px);background:repeating-linear-gradient(45deg,var(--blu) 0 18px,#0028cc 18px 36px);color:var(--bianco)}
.tv-scheda img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.tv-scheda-occhiello,.tv-scheda-sentenza{position:relative;margin:0}
.tv-scheda-occhiello{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--giallo)}
.tv-scheda-sentenza{font-family:'Fredoka One',sans-serif;font-size:clamp(22px,4vw,46px);line-height:1.15;max-width:24ch;margin-top:8px}
.tv-sigla{position:absolute;inset:0;z-index:5;display:grid;place-items:center;overflow:hidden}
.sipario{position:absolute;top:0;bottom:0;width:50%;
  background:repeating-linear-gradient(90deg,#c8102e 0 22px,#9e0b23 22px 44px);transition:transform .9s cubic-bezier(.7,0,.3,1)}
.sipario.sx{left:0;border-right:4px solid var(--scuro)}
.sipario.dx{right:0;border-left:4px solid var(--scuro)}
.tv-sigla.aperto .sipario.sx{transform:translateX(-100%)}
.tv-sigla.aperto .sipario.dx{transform:translateX(100%)}
.tv-sigla.aperto .sigla-testo{opacity:0}
.sigla-testo{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;
  text-align:center;background:var(--giallo);border:var(--bordo);box-shadow:var(--ombra);padding:22px 26px;
  max-width:min(520px,90%);transition:opacity .3s}
.sigla-testo b{font-size:clamp(34px,6vw,58px);font-weight:400}
.sigla-testo span,.sigla-testo small,.sigla-patto{font-size:14px;margin:0}
.sigla-testo small{display:flex;flex-direction:column;align-items:center;gap:10px}
.tv-fine{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;background:var(--scuro);color:var(--bianco);padding:20px}
.tv-fine p{font-size:clamp(30px,6vw,64px);line-height:1.05;margin:0;color:var(--giallo)}
.tv-barre{display:flex;gap:4px;margin:12px 0 4px}
.tv-barre span{flex:1;height:7px;background:#ddd;border:1px solid var(--scuro);overflow:hidden}
.tv-barre i{display:block;height:100%;background:var(--rosa);transform-origin:left;transform:scaleX(0)}
.tv-info{padding:10px 4px 4px;min-height:140px}
.tv-num{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:0}
.tv-titolo{font-size:clamp(24px,3.6vw,38px);margin:6px 0 6px}
.tv-sentenza{font-weight:800;margin:0;max-width:70ch}
.tv-quando{font-family:'Space Mono',monospace;font-size:12px;margin:8px 0 0}
.tv-comandi{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:3px dashed var(--scuro);padding-top:14px}
.tv:fullscreen .tv-comandi{border-color:var(--bianco)}
.tasto{font-size:20px;min-width:52px;height:48px;background:var(--giallo);color:var(--scuro);
  border:3px solid var(--scuro);box-shadow:3px 3px 0 var(--scuro);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 12px}
.tasto.testo{font-family:'Fredoka One',sans-serif;font-size:15px;background:var(--bianco)}
.tasto:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--scuro)}
.tv-regia{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px;font-size:14px;font-weight:800}
.tv-regia select{display:block;margin-top:4px;font:inherit;font-size:15px;padding:8px 10px;
  border:3px solid var(--scuro);background:var(--bianco)}
.tv-spot{display:flex;align-items:center;gap:8px;align-self:flex-end}
.tv-spot input{width:20px;height:20px;accent-color:var(--scuro)}

/* sportelli: moduli dell'area conto e delle proposte */
.sportello .wrap>*{max-width:var(--colonna)}
.modulo-carta{background:var(--bianco);border:var(--bordo);box-shadow:var(--ombra);margin:0 0 30px}
.modulo-capo{display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:18px 22px;background:var(--rosa);color:var(--scuro);border-bottom:var(--bordo)}
.modulo-capo h2{font-size:clamp(20px,2.6vw,26px);line-height:1.15}
.modulo-capo>span{flex:none;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;color:var(--scuro);
  border:3px solid var(--scuro);background:var(--giallo);padding:6px 9px;transform:rotate(5deg)}
.modulo-campi{padding:24px 22px}
.modulo-campi fieldset{border:0;border-top:3px dashed var(--scuro);margin:0 0 10px;padding:18px 0 6px;min-width:0}
.modulo-campi fieldset:first-child{border-top:0;padding-top:0}
.modulo-campi legend{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;background:var(--scuro);color:var(--giallo);padding:4px 10px;transform:rotate(-1deg)}
.campo{display:block;width:100%;min-width:0;margin:8px 0 6px;padding:12px 14px;border:3px solid var(--scuro);
  border-radius:0;background:#fffdee;color:var(--scuro);font:inherit;font-size:16px}
textarea.campo{resize:vertical}
.campo:focus{outline:4px solid var(--blu);outline-offset:2px}
.modulo-campi .campo-label{margin-top:14px}
.campi-affiancati{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dichiarazione{display:flex;gap:12px;align-items:flex-start;padding:12px;border:3px solid var(--scuro);
  margin:10px 0;cursor:pointer;font-size:15px}
.dichiarazione:has(input:checked){background:#fff4a6}
.dichiarazione input{flex:none;width:21px;height:21px;margin:2px 0 0;accent-color:var(--scuro)}
.bollo-fila{display:flex;gap:20px;align-items:center;margin:22px 0}
.marca{flex:none;width:112px;height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;text-align:center;background:var(--verde);border:3px dashed var(--scuro);outline:4px solid var(--verde);
  font-family:'Space Mono',monospace;font-size:9px;text-transform:uppercase;position:relative;transform:rotate(3deg)}
.marca b{font-family:'Fredoka One',sans-serif;font-size:24px;font-weight:400}
.marca::after{content:"PROTOCOLLATO";position:absolute;inset:auto -14px 34px -14px;font-family:'Fredoka One',sans-serif;
  font-size:17px;color:var(--rosa);border:3px solid var(--rosa);background:rgba(255,255,255,.85);
  transform:rotate(-24deg) scale(3);opacity:0;text-align:center}
.marca.timbrata::after{animation:timbro .35s cubic-bezier(.3,1.6,.6,1) forwards}
@keyframes timbro{to{transform:rotate(-24deg) scale(1);opacity:1}}
.anteprima-video{aspect-ratio:16/9;border:3px solid var(--scuro);background:var(--scuro);color:var(--bianco);margin:8px 0 6px}
.anteprima-video iframe{width:100%;height:100%;border:0}
.anteprima-video p{padding:18px;margin:0;font-size:14px}
.modulo-nota{font-size:13px;line-height:1.6;max-width:62ch}
.protocollo-grande{font-family:'Space Mono',monospace;font-size:clamp(22px,4vw,34px);font-weight:700;
  border:4px double var(--scuro);display:inline-block;padding:8px 14px;transform:rotate(-2deg)}
.dati{margin:0 0 22px}
.dati dt{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:14px}
.dati dd{margin:2px 0 0;font-size:18px;font-weight:800;overflow-wrap:anywhere}
.profilo-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.elenco-atti{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px}
.elenco-atti li{border-left:6px solid var(--verde);padding-left:12px}
.elenco-atti li.respinta{border-color:var(--rosa)}
.elenco-atti li.in_istruttoria{border-color:var(--giallo)}
.elenco-atti a,.elenco-atti b{font-family:'Fredoka One',sans-serif;font-weight:400;font-size:17px;display:block}
.elenco-atti span{display:block;font-size:13px;margin:3px 0 4px}
.uscita{margin-top:20px;padding-top:26px;border-top:4px dashed var(--scuro)}
.uscita h2{font-size:28px}
.informativa{background:var(--bianco);border:var(--bordo);box-shadow:var(--ombra);padding:clamp(20px,4vw,44px)}
.informativa h2{font-size:24px;margin:30px 0 10px}
.informativa h2:first-child{margin-top:0}
.informativa p,.informativa li{font-size:17px;max-width:66ch}
.informativa li{margin-bottom:8px}
.patto-stato{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;background:#fff4a6;
  border:3px solid var(--scuro);padding:12px 16px;margin:14px 0}
.patto-stato p{margin:0;font-weight:800;font-size:15px}

/* ------------------------------------------------------------- piccoli */
@media (max-width:1180px){
  /* Fra 821 e 1180 px la colonna arriva a 20 px dal bordo: le forme, ancorate
     ai bordi, ci entrerebbero dentro e coprirebbero l'inizio delle righe. Il
     gruppo si allarga di 40 px per lato e la sezione taglia quello che esce,
     senza creare scorrimento orizzontale. */
  .sez{overflow-x:clip}
  .forme{left:-40px;right:-40px}
}
@media (max-width:820px){
  .podio{grid-template-columns:1fr}
  .gradino.oro,.gradino.argento,.gradino.bronzo{min-height:0;transform:none}
  .podio .oro{order:-1}
  .profilo-griglia{grid-template-columns:1fr}
  /* Carosello: sigla e schermata finale crescono col testo invece di farsi
     tagliare da uno schermo 16:9 alto 180 pixel. */
  .tv-schermo:has(>.tv-sigla:not([hidden])),.tv-schermo:has(>.tv-fine:not([hidden])){aspect-ratio:auto}
  .tv-sigla,.tv-fine{position:relative;inset:auto;min-height:220px;padding:18px 10px}
  .schermo{aspect-ratio:auto;min-height:340px}
  .schermo.acceso{aspect-ratio:16/9;min-height:0}
  .promemoria-layout{grid-template-columns:1fr;gap:36px}
  .promemoria-citazioni{grid-template-columns:1fr}
  .meme-reperti{grid-template-columns:1fr;gap:28px}
  .pie-testata{align-items:flex-start;flex-direction:column;gap:30px}
  .pie-griglia{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .pie-istituto{grid-column:1 / -1}
  .conta{grid-template-columns:repeat(3,1fr)}
  :root{--pad-testa:40px;--pad-sez-su:52px;--pad-sez-giu:62px}
  .f{display:none}
}
@media (max-width:520px){
  .linguetta{font-size:16px;padding:10px 12px 12px}
  .timbro-nome{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .appello{padding:18px;transform:none}
  .ufficio{padding:18px}
  .promemoria-canali{grid-template-columns:1fr}
  .promemoria-canale{display:grid;grid-template-columns:24px 34px minmax(0,1fr);
    text-align:left;gap:3px 10px;padding:12px}
  .promemoria-canale input{position:static;grid-row:1 / 3;align-self:center}
  .promemoria-canale>span{grid-row:1 / 3;margin:0}
  .promemoria-canale small{grid-column:3;margin:0}
  .promemoria-capo{padding:18px 16px;gap:10px}
  .promemoria-capo h3{font-size:21px}
  .promemoria-capo>span{font-size:9px;padding:6px}
  .promemoria-campi{padding:20px 16px}
  .pie-griglia{grid-template-columns:1fr;gap:30px}
  .pie-timbro{transform:rotate(3deg)}
  .pie-orologio{max-width:340px;width:100%}
  .vicini{grid-template-columns:1fr}
  .campi-affiancati{grid-template-columns:1fr}
  .classifica-voce{grid-template-columns:40px minmax(0,1fr);padding:12px}
  .classifica-voti{grid-column:2}
  .bollo-fila{flex-direction:column;align-items:flex-start}
  .tv{padding:10px;box-shadow:6px 6px 0 var(--rosa)}
  .tasto{min-width:46px;height:44px}
  .sigla-testo{padding:14px;max-width:100%}
  .sigla-testo b{display:none}
  .tv-fine .btn-fila{flex-direction:column;align-items:stretch}
  .ticker{padding:7px 0}
  .ticker b{font-size:14px}
  .audio{font-size:15px;padding:8px 12px}
  .voto-btn{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  .ticker-in{animation:none}
  .f{animation:none}
  .js .appari{opacity:1}
  .js .appari.dentro-vista{animation:none}
  .q .n.gira{animation:none}
  .scheda,.btn{transition:none}
  .sipario,.sigla-testo{transition:none}
  .voto-btn.on .voto-ico,.marca.timbrata::after{animation:none}
  .marca.timbrata::after{transform:rotate(-24deg) scale(1);opacity:1}
}
@media print{
  .forme,.ticker,.top nav{display:none}
  body{background:#fff}
  .scheda,.sentenza,.q{box-shadow:none}
}
