/* Storiascopio — lo stile di tutte le pagine: «A · Nastro che vola» (27/10). Paytone One per i titoli, Mulish per il testo.
   Prima c'erano 5 vestiti (temi/N.css): sono in sito/scartati-27-10/. In fondo al file le parti nuove del 27/10. */
:root {
  --sc-sfondo: #FFFDF7; --sc-sfondo2: #FFFFFF; --sc-testo: #1E2233; --sc-tenue: #535970; --sc-accento: #6C5CE7; --sc-accento-testo: #fff; --sc-accento2: #C8246C;
  --sc-bordo: #E7E2F3; --sc-campo: #F2F0FB; --sc-raggio: 24px; --sc-font: 'Mulish', system-ui, sans-serif; --sc-titoli: 'Paytone One', 'Mulish', sans-serif; --sc-linea: #1E2233;
  --sc-ombra: 0 24px 60px rgba(30, 34, 51, .18); --sc-velo: rgba(20, 18, 46, .58); --sc-link: #4B3BC4; --sc-fuoco: #0E7FD0;
  --testata-sfondo: rgba(255, 253, 247, .94); --testata-testo: #1E2233; --piede-sfondo: #1E2233; --piede-testo: #E8EBFF;
  --plancia-sfondo: linear-gradient(180deg, #E4E6FF 0, #F6F1FF 38%, #FFFDF7 72%); --plancia-testo: #1E2233; --vetro: rgba(255, 255, 255, .94);
  --marchio-1: #7B5CF0; --marchio-2: #F2C81B; --marchio-3: #F04E63;
  --mappa-mare: #E3F2FC; --mappa-terre: #E8DDBF; --corpo: 18px;
  --ombra-btn: 0 5px 0 #DCD7F5; --viola-scuro: #4B3BC4;
  --arcobaleno: linear-gradient(90deg, #7B5CF0, #3D6FF2, #0E95E8, #06B2D6, #0FBFA8, #22C770, #8BCB2C, #F2C81B, #FFA21A, #FF7433, #F04E63, #EE5AAE);
}
@font-face { font-family: 'Paytone One'; src: url(/risorse/caratteri/paytone-one-latin-400-normal.woff2) format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Mulish'; src: url(/risorse/caratteri/mulish-latin-wght-normal.woff2) format('woff2'); font-weight: 200 1000; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; overflow-x: hidden; background: var(--sc-sfondo); color: var(--sc-testo); font: 400 var(--corpo)/1.6 var(--sc-font); }
img, svg { display: block; max-width: 100%; }
h1, h2, h3 { font-family: var(--sc-titoli); line-height: 1.12; margin: 0 0 .4em; text-wrap: balance; }
h1 { font-size: clamp(32px, 5vw, 54px); } h2 { font-size: clamp(24px, 3vw, 34px); } h3 { font-size: 20px; }
p { margin: 0 0 1em; }
a { color: var(--sc-link, var(--sc-accento)); text-underline-offset: 3px; }
button, select, input { font: inherit; color: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.ico { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: -.22em; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 4px solid var(--sc-fuoco, var(--sc-accento)); outline-offset: 3px; }
.ampia { width: min(1240px, 100% - 32px); margin-inline: auto; }
.salta { position: absolute; left: 12px; top: -80px; z-index: 200; padding: 12px 18px; border-radius: 12px; background: var(--sc-accento); color: var(--sc-accento-testo); font-weight: 700; }
.salta:focus { top: 12px; }
main { display: block; outline: none; }
.sopratitolo { margin: 0 0 6px; font-weight: 800; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--sc-tenue); display: flex; align-items: center; gap: 8px; }

/* testata */
.testata { position: sticky; top: 0; z-index: 50; background: var(--testata-sfondo); color: var(--testata-testo); border-bottom: 1px solid var(--sc-bordo); }
.testata__riga { display: flex; align-items: center; gap: 14px; min-height: 68px; }
.marchio { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: 800 23px var(--sc-titoli); letter-spacing: .01em; flex: none; }
.marchio__segno { width: 38px; height: 38px; }
.nav { display: flex; gap: 2px; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 12px; border-radius: 999px; color: inherit; text-decoration: none; font-weight: 700; font-size: 15px; }
.nav a:hover, .nav a[aria-current] { background: var(--sc-accento); color: var(--sc-accento-testo); }
.testata__azioni { display: flex; gap: 8px; }
.tondo { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); display: grid; place-items: center; cursor: pointer; flex: none; }
.tondo .ico { width: 22px; height: 22px; }
.testata .tondo { background: transparent; color: inherit; border-color: color-mix(in srgb, currentColor 30%, transparent); }
.apri-menu { display: none; }
@media (max-width: 1180px) {
  .apri-menu { display: grid; } .testata__azioni { margin-left: auto; }
  .nav { display: none; position: absolute; left: 12px; right: 12px; top: 72px; flex-direction: column; flex-wrap: nowrap; padding: 10px; border-radius: 22px; background: var(--sc-sfondo2); color: var(--sc-testo); box-shadow: var(--sc-ombra); border: 1px solid var(--sc-bordo); max-height: calc(100dvh - 90px); overflow: auto; }
  .nav.aperto { display: flex; } .nav a { font-size: 19px; padding: 12px 16px; min-height: 52px; }
}

/* bottoni */
.btn, .sc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 8px 20px; border-radius: 999px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); font: 700 16px var(--sc-font); text-decoration: none; cursor: pointer; }
.btn--pieno, .sc-btn--pieno { background: var(--sc-accento); border-color: var(--sc-accento); color: var(--sc-accento-testo); }
.btn--icona { width: 50px; padding: 0; }
.btn:disabled, .sc-btn:disabled { opacity: .45; cursor: default; }
.bottoni { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0; }
.pillola { min-height: 44px; padding: 6px 16px; border-radius: 999px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); font-weight: 700; cursor: pointer; }
.sc-mini { width: 44px; height: 44px; border-radius: 12px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); display: grid; place-items: center; cursor: pointer; }
.sc-mini:disabled { opacity: .3; }
.campo { display: grid; gap: 4px; font-weight: 700; font-size: 15px; }
.campo select { min-height: 50px; padding: 8px 12px; border-radius: 14px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); font-weight: 600; max-width: 100%; }

/* ======== la linea (comune) ======== */
.sc-linea { position: relative; overflow: hidden; touch-action: none; user-select: none; -webkit-user-select: none; cursor: grab; outline-offset: -4px; }
.sc-linea.trascina { cursor: grabbing; }
.sc-svg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; }
.sc-banda__fondo { fill: color-mix(in srgb, var(--era) 16%, transparent); }
.sc-banda:nth-child(even) .sc-banda__fondo { fill: color-mix(in srgb, var(--era) 24%, transparent); }
.sc-banda { cursor: zoom-in; }
.sc-banda__nome { font: 700 13px var(--sc-font); fill: color-mix(in srgb, var(--era) 55%, var(--sc-testo)); letter-spacing: .02em; pointer-events: none; }
.sc-asse__linea { stroke: var(--sc-linea); stroke-width: 4; stroke-linecap: round; }
.sc-asse__onde { display: none; }
.sc-tacca line { stroke: var(--sc-linea); stroke-width: 1.5; }
.sc-tacca.forte line { stroke-width: 2.5; }
.sc-tacca text { font: 600 11.5px var(--sc-font); fill: var(--sc-tenue); }
.sc-tacca.forte text { font-weight: 800; fill: var(--sc-testo); }
.sc-piega path { fill: none; stroke: var(--sc-accento2); stroke-width: 3; stroke-linecap: round; }
.sc-piega text { font: 700 12px var(--sc-font); fill: var(--sc-accento2); }
.sc-piega__filo { stroke: var(--sc-accento2); stroke-width: 1.5; stroke-dasharray: 3 4; }
.sc-oggi circle { fill: var(--sc-accento2); stroke: var(--sc-sfondo); stroke-width: 3; }
.sc-oggi text { font: 800 12px var(--sc-font); fill: var(--sc-accento2); }
.sc-ev { cursor: pointer; }
.sc-ev__punto { fill: var(--era); stroke: var(--sc-sfondo); stroke-width: 2; }
.sc-segno__alone { fill: var(--era); opacity: .25; }
.sc-segno__dentro { fill: var(--sc-sfondo); }
.sc-ev__gambo { stroke: color-mix(in srgb, var(--era) 65%, var(--sc-testo)); stroke-width: 1.5; }
.sc-ev__fondo { fill: var(--sc-sfondo2); stroke: var(--era); stroke-width: 2; }
.sc-ev__etichetta text { font: 700 13px var(--sc-font); fill: var(--sc-testo); }
.sc-ev:hover .sc-ev__fondo, .sc-ev:focus .sc-ev__fondo, .sc-ev.scelto .sc-ev__fondo { fill: var(--era); }
.sc-ev:hover .sc-ev__etichetta text, .sc-ev:focus .sc-ev__etichetta text, .sc-ev.scelto .sc-ev__etichetta text { fill: var(--era-t, #111); }
.sc-ev:focus { outline: none; } .sc-ev:focus-visible .sc-ev__fondo { stroke: var(--sc-testo); stroke-width: 3; }
[data-asse="y"] .sc-tacca text { font-size: 11px; }

/* ======== HOME: la plancia ======== */
.plancia { position: relative; height: calc(100dvh - 69px); min-height: 640px; max-height: 1100px; overflow: hidden; background: var(--plancia-sfondo); color: var(--plancia-testo); }
.plancia__cielo { position: absolute; inset: 0; pointer-events: none; }
.plancia__linea { position: absolute; inset: 0; transition: right .3s; }
#linea { position: absolute; inset: 0; --sc-pos-x: .46; }
.mirino { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; pointer-events: none; z-index: 1; background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--sc-accento2) 70%, transparent) 30%, color-mix(in srgb, var(--sc-accento2) 70%, transparent) 70%, transparent); }
.sei-qui { position: absolute; left: 50%; top: 18px; transform: translateX(-50%); z-index: 3; text-align: center; pointer-events: none; padding: 6px 16px; border-radius: 18px; background: var(--vetro); max-width: calc(100% - 24px); }
.sei-qui small { display: block; font-size: 12px; font-weight: 800; letter-spacing: .25em; text-transform: uppercase; color: var(--sc-accento2); }
.sei-qui b { display: block; font: 800 clamp(24px, 3.4vw, 46px)/1.1 var(--sc-titoli); white-space: nowrap; }
.sei-qui span { display: inline-block; font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.fumetto { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); z-index: 4; display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 999px; background: var(--sc-accento); color: var(--sc-accento-testo); font-weight: 800; box-shadow: var(--sc-ombra); }
.fumetto[hidden] { display: none; }
.fumetto .ico { width: 26px; height: 26px; } .fumetto .tondo { width: 44px; height: 44px; background: rgba(255, 255, 255, .2); border-color: transparent; color: inherit; }
.racconto { position: absolute; left: 20px; bottom: 20px; z-index: 4; width: min(400px, calc(100% - 40px)); padding: 18px 20px; border-radius: var(--sc-raggio); background: var(--vetro); box-shadow: var(--sc-ombra); }
.racconto h1 { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 6px; } .racconto h1 span { color: var(--sc-accento); }
.racconto p { font-size: 16px; margin-bottom: 12px; color: var(--sc-tenue); }
.cerca { position: relative; }
.cerca__campo, .sc-cerca__campo { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 14px; border-radius: 16px; background: var(--sc-campo); border: 2px solid var(--sc-bordo); color: var(--sc-tenue); }
.cerca__campo input, .sc-cerca__campo input { flex: 1; min-width: 0; border: 0; background: none; color: var(--sc-testo); font-size: 17px; min-height: 48px; }
.cerca__campo input:focus, .sc-cerca__campo input:focus { outline: none; } .cerca__campo:focus-within, .sc-cerca__campo:focus-within { border-color: var(--sc-accento); }
.risultati { position: absolute; left: 0; right: 0; bottom: 60px; z-index: 10; max-height: 50vh; overflow: auto; background: var(--sc-sfondo2); border-radius: 16px; padding: 6px; border: 1px solid var(--sc-bordo); box-shadow: var(--sc-ombra); }
.comandi { position: absolute; right: 20px; bottom: 20px; z-index: 4; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; max-width: min(660px, calc(100% - 460px)); }
.unita { margin: 0; padding: 6px 14px; border-radius: 999px; background: var(--vetro); font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.unita b { color: var(--sc-accento); }
.zoom { display: flex; gap: 8px; }
.plancia .zoom .tondo { width: 58px; height: 58px; background: var(--sc-sfondo2); box-shadow: var(--sc-ombra); }
.salti { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.salti button { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; min-width: 44px; padding: 4px 12px 4px 4px; border-radius: 999px; border: 2px solid var(--era); background: var(--sc-sfondo2); color: var(--sc-testo); font-weight: 700; font-size: 14px; cursor: pointer; }
.salti i { width: 30px; height: 30px; border-radius: 50%; background: var(--era); color: var(--era-t, #111); display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: 13px; }
.accanto { position: absolute; top: 0; right: 0; bottom: 0; width: 440px; z-index: 6; overflow: auto; background: var(--sc-sfondo2); border-left: 1px solid var(--sc-bordo); box-shadow: -20px 0 40px rgba(0, 0, 0, .12); }
.accanto[hidden] { display: none; }
.accanto > .sc-chiudi { position: sticky; float: right; top: 12px; margin: 12px 12px -60px 0; }
.sc-con-scheda .plancia__linea { right: 440px; }
.sc-con-scheda .comandi { right: 460px; max-width: calc(100% - 900px); }
.sc-con-scheda .comandi .salti { display: none; }
.accanto .sc-scheda__illu { aspect-ratio: 16 / 9; }
.accanto .sc-vicini { grid-template-columns: 1fr; } .accanto .sc-vicino--dopo { grid-column: auto; }
.avviso-js, .nota-lingua { padding: 14px 18px; border-radius: 16px; background: var(--sc-campo); margin-top: 20px; }

@media (max-width: 1599px) and (min-width: 901px) { .plancia .salti button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .plancia .salti button { padding-right: 4px; } }
@media (max-width: 900px) {
  .plancia { height: auto; min-height: 0; max-height: none; display: flex; flex-direction: column; padding: 14px 0 16px; }
  .plancia__linea { position: relative; inset: auto; height: 66vh; min-height: 440px; order: 2; }
  .mirino { display: none; }
  .racconto, .comandi { position: relative; left: auto; right: auto; bottom: auto; width: auto; max-width: none; margin: 0 16px; box-shadow: none; }
  .racconto { order: 0; padding: 0; background: none; } .racconto h1 { font-size: 30px; } .racconto p { font-size: 16px; margin-bottom: 10px; }
  .risultati { bottom: auto; top: 58px; }
  #linea { top: 64px; }
  .sei-qui { left: 12px; right: 12px; top: 6px; transform: none; text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; padding: 6px 14px; max-width: none; }
  .sei-qui small { width: 100%; letter-spacing: .18em; } .sei-qui b { font-size: 22px; white-space: nowrap; }
  .plancia__linea { margin-top: 12px; }
  .racconto { border: 0 !important; backdrop-filter: none !important; }
  .comandi { order: 3; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-top: 12px; }
  .comandi .unita { order: 2; } .comandi .zoom { order: 1; } .salti { order: 3; justify-content: flex-start; width: 100%; }
  .salti button span { display: inline; } .salti button { padding-right: 12px; }
  .fumetto { top: 40%; font-size: 15px; white-space: nowrap; }
  .accanto { display: none !important; }
}

/* ======== pannelli (scheda, ricerca) ======== */
.sc-velo { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; background: var(--sc-velo); opacity: 0; transition: opacity .2s; }
.sc-velo.aperto { opacity: 1; }
.sc-pannello { position: relative; width: min(760px, 100%); max-height: calc(100dvh - 32px); overflow: auto; background: var(--sc-sfondo2); color: var(--sc-testo); border-radius: var(--sc-raggio); box-shadow: var(--sc-ombra); transform: translateY(16px); transition: transform .25s; }
.sc-velo.aperto .sc-pannello { transform: none; }
.sc-pannello__titolo { margin: 0; padding: 22px 80px 0 24px; font-size: 28px; }
.sc-pannello__corpo { padding: 18px 24px 24px; }
.sc-chiudi { position: absolute; top: 12px; right: 12px; z-index: 3; width: 48px; height: 48px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--sc-campo); color: var(--sc-testo); cursor: pointer; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); }
.sc-chiudi .ico { width: 24px; height: 24px; }
.sc-avviso { position: fixed; left: 50%; bottom: 22px; z-index: 130; transform: translate(-50%, 180%); max-width: calc(100% - 32px); padding: 14px 22px; border-radius: 999px; background: var(--sc-testo); color: var(--sc-sfondo); font-weight: 700; transition: transform .3s; }
.sc-avviso.visibile { transform: translate(-50%, 0); }
.sc-cerca__lista { margin-top: 8px; display: grid; gap: 2px; }
.sc-cerca__oppure { margin: 16px 0 8px; font-weight: 700; color: var(--sc-tenue); }
.sc-cerca__ere { display: flex; flex-wrap: wrap; gap: 6px; }
.sc-cerca__ere a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 2px solid var(--era); color: var(--sc-testo); text-decoration: none; font-weight: 700; font-size: 15px; }
.sc-risultato { display: flex; justify-content: space-between; gap: 10px; width: 100%; min-height: 50px; padding: 10px 14px; border: 0; border-left: 6px solid var(--era); border-radius: 6px; background: none; color: var(--sc-testo); text-align: left; text-decoration: none; cursor: pointer; }
.sc-risultato:hover, .sc-risultato:focus { background: var(--sc-campo); }
.sc-risultato span { color: var(--sc-tenue); font-size: 15px; white-space: nowrap; }
.sc-vuoto { color: var(--sc-tenue); padding: 8px 14px; margin: 0; }

/* scheda evento */
.sc-scheda-pannello .sc-pannello__corpo { padding: 0; }
.sc-scheda__illu { position: relative; aspect-ratio: 16 / 7; overflow: hidden; background: var(--era); }
.sc-scheda__illu img { width: 100%; height: 100%; object-fit: cover; }
.sc-scheda__segno, .evento__segno { position: absolute; left: 14px; bottom: 12px; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--era); color: var(--era-t, #111); box-shadow: 0 0 0 4px rgba(255, 255, 255, .85); }
.sc-scheda__segno .ico, .evento__segno .ico { width: 30px; height: 30px; }
.sc-credito { position: absolute; right: 10px; bottom: 8px; font-size: 12px; color: #fff; background: rgba(0, 0, 0, .55); padding: 2px 8px; border-radius: 6px; }
.sc-scheda__corpo { padding: 20px 24px 26px; }
.sc-scheda__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; font-size: 14px; font-weight: 700; }
.sc-era, .chip-era { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; border-radius: 999px; background: var(--era); color: var(--era-t, #111); text-decoration: none; font-weight: 800; font-size: 14px; }
.sc-cat, .chip-cat { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border-radius: 999px; background: var(--sc-campo); font-weight: 700; font-size: 14px; }
.sc-scheda__titolo { margin: 0; font-size: clamp(26px, 3.6vw, 38px); }
.sc-scheda__data { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 8px 0 14px; font-weight: 700; color: var(--sc-tenue); }
.sc-luogo { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.sc-scheda__testo { font-size: 19px; line-height: 1.6; margin: 0 0 14px; }
.sc-presto { color: var(--sc-tenue); }
.sc-perche, .perche { margin: 0 0 12px; padding: 12px 16px; border-radius: 14px; background: color-mix(in srgb, var(--era) 16%, var(--sc-sfondo2)); border-left: 5px solid var(--era); }
.sc-perche b, .perche b { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.sc-fonte, .fonte { font-size: 15px; color: var(--sc-tenue); margin: 0 0 14px; }
.sc-scheda__azioni { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.sc-vicini { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0; }
.sc-vicino { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 10px 14px; border: 2px solid var(--sc-bordo); border-radius: 16px; background: none; color: var(--sc-testo); font-weight: 700; font-size: 16px; text-align: left; cursor: pointer; }
.sc-vicino--dopo { justify-content: space-between; text-align: right; grid-column: 2; }
.sc-vicino small { display: block; font-weight: 600; color: var(--sc-tenue); font-size: 13px; }
.sc-altrove h3 { margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--sc-tenue); }
.sc-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 0 6px 6px 0; padding: 6px 14px; border-radius: 999px; border: 2px solid var(--era); background: none; color: var(--sc-testo); font-weight: 600; font-size: 15px; cursor: pointer; text-align: left; }
@media (max-width: 700px) {
  .sc-velo.sc-scheda-pannello { place-items: end stretch; padding: 0; }
  .sc-scheda-pannello .sc-pannello { width: 100%; max-height: 90dvh; border-radius: var(--sc-raggio) var(--sc-raggio) 0 0; }
  .sc-scheda__illu { aspect-ratio: 16 / 8; } .sc-scheda__corpo { padding: 16px 18px 24px; }
  .sc-vicini { grid-template-columns: 1fr; } .sc-vicino--dopo { grid-column: auto; }
  .sc-pannello__titolo { font-size: 24px; padding: 20px 76px 0 18px; } .sc-pannello__corpo { padding: 14px 18px 20px; }
}

/* ======== sezioni e pagine ======== */
.briciole ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 0; padding: 14px 0 0; margin: 0; font-size: 15px; color: var(--sc-tenue); }
.briciole li + li::before { content: '›'; margin: 0 8px; }
.briciole a { color: inherit; }
/* 4/11 sera: area toccabile ≥ 44 px anche su tablet e PC, senza ingrandire il testo né l'altezza della riga (il margine negativo compensa il padding) */
.briciole a { display: inline-block; padding: 12px 2px; margin: -12px 0; min-height: 44px; box-sizing: border-box; line-height: 20px; }
.sezione { padding: 42px 0; }
.sezione__intro { max-width: 68ch; font-size: 19px; color: var(--sc-tenue); }
.tre { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.riquadro { padding: 24px; border-radius: var(--sc-raggio); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); }
.riquadro h2 { font-size: 26px; display: flex; align-items: center; gap: 10px; }
.riquadro__icona { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--sc-accento); color: var(--sc-accento-testo); margin-bottom: 12px; }
.riquadro__icona .ico { width: 28px; height: 28px; }
.griglia-ere { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.carta-era { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: var(--sc-raggio); overflow: hidden; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); color: var(--sc-testo); text-decoration: none; }
.carta-era img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-bottom: 6px solid var(--era); }
.carta-era__n { position: absolute; top: 10px; left: 10px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--era); color: var(--era-t, #111); font-weight: 800; box-shadow: 0 0 0 3px rgba(255, 255, 255, .85); }
.carta-era b { padding: 12px 14px 2px; font: 800 19px/1.2 var(--sc-titoli); }
.carta-era small { padding: 0 14px 14px; color: var(--sc-tenue); font-size: 14px; line-height: 1.4; }
.carta-era:hover { border-color: var(--era); }
.nota { margin-top: 20px; color: var(--sc-tenue); }

/* elenco delle ere */
.elenco-ere { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.riga-era { display: grid; grid-template-columns: 200px 1fr; gap: 18px; align-items: center; border-radius: var(--sc-raggio); overflow: hidden; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-left: 10px solid var(--era); color: var(--sc-testo); text-decoration: none; }
.riga-era img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.riga-era__testo { display: grid; gap: 2px; padding: 12px 16px 12px 0; }
.riga-era__n { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--sc-tenue); }
.riga-era b { font: 800 24px/1.15 var(--sc-titoli); } .riga-era small { color: var(--sc-tenue); font-size: 15px; }

/* pagina di un'era */
.era { padding: 18px 0 20px; }
.era__testa { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: center; margin-bottom: 26px; }
.era__intro { font-size: 20px; line-height: 1.6; }
.era__classe { display: flex; align-items: center; gap: 8px; color: var(--sc-tenue); }
.era__figura { margin: 0; } .era__figura img { width: 100%; height: auto; border-radius: var(--sc-raggio); aspect-ratio: 16 / 10; object-fit: cover; border: 6px solid var(--era); }
.era__figura figcaption, .evento__figura figcaption, .mappa figcaption { font-size: 13px; color: var(--sc-tenue); margin-top: 6px; }
.era__due { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; margin-top: 30px; }
.era__lato { display: grid; gap: 20px; }
.elenco-ev { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; counter-reset: ev; }
.voce-ev a { display: grid; grid-template-columns: 170px 1fr auto; gap: 4px 14px; align-items: center; min-height: 56px; padding: 8px 14px; border-radius: 14px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-left: 6px solid var(--era); color: var(--sc-testo); text-decoration: none; }
.voce-ev a:hover { border-color: var(--era); }
.voce-ev__data { font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.voce-ev b { font-size: 17px; line-height: 1.3; }
.voce-ev__cat { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--sc-tenue); }
.sapevi { padding: 20px 22px; border-radius: var(--sc-raggio); background: color-mix(in srgb, var(--era) 18%, var(--sc-sfondo2)); }
.sapevi h2 { display: flex; align-items: center; gap: 8px; font-size: 24px; }
.sapevi ul { margin: 0; padding-left: 20px; display: grid; gap: 10px; }
.prec-succ { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 30px 0 10px; }
.prec-succ a { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 12px 18px; border-radius: var(--sc-raggio); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-left: 8px solid var(--era); color: var(--sc-testo); text-decoration: none; font-weight: 800; }
.prec-succ a.dopo { justify-content: flex-end; text-align: right; border-left-width: 2px; border-right: 8px solid var(--era); grid-column: 2; }
.prec-succ small { display: block; font-weight: 600; color: var(--sc-tenue); font-size: 14px; }

/* mappe */
.mappa { margin: 0; }
.mappa svg { width: 100%; aspect-ratio: 2 / 1; border-radius: var(--sc-raggio); border: 2px solid var(--sc-bordo); background: var(--mappa-mare); }
.mappa__mare { fill: var(--mappa-mare); }
.mappa__terre { fill: var(--mappa-terre); stroke: color-mix(in srgb, var(--mappa-terre) 70%, #000); stroke-width: .15; }
.mappa__punto circle { fill: var(--era); stroke: #111; stroke-width: .25; }
.mappa--cielo img { width: 100%; border-radius: var(--sc-raggio); aspect-ratio: 2 / 1; object-fit: cover; }

/* linea breve (era, evento) */
.linea-breve { border-radius: var(--sc-raggio); background: var(--plancia-sfondo); color: var(--plancia-testo); border: 2px solid var(--sc-bordo); overflow: hidden; margin: 10px 0; }
.linea-breve__testa { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px 0 18px; }
.linea-breve__testa h2 { font-size: 20px; margin: 0; display: flex; align-items: center; gap: 8px; }
.linea-breve__linea { height: 230px; position: relative; }
.linea-breve__nota { margin: 0; padding: 0 18px 12px; font-size: 14px; color: var(--sc-tenue); }
.linea-breve__nota a { color: inherit; font-weight: 700; }
.linea-breve .zoom .tondo { width: 44px; height: 44px; }

/* pagina evento */
.evento { padding: 16px 0 10px; }
.evento__due { display: grid; grid-template-columns: 1.35fr 1fr; gap: 30px; align-items: start; }
.evento__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 12px; }
.evento h1 { font-size: clamp(32px, 4.6vw, 52px); }
.evento__quando { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; font-weight: 800; color: var(--sc-tenue); font-size: 18px; }
.evento__dove { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.evento__corpo { font-size: 21px; line-height: 1.65; }
.evento__lato { display: grid; gap: 16px; }
.evento__figura { position: relative; margin: 0; } .evento__figura img { width: 100%; height: auto; border-radius: var(--sc-raggio); aspect-ratio: 16 / 10; object-fit: cover; }
.evento__figura .evento__segno { bottom: 40px; }
.altrove, .stessa-era { margin: 24px 0; }
.altrove h2, .stessa-era h2 { font-size: 22px; display: flex; align-items: center; gap: 8px; }
.altrove ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.altrove a { display: grid; gap: 2px; height: 100%; padding: 12px 16px; border-radius: 16px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 6px solid var(--era); color: var(--sc-testo); text-decoration: none; }
.altrove span { font-size: 14px; color: var(--sc-tenue); }
.chip-lista { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.chip-lista a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 2px solid var(--sc-bordo); color: var(--sc-testo); text-decoration: none; font-weight: 600; font-size: 15px; }
.chip-lista a:hover { border-color: var(--era); }

/* sfida, quiz */
.sfida-pagina, .quiz-pagina { padding: 26px 0 10px; }
.sfida-box, .quiz-box { padding: 24px; border-radius: var(--sc-raggio); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); max-width: 900px; }
.quiz-pagina__testa { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.quiz-pagina__testa p { max-width: 62ch; color: var(--sc-tenue); }
.sc-sfida__data { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--sc-tenue); margin: 0; }
.sc-sfida__consegna { font-size: 21px; margin: 8px 0 16px; }
.sc-sfida__carte { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sc-carta { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 10px 10px 14px; border-radius: 18px; border: 3px solid var(--sc-bordo); background: var(--sc-sfondo); color: var(--sc-testo); font: 700 17px/1.25 var(--sc-font); text-align: left; cursor: pointer; }
.sc-carta img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; border-bottom: 5px solid var(--era); }
.sc-carta.scelta { border-color: var(--sc-accento); }
.sc-carta__n { position: absolute; top: 4px; left: 4px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--sc-accento); color: var(--sc-accento-testo); font-size: 20px; }
.sc-carta__n:empty { display: none; }
.sc-carta.giusta { border-color: #1FA463; } .sc-carta.sbagliata { border-color: #E5384A; }
.sc-carta__data { font-weight: 600; font-size: 14px; color: var(--sc-tenue); }
.sc-sfida__azioni, .sc-quiz__azioni { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.sc-sfida__esito { font-size: 21px; font-weight: 800; margin: 0 10px 0 0; width: 100%; }
.sc-quiz__testa { display: flex; justify-content: space-between; font-weight: 800; color: var(--sc-tenue); }
.sc-quiz__barra { height: 10px; border-radius: 99px; background: var(--sc-campo); margin: 10px 0 18px; overflow: hidden; }
.sc-quiz__barra i { display: block; height: 100%; background: var(--sc-accento); transition: width .4s; }
.sc-quiz__domanda { font: 800 clamp(22px, 3vw, 30px)/1.25 var(--sc-titoli); margin: 0 0 16px; }
.sc-quiz__aiuto { color: var(--sc-tenue); margin-top: -8px; }
.sc-quiz__opzioni { display: grid; gap: 10px; }
.sc-opzione { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 10px 16px; border-radius: 16px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo); color: var(--sc-testo); font: 700 17px/1.3 var(--sc-font); text-align: left; cursor: pointer; }
.sc-opzione .n { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--sc-campo); }
.sc-opzione .n:empty { display: none; }
.sc-opzione.scelta { border-color: var(--sc-accento); } .sc-opzione.scelta .n, .sc-opzione.fatta .n { background: var(--sc-accento); color: var(--sc-accento-testo); }
.sc-opzione.giusta { border-color: #1FA463; background: color-mix(in srgb, #2FD27A 18%, var(--sc-sfondo)); }
.sc-opzione.sbagliata { border-color: #E5384A; background: color-mix(in srgb, #FF4D5A 14%, var(--sc-sfondo)); }
.sc-opzione:disabled { cursor: default; }
.sc-quiz__esito { margin-top: 14px; }
.sc-quiz__esito p { margin: 0 0 10px; font-size: 18px; }
.sc-quiz__punti { font: 800 64px var(--sc-titoli); margin: 0; } .sc-quiz__punti b { color: var(--sc-accento); }
.sc-ordina { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sc-ordina__voce { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 6px 8px 6px 10px; border-radius: 16px; border: 2px solid var(--sc-bordo); border-left: 6px solid var(--era); background: var(--sc-sfondo); cursor: grab; touch-action: none; user-select: none; }
.sc-ordina__voce.presa { position: relative; z-index: 2; box-shadow: var(--sc-ombra); cursor: grabbing; }
.sc-ordina__voce b { flex: 1; line-height: 1.3; }
.sc-ordina__presa { color: var(--sc-tenue); }
.sc-ordina__n { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--sc-campo); font-weight: 800; }
.sc-ordina__frecce { display: flex; gap: 6px; }
.sc-ordina__voce.giusta { border-color: #1FA463; } .sc-ordina__voce.sbagliata { border-color: #E5384A; }
.sc-abbina { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sc-abbina__col { display: grid; gap: 8px; align-content: start; }
@media (max-width: 700px) { .sc-sfida__carte { grid-template-columns: 1fr; } .sc-carta { flex-direction: row; align-items: center; } .sc-carta img { width: 100px; flex: none; } .sfida-box, .quiz-box { padding: 16px; } .sc-abbina { gap: 8px; } .sc-abbina .sc-opzione { font-size: 15px; padding: 8px 10px; } }

/* insegnanti */
.insegnanti { padding: 26px 0; }
.attivita { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding: 0; list-style: none; counter-reset: a; }
.attivita li { counter-increment: a; padding: 18px; border-radius: var(--sc-raggio); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); }
.attivita li::before { content: counter(a); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--sc-accento); color: var(--sc-accento-testo); font-weight: 800; margin-bottom: 8px; }
.attivita p { margin: 4px 0 0; color: var(--sc-tenue); font-size: 16px; }
.tabella-scorre { overflow-x: auto; border-radius: var(--sc-raggio); border: 2px solid var(--sc-bordo); }
.tabella { width: 100%; border-collapse: collapse; background: var(--sc-sfondo2); min-width: 720px; }
.tabella th, .tabella td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--sc-bordo); vertical-align: middle; }
.tabella tbody th { border-left: 8px solid var(--era); }
.tabella thead th { font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--sc-tenue); }
.tabella td a, .tabella th a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.qr { width: 84px; height: 84px; image-rendering: pixelated; shape-rendering: crispEdges; }

/* testi lunghi, elenco */
.testo-lungo { max-width: 780px; padding: 26px 0; }
.testo-lungo h2 { margin-top: 1.2em; font-size: 26px; }
.testo-lungo p, .testo-lungo li, .testo-lungo dd { font-size: 19px; }
.aggiornata { color: var(--sc-tenue); }
.numeri { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.numeri li { display: grid; gap: 2px; padding: 14px; border-radius: 16px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); }
.numeri b { font: 800 34px var(--sc-titoli); color: var(--sc-accento); }
.crediti dt { font-weight: 800; margin-top: 10px; } .crediti dd { margin: 0; }
.fonti { columns: 2; font-size: 16px; } .fonti li { font-size: 15px !important; break-inside: avoid; }
details summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.indice-ere ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.indice-ere a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 2px solid var(--era); color: var(--sc-testo); text-decoration: none; font-weight: 700; font-size: 15px; }
.elenco-era { margin-top: 30px; } .elenco-era h2 { border-left: 8px solid var(--era); padding-left: 12px; } .elenco-era h2 a { color: inherit; } .elenco-era small { font: 600 16px var(--sc-font); color: var(--sc-tenue); }

/* chi c'è dietro e piede */
.dietro { margin: 40px 0 50px; }
.dietro__in { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; padding: 28px; border-radius: calc(var(--sc-raggio) + 6px); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); }
.dietro img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 5px var(--sc-accento); }
.dietro h2 { font-size: 34px; } .dietro__nome { color: var(--sc-accento); font-weight: 800; margin: 0 0 8px; } .dietro p { max-width: 66ch; }
.piede { background: var(--piede-sfondo); color: var(--piede-testo); padding: 34px 0; }
.piede__in { display: grid; gap: 12px; } .piede a { color: inherit; }
.piede__link { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.piede__link a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.piede__lingue { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } .piede__lingue a, .piede__lingue span { display: inline-flex; align-items: center; min-height: 44px; }
.piede__lingue span { font-weight: 800; }
.fratelli { display: flex; flex-wrap: wrap; gap: 0 16px; } .fratelli a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 1000px) {
  .tre { grid-template-columns: 1fr; } .griglia-ere { grid-template-columns: repeat(2, 1fr); }
  .era__testa, .era__due, .evento__due { grid-template-columns: 1fr; }
  .altrove ul { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  :root { --corpo: 17px; }
  .testata__riga { min-height: 64px; } .marchio { font-size: 21px; }
  .riga-era { grid-template-columns: 1fr; } .riga-era__testo { padding: 0 14px 14px; } .riga-era img { aspect-ratio: 16 / 7; }
  .voce-ev a { grid-template-columns: 1fr auto; } .voce-ev__data { grid-column: 1 / -1; } .voce-ev__cat span { display: none; }
  .prec-succ { grid-template-columns: 1fr; } .prec-succ a.dopo { grid-column: auto; }
  .dietro__in { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 22px 16px; } .dietro .bottoni { justify-content: center; }
  .evento__corpo { font-size: 19px; } .era__intro { font-size: 18px; }
  .linea-breve__linea { height: 210px; }
  .fonti { columns: 1; }
  .griglia-ere { gap: 10px; } .carta-era b { font-size: 16px; padding: 10px 10px 2px; } .carta-era small { padding: 0 10px 10px; font-size: 13px; }
}
@media (max-width: 420px) { .griglia-ere { grid-template-columns: 1fr 1fr; } .carta-era small { display: none; } }

/* ======== modalità LIM: testi grandi, colori forti ======== */
html.lim { --corpo: 23px; --sc-tenue: var(--sc-testo); }
html.lim .sc-quiz__domanda { font-size: clamp(30px, 4vw, 48px); }
html.lim .sc-opzione, html.lim .sc-carta, html.lim .sc-ordina__voce { font-size: 24px; min-height: 76px; border-width: 4px; }
html.lim .btn, html.lim .sc-btn { min-height: 64px; font-size: 21px; padding: 10px 26px; }
html.lim .sc-ev__etichetta text { font-size: 16px; }
html.lim .sc-scheda__testo, html.lim .evento__corpo { font-size: 26px; }
html.lim .quiz-box, html.lim .sfida-box { max-width: none; }
html.lim .sei-qui b { font-size: clamp(34px, 5vw, 64px); }
html.lim [data-azione="lim"][aria-pressed="true"] { background: var(--sc-accento); color: var(--sc-accento-testo); border-color: var(--sc-accento); }

/* ======== schede stampabili ======== */
.p-scheda .foglio-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 18px 0; }
.p-scheda .foglio-azioni p { margin: 0; color: var(--sc-tenue); }
.fogli { display: grid; gap: 24px; justify-content: center; padding-bottom: 40px; }
.foglio { width: min(210mm, calc(100vw - 32px)); min-height: 297mm; padding: 11mm 13mm 7mm; background: #fff; color: #1B1D29; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); border-top: 10px solid var(--era); font: 400 11.5pt/1.45 var(--sc-font); display: flex; flex-direction: column; }
.foglio h1 { font-size: 27pt; margin: 0; color: #1B1D29; } .foglio h2 { font-size: 15pt; margin: 10px 0 6px; color: #1B1D29; } .foglio h3 { font-size: 12pt; margin: 12px 0 6px; }
.foglio .sopratitolo { color: #555; }
.foglio__testa { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 2px solid #ddd; padding-bottom: 8px; margin-bottom: 10px; }
.foglio__testa .qr { width: 80px; height: 80px; flex: none; }
.foglio__periodo { margin: 2px 0 0; font-weight: 700; color: #555; }
.foglio__intro { font-size: 11pt; line-height: 1.4; }
.foglio__linea { columns: 2; column-gap: 18px; margin: 0; padding-left: 18px; font-size: 10pt; line-height: 1.35; }
.foglio__linea li { break-inside: avoid; margin-bottom: 2px; } .foglio__linea span { color: #444; font-size: 9pt; display: block; }
.foglio__sapevi { margin: 0; padding-left: 18px; }
.foglio__piede { margin-top: auto; padding-top: 8px; font-size: 8.5pt; color: #666; border-top: 1px solid #ddd; }
.foglio__nome { margin: 6px 0 0; font-size: 11pt; }
.foglio__testa--piccola { display: block; }
.foglio__ordina { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.casella { display: inline-block; width: 26px; height: 22px; border: 2px solid #333; border-radius: 4px; vertical-align: middle; margin-right: 6px; }
.tondino { display: inline-block; width: 13px; height: 13px; border: 2px solid #333; border-radius: 50%; vertical-align: -2px; margin-right: 4px; }
.foglio__domande { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.foglio__domande p { margin: 0 0 2px; font-weight: 700; }
.foglio__domande ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; font-size: 10.5pt; }
.foglio__abbina { display: grid; grid-template-columns: 1fr 1.3fr; gap: 16px; font-size: 10.5pt; }
.foglio__abbina ol { margin: 0; padding-left: 18px; display: grid; gap: 6px; } .foglio__abbina ol li { display: flex; justify-content: space-between; gap: 8px; }
.foglio__abbina ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.foglio__soluzioni { margin-top: 14px; padding: 8px 10px; border: 1px dashed #999; border-radius: 6px; font-size: 8.5pt; color: #444; transform: rotate(180deg); }
@media (max-width: 700px) { .foglio { min-height: 0; padding: 18px 16px; font-size: 15px; } .foglio__linea { columns: 1; } .foglio__domande ul, .foglio__abbina { grid-template-columns: 1fr; } .foglio__soluzioni { transform: none; } }

@media print {
  @page { size: A4; margin: 0; }
  body { background: #fff !important; }
  .testata, .piede, .dietro, .briciole, .foglio-azioni, .salta, .sc-avviso { display: none !important; }
  .fogli { display: block; padding: 0; } .foglio { width: 210mm; height: 297mm; box-shadow: none; break-after: page; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ======== correzioni del controllo finale (26/10 sera) ======== */
/* telefono: − e + sempre visibili sopra la linea; la linea un po' più bassa, così resta spazio per scorrere */
.zoom--galleggia { display: none; }
@media (max-width: 900px) {
  .zoom--galleggia { display: flex; flex-direction: row; gap: 10px; position: absolute; right: 12px; bottom: 8px; z-index: 5; }
  .zoom--galleggia .tondo { width: 48px; height: 48px; background: var(--sc-sfondo2); box-shadow: var(--sc-ombra); }
  .comandi .zoom [data-zoom="piu"], .comandi .zoom [data-zoom="meno"] { display: none; }
  .plancia__linea { height: min(58svh, 520px); min-height: 420px; } /* 26/10: più bassa (era 64vh), e il gesto verticale sulla linea intera fa scorrere la pagina */
  #linea { bottom: 62px; }
}
@media (max-width: 700px) { :root { --sc-asse: y; } }
/* computer basso (es. 1280×640): riquadro più piccolo e linea più in alto, così i nomi delle ere restano scoperti */
@media (min-width: 901px) and (max-height: 760px) {
  .plancia { min-height: 520px; }
  .racconto { padding: 14px 18px; } .racconto p { display: none; } .racconto h1 { font-size: 26px; }
  .sei-qui b { font-size: 34px; }
  .comandi .unita { display: none; } .plancia .zoom .tondo { width: 48px; height: 48px; }
  #linea { --sc-pos-x: .5; }
}
/* sfida: carte basse al telefono e immagini che non si allungano */
.sc-carta img { height: auto; }
@media (max-width: 700px) { .sc-carta { display: grid; grid-template-columns: 92px 1fr; align-items: center; padding: 8px; gap: 2px 12px; } .sc-carta img { width: 92px; aspect-ratio: 4 / 3; grid-row: span 2; } .sc-carta__data { grid-column: 2; } }
.sc-sfida__gia { width: 100%; margin: 0; color: var(--sc-tenue); font-weight: 700; }
.sc-sfida__esito:focus { outline: none; }
.sc-sfida__giusto { width: 100%; }
.sc-sfida__giusto p { margin: 0 0 6px; }
.sc-sfida__giusto ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: giusto; }
.sc-sfida__giusto li { counter-increment: giusto; }
.sc-sfida__giusto a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding: 10px 14px 10px 50px; position: relative; border-radius: 14px; border: 2px solid var(--sc-bordo); border-left: 6px solid var(--era); background: var(--sc-sfondo); color: var(--sc-testo); text-decoration: none; }
.sc-sfida__giusto a::before { content: counter(giusto); position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #1FA463; color: #fff; font-weight: 800; }
.sc-sfida__giusto a span { color: var(--sc-tenue); font-size: 14px; font-weight: 600; }
/* quiz al computer: la colonna al centro, non tutta a sinistra */
@media (min-width: 1100px) { .quiz-pagina > * { max-width: 900px; margin-inline: auto; } }
/* tasto LIM nella testata */
.tondo--lim[aria-pressed="true"] { background: var(--sc-accento); color: var(--sc-accento-testo); border-color: var(--sc-accento); }
.fonte--verifica { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; } .fonte--verifica .ico { flex: none; width: 18px; height: 18px; margin-top: 2px; color: #1FA463; }
@media (max-width: 700px) { .tondo--lim { display: none; } }
/* posto tenuto per il quiz e la sfida finché lo script non li disegna (niente salto della pagina) */
.quiz-box:has(> noscript) { min-height: 470px; } .sfida-box:has(> noscript) { min-height: 400px; }
@media (max-width: 700px) { .quiz-box:has(> noscript) { min-height: 460px; } .sfida-box:has(> noscript) { min-height: 540px; } }
/* linea orizzontale sui touch: il gesto verticale fa scorrere la pagina */
.sc-linea[data-asse="x"] { touch-action: pan-y; }

/* =====================================================================================================
   STILE «A · NASTRO CHE VOLA» (27/10): tutte le pagine, il volo in home, l'interruttore Vola / Linea,
   il «Sei qui», la scheda a cartolina (a tutto schermo al telefono) e la sfida «Quale viene prima?»
   ===================================================================================================== */
body { font-synthesis: none; font-weight: 500; }
h1, h2, h3 { font-weight: 400; letter-spacing: 0; }
.marchio { font: 400 25px var(--sc-titoli); }
.marchio__segno { width: 40px; height: 40px; }
.testata { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom-color: #EEE8DA; }
.nav a { font-weight: 800; font-size: 15.5px; }
.nav a:hover, .nav a[aria-current] { background: var(--sc-campo); color: var(--viola-scuro); }
.testata .tondo { border-color: var(--sc-bordo); background: #fff; }
.btn, .sc-btn { font-weight: 800; border-color: var(--sc-campo); box-shadow: var(--ombra-btn); transition: transform .15s; }
.btn:hover, .sc-btn:hover:not(:disabled) { transform: translateY(-2px); }
.btn--pieno, .sc-btn--pieno { background: var(--sc-accento); border-color: var(--sc-accento); color: #fff; box-shadow: 0 6px 0 var(--viola-scuro); }
.btn--grande { min-height: 60px; padding: 12px 30px; font-size: 19px; }
.btn--vetro { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .7); color: #fff; box-shadow: none; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.sopratitolo { color: var(--viola-scuro); }
.riquadro, .carta-era, .dietro__in, .sfida-box, .quiz-box, .attivita li, .numeri li { border-color: transparent; box-shadow: 0 12px 30px rgba(30, 34, 51, .09); }
.riquadro h2 { font-size: 28px; }
.riquadro__icona { border-radius: 18px; background: var(--arcobaleno); }
.carta-era { border-radius: 26px; transition: transform .2s; }
.carta-era:hover { transform: translateY(-4px); }
.carta-era img { border-bottom-width: 8px; }
.carta-era b { font: 400 21px/1.15 var(--sc-titoli); }
.carta-era__n { width: 46px; height: 46px; font-size: 18px; }
.riga-era b, .numeri b, .sc-quiz__punti, .sc-quiz__domanda { font-family: var(--sc-titoli); font-weight: 400; }
.voce-ev a, .prec-succ a, .altrove a { border-color: transparent; box-shadow: 0 6px 18px rgba(30, 34, 51, .07); }
.dietro img { box-shadow: 0 0 0 5px #fff, 0 0 0 9px var(--sc-accento); }
.dietro h2 { font-size: 36px; }
.linea-breve { background: var(--plancia-sfondo); border-color: transparent; box-shadow: 0 12px 30px rgba(30, 34, 51, .08); }
.sc-asse__linea { stroke-width: 6; }
.sc-ev__punto { stroke: #fff; stroke-width: 3; }
.sc-ev__fondo { stroke-width: 2.5; }
.sc-banda__nome { font-weight: 800; fill: color-mix(in srgb, var(--era) 40%, #1E2233); }
.era__figura img { border-width: 8px; }
.chip-era, .sc-era { font-weight: 800; }

/* ---------- home: le due viste ---------- */
html[data-modo="vola"] .plancia, html[data-modo="linea"] .volo { display: none !important; }
html[data-modo="vola"] .p-home .testata { position: fixed; left: 0; right: 0; }
.p-home .piede { padding-bottom: 104px; }

/* l'interruttore Vola / Linea: sempre visibile in basso a sinistra, la scelta resta */
.dock { position: fixed; z-index: 60; left: 50%; transform: translateX(-50%); bottom: max(16px, env(safe-area-inset-bottom)); display: flex; flex-wrap: nowrap; width: max-content; max-width: calc(100vw - 16px); gap: 4px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, .97); border: 1px solid var(--sc-bordo); box-shadow: 0 12px 30px rgba(20, 16, 60, .3); }
.dock__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; min-width: 48px; padding: 6px 16px; border: 0; border-radius: 999px; background: none; color: var(--sc-testo); font: 800 16px var(--sc-font); text-decoration: none; white-space: nowrap; cursor: pointer; }
.dock__btn .ico { width: 22px; height: 22px; }
.dock__btn:hover { background: var(--sc-campo); }
html[data-modo="vola"] .dock__btn[data-modo="vola"], html[data-modo="linea"] .dock__btn[data-modo="linea"] { background: var(--sc-accento); color: #fff; }

/* ---------- il volo ---------- */
.volo { position: relative; height: 1390svh; }
.palco { position: sticky; top: 0; height: 100svh; overflow: hidden; background: #0B0A2E; }
.volo-tela { position: absolute; inset: 0; display: block; max-width: none; }
.intro { position: absolute; z-index: 5; left: 0; right: 0; top: 104px; text-align: center; color: #fff; padding: 0 16px; pointer-events: none; }
.intro::before { content: ""; position: absolute; z-index: -1; left: 50%; top: -70px; width: min(1100px, 150%); height: calc(100% + 140px); transform: translateX(-50%); background: radial-gradient(closest-side, rgba(11, 10, 46, .7), rgba(11, 10, 46, 0)); }
.intro__sopra { margin: 0 0 10px; font-weight: 800; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: #DCD6FF; }
.intro h1 { font-size: clamp(40px, 5.8vw, 76px); line-height: 1.04; text-shadow: 0 6px 30px rgba(10, 8, 40, .6); max-width: 15ch; margin: 0 auto; color: #fff; }
.intro h1 span { display: inline-block; background: linear-gradient(90deg, #A897FF, #6FB6FF, #4FE3D2, #8EF07A, #FFE066, #FFB25B, #FF8FA3, #FF9AD5); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .35)); }
.intro__sotto { font-size: clamp(18px, 2vw, 22px); font-weight: 700; max-width: 38ch; margin: 14px auto 22px; text-shadow: 0 2px 14px rgba(10, 8, 40, .8); }
.intro__bottoni { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; pointer-events: auto; }
.arrivo .intro__sopra { color: #FFC4E2; }

/* il cruscotto: «Sei qui», l'anno grande, l'era, quanto tempo passa */
.cruscotto { position: absolute; z-index: 6; left: 50%; top: 80px; transform: translateX(-50%); width: min(620px, calc(100% - 32px)); padding: 10px 18px 12px; border-radius: 26px; text-align: center; color: #fff; pointer-events: none; background: rgba(18, 14, 52, .62); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 16px 40px rgba(10, 8, 40, .25); }
.cruscotto p { margin: 0; }
.cr-qui { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; }
.cr-qui__sei { font-weight: 800; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #FFE066; }
.cr-era { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 999px; background: #fff; color: var(--sc-testo); font-weight: 800; font-size: 15px; }
.cr-pallino { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.cr-anno { margin: 4px 0 6px !important; white-space: nowrap; font: 400 clamp(30px, 4.2vw, 54px)/1.05 var(--sc-titoli); text-shadow: 0 4px 24px rgba(10, 8, 40, .55); font-variant-numeric: tabular-nums; }
.cr-scala { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; font-size: 13px; font-weight: 800; }
.cr-scala span { padding: 3px 9px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #E9E6FF; transition: background .25s, color .25s, transform .25s; }
.cr-scala .cr-titolo { background: none; color: #fff; }
.cr-scala .qui { background: #FFE066; color: var(--sc-testo); transform: scale(1.1); }
.barra-ere { position: relative; display: flex; height: 8px; margin: 12px auto 4px; width: min(420px, 100%); border-radius: 99px; }
.barra-ere i { flex: 1; background: var(--c); }
.barra-ere i:first-child { border-radius: 99px 0 0 99px; } .barra-ere i:nth-last-child(2) { border-radius: 0 99px 99px 0; }
.barra-ere__tu { position: absolute; top: 50%; left: 0; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px var(--sc-testo), 0 4px 10px rgba(0, 0, 0, .3); }
.cruscotto .barra-ere { display: none; }

/* il «Sei qui» di B: il nastro delle 12 ere a sinistra, col pallino che scende mentre voli */
.nastro-qui { position: absolute; z-index: 6; left: 16px; top: 96px; bottom: 84px; width: 176px; padding: 10px 8px 10px 10px; border-radius: 22px; background: rgba(18, 14, 52, .55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
.nastro-qui.acceso { opacity: 1; visibility: visible; }
.nastro-qui ol { list-style: none; margin: 0; padding: 0; height: 100%; display: flex; flex-direction: column; }
.nastro-qui li { flex: 1; display: flex; min-height: 0; }
.nastro-qui button { flex: 1; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 6px 0 0; border: 0; border-radius: 10px; background: none; color: #F1EEFF; font: 700 13.5px/1.15 var(--sc-font); text-align: left; cursor: pointer; }
.nastro-qui button:hover { background: rgba(255, 255, 255, .1); }
.nastro-qui i { align-self: stretch; width: 14px; flex: none; background: var(--era); }
.nastro-qui li:first-child i { border-radius: 8px 8px 0 0; } .nastro-qui li:last-child i { border-radius: 0 0 8px 8px; }
.nastro-qui li.qui button { color: #fff; font-weight: 900; }
.nastro-qui__tu { position: absolute; left: 7px; top: calc(10px + var(--pos, 0) * (100% - 20px)); transform: translateY(-50%); display: flex; align-items: center; gap: 6px; pointer-events: none; transition: top .12s linear; }
.nastro-qui__tu::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px var(--sc-testo), 0 0 0 6px var(--era, #fff); }
.nastro-qui__tu b, .nastro-qui__tu span { font-size: 13px; }
.nastro-qui__tu { white-space: nowrap; }
.nastro-qui__tu b { margin-left: 146px; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); padding: 4px 0 4px 10px; border-radius: 999px 0 0 999px; background: var(--sc-testo); color: #FFE066; font-weight: 900; }
.nastro-qui__tu span { padding: 4px 10px 4px 6px; border-radius: 0 999px 999px 0; background: var(--sc-testo); color: #fff; font-weight: 800; }

/* le cartoline delle 14 tappe */
.cartoline { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.tappa { position: absolute; left: 0; top: 0; width: 330px; transform-origin: 50% 100%; background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 50px rgba(20, 16, 60, .35); border: 4px solid #fff; outline: 4px solid var(--era); visibility: hidden; will-change: transform, opacity; }
.tappa.attiva { pointer-events: auto; }
.tappa__img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: color-mix(in srgb, var(--era) 30%, #fff); }
.tappa__testo { padding: 12px 16px 16px; }
.tappa__n { display: block; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-tenue); }
.tappa__data { display: inline-block; margin: 6px 0 6px; padding: 3px 10px; border-radius: 999px; background: var(--era); color: var(--era-t, #111); font-weight: 800; font-size: 14px; }
.tappa h3 { font-size: 25px; line-height: 1.08; margin: 0; }
.tappa p { margin: 6px 0 10px; font-size: 15.5px; line-height: 1.45; }
.tappa__apri { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 2px solid var(--sc-testo); background: #fff; color: var(--sc-testo); font: 800 15px var(--sc-font); cursor: pointer; }
.tappa__apri:hover { background: var(--sc-campo); }
.arrivo { position: absolute; z-index: 7; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100% - 32px)); padding: 28px; border-radius: 30px; text-align: center; background: rgba(18, 10, 46, .86); color: #fff; backdrop-filter: blur(8px); box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.arrivo h2 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 18px; }
.salta-volo { position: absolute; z-index: 8; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 8px 18px; border-radius: 999px; background: rgba(255, 255, 255, .96); color: var(--sc-testo); font-weight: 800; font-size: 15px; text-decoration: none; box-shadow: 0 10px 24px rgba(20, 16, 60, .25); }
.suggerimento { position: absolute; z-index: 5; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 16px; border-radius: 999px; background: rgba(30, 34, 51, .88); color: #fff; font-weight: 800; font-size: 15px; transition: opacity .3s; white-space: nowrap; pointer-events: none; }
.rotella { width: 18px; height: 28px; border: 2.5px solid #fff; border-radius: 10px; position: relative; }
.rotella::after { content: ""; position: absolute; left: 50%; top: 5px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: #FFE066; animation: rotella 1.4s infinite; }
@keyframes rotella { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(9px); opacity: 0; } 100% { opacity: 0; } }

/* immagini degli eventi: il ritaglio dell'illustrazione dell'era (segnaposto finché non arrivano le immagini Codex) */
.ritaglio { width: 100%; height: 100%; object-fit: cover; object-position: var(--x, 50%) var(--y, 50%); transform: scale(var(--z, 1)); transform-origin: var(--x, 50%) var(--y, 50%); }
.tappa__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- la vista «Linea» in home, nello stile A ---------- */
.plancia__cielo { background: url(/risorse/panorama.webp) center top / cover no-repeat; opacity: .5; -webkit-mask-image: linear-gradient(180deg, #000 0, #000 28%, transparent 66%); mask-image: linear-gradient(180deg, #000 0, #000 28%, transparent 66%); }
@media (max-width: 900px) { .plancia__cielo { background-image: url(/risorse/panorama-800.webp); } }
.racconto__titolo { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 6px; }
.racconto__titolo span { background: linear-gradient(90deg, #5B3FD9, #1F5FD6, #0B7D8C, #14804A, #B04A00, #C42A4B); -webkit-background-clip: text; background-clip: text; color: transparent; }
.racconto p { color: var(--sc-testo); }
.sei-qui { box-shadow: 0 10px 30px rgba(30, 34, 51, .14); }
.sei-qui small { color: var(--sc-accento2); }
.sei-qui b { font-family: var(--sc-titoli); font-weight: 400; }
.sei-qui .barra-ere { width: 240px; margin: 8px auto 6px; height: 7px; }
.sei-qui .barra-ere__tu { width: 16px; height: 16px; margin: -8px 0 0 -8px; box-shadow: 0 0 0 3px var(--sc-testo), 0 0 0 5px var(--era, #fff); }
.plancia .zoom .tondo { box-shadow: 0 8px 20px rgba(30, 34, 51, .18); border-color: transparent; }
.salti button { box-shadow: 0 4px 10px rgba(30, 34, 51, .08); }
@media (min-width: 901px) { .p-home .racconto { bottom: 88px; } }

/* ---------- la scheda: una cartolina (francobollo dell'era, timbro con la data), a tutto schermo al telefono ---------- */
.sc-scheda__illu { aspect-ratio: 16 / 8; background: color-mix(in srgb, var(--era) 30%, #fff); }
.sc-scheda__illu img { width: 100%; height: 100%; object-fit: cover; }
.sc-francobollo { position: absolute; top: 14px; left: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 84px; height: 100px; padding: 6px; background: #fff; border: 3px dashed var(--era); border-radius: 6px; text-align: center; box-shadow: 0 6px 14px rgba(0, 0, 0, .2); color: var(--sc-testo); }
.sc-francobollo b { font: 400 36px/1 var(--sc-titoli); color: var(--sc-testo); }
.sc-francobollo small { font-size: 11px; font-weight: 800; line-height: 1.15; }
.sc-timbro { position: absolute; right: 70px; top: 14px; width: 118px; height: 118px; display: grid; place-items: center; transform: rotate(-12deg); color: #fff; pointer-events: none; }
.sc-timbro svg { position: absolute; inset: 0; fill: none; stroke: rgba(255, 255, 255, .92); stroke-width: 3; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .45)); }
.sc-timbro em { font-style: normal; font-weight: 900; font-size: 13px; text-align: center; max-width: 84px; line-height: 1.2; text-shadow: 0 1px 6px rgba(0, 0, 0, .8), 0 0 2px rgba(0, 0, 0, .9); }
.sc-scheda__segno { display: none; }
.sc-scheda__titolo { font-size: clamp(28px, 3.4vw, 40px); }
.sc-scheda__data b { color: var(--sc-testo); }
.sc-scheda__testo { font-size: 18px; }
.sc-fonte { display: flex; gap: 6px; align-items: flex-start; } .sc-fonte .ico { margin-top: 3px; }
.sc-perche { background: #fff; border-radius: 16px; border-left-width: 6px; }
.sc-sotto { margin: 16px 0 8px; font: 800 13px var(--sc-font); text-transform: uppercase; letter-spacing: .08em; color: var(--sc-tenue); }
.sc-vicini { margin-top: 0; }
.sc-vicino { background: #fff; border-color: var(--sc-campo); }
.sc-mini-sfida { margin: 18px 0 6px; padding: 14px 16px; border-radius: 18px; background: var(--sc-campo); }
.sc-mini-sfida__d { margin: 0 0 10px; font-size: 17px; }
.sc-mini-sfida__d b { display: block; font: 800 13px var(--sc-font); text-transform: uppercase; letter-spacing: .08em; color: var(--viola-scuro); margin-bottom: 2px; }
.sc-mini-sfida__bottoni { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-mini-sfida .sc-btn.giusta { background: #DDF7E8; border-color: #1FA463; }
.sc-mini-sfida .sc-btn.sbagliata { background: #FFE3E6; border-color: #E5384A; }
.sc-mini-sfida__esito { margin: 10px 0 0; } .sc-mini-sfida__esito:empty { display: none; }
.sc-velo.sc-scheda-pannello .sc-pannello { width: min(1000px, 100%); background: #FFFCF4; border-radius: 28px; transform: translateY(30px) rotate(-1.5deg) scale(.97); transition: transform .3s cubic-bezier(.2, .9, .3, 1.2); }
.sc-velo.sc-scheda-pannello.aperto .sc-pannello { transform: none; }
.sc-scheda-pannello .sc-pannello > .sc-chiudi { position: sticky; float: right; top: 12px; margin: 12px 12px -60px 0; background: #fff; }
@media (min-width: 821px) {
  .sc-velo .sc-scheda { display: grid; grid-template-columns: .82fr 1.18fr; border: 10px solid #fff; border-radius: 28px; }
  .sc-velo .sc-scheda__illu { aspect-ratio: auto; min-height: 420px; height: 100%; border-radius: 18px 0 0 18px; }
  .sc-velo .sc-scheda__illu img { position: absolute; inset: 0; }
  .sc-velo .sc-scheda__corpo { padding: 26px 30px 26px; background: repeating-linear-gradient(180deg, transparent 0 33px, #F2EADB 33px 34px); }
  .sc-velo .sc-timbro { right: 14px; top: auto; bottom: 40px; }
}
.accanto { background: #FFFCF4; }
.accanto .sc-timbro { right: 14px; top: auto; bottom: 30px; width: 104px; height: 104px; }
@media (max-width: 700px) {
  .sc-velo.sc-scheda-pannello { padding: 0; place-items: stretch; }
  .sc-velo.sc-scheda-pannello .sc-pannello { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; transform: translateY(24px); }
  .sc-scheda__illu { aspect-ratio: 16 / 10; }
  .sc-timbro { width: 92px; height: 92px; right: 12px; top: auto; bottom: 30px; } .sc-timbro em { font-size: 11.5px; max-width: 70px; }
  .sc-francobollo { width: 66px; height: 80px; } .sc-francobollo b { font-size: 28px; }
  .sc-scheda__corpo { padding-bottom: 40px; }
}

/* ---------- la sfida in home: «Quale viene prima?» (da C) ---------- */
.sfida-home { background: radial-gradient(1200px 420px at 50% 0, #EEE9FF, transparent), var(--sc-sfondo); padding: 70px 0; }
.sfida-home__titolo { font-size: clamp(40px, 6vw, 72px); line-height: 1; }
.ordina-box { margin-top: 10px; padding: 22px; border-radius: 34px; background: #fff; box-shadow: 0 24px 60px rgba(30, 34, 51, .12); }
.ordina-box:has(> noscript) { min-height: 560px; }
.ord-chi { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; background: var(--sc-campo); font-weight: 800; font-size: 15px; }
.ord-assi { display: flex; align-items: center; gap: 12px; margin: 0 4px 14px; font-weight: 800; font-size: 14px; color: var(--sc-tenue); }
.ord-assi i { flex: 1; height: 12px; border-radius: 99px; background: var(--arcobaleno); position: relative; }
.ord-assi i::after { content: ""; position: absolute; right: -6px; top: 50%; margin-top: -10px; border: 10px solid transparent; border-left: 12px solid #EE5AAE; }
.ord-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ord-carta { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 20px; overflow: hidden; border: 3px solid #fff; outline: 3px solid var(--era); box-shadow: 0 10px 24px rgba(30, 34, 51, .14); cursor: grab; user-select: none; -webkit-user-select: none; touch-action: pan-y; transition: box-shadow .2s; }
.ord-carta.presa { cursor: grabbing; z-index: 3; box-shadow: 0 26px 50px rgba(30, 34, 51, .3); transition: none; }
.ord-carta__img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; pointer-events: none; background: color-mix(in srgb, var(--era) 30%, #fff); }
.ord-carta__img img { width: 100%; height: 100%; object-fit: cover; }
.ord-carta__testo { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 10px 14px 4px 6px; flex: 1; }
.ord-carta__testo b { font: 400 21px/1.15 var(--sc-titoli); flex: 1; min-width: 0; }
.ord-carta__presa { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; color: var(--sc-tenue); cursor: grab; touch-action: none; }
.ord-carta__n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--sc-testo); color: #fff; font-weight: 900; font-size: 15px; flex: none; }
.ord-carta__data { flex-basis: 100%; padding-left: 50px; font-weight: 800; color: var(--viola-scuro); }
.ord-carta__frecce { display: flex; justify-content: space-between; padding: 6px 10px 10px; }
.ord-carta.giusta { outline-color: #1FA463; } .ord-carta.sbagliata { outline-color: #E5384A; }
.ord-carta.giusta::after, .ord-carta.sbagliata::after { content: "\2713"; position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #1FA463; color: #fff; font-weight: 900; font-size: 18px; }
.ord-carta.sbagliata::after { content: "\2715"; background: #E5384A; }
[data-fermo] .ord-carta { cursor: pointer; } [data-fermo] .ord-carta__frecce, [data-fermo] .ord-carta__presa { display: none; }
[data-fermo] .ord-carta__data { padding-left: 8px; }
.ord-azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.ord-punti { margin: 16px 0 4px; font-size: 19px; } .ord-punti:focus { outline: none; }
.ord-punti b { font: 400 28px var(--sc-titoli); color: var(--viola-scuro); margin-right: 6px; }
.ord-mappa { position: relative; display: flex; height: 12px; margin: 40px 0 30px; border-radius: 99px; }
.ord-mappa i { flex: 1; background: var(--c); } .ord-mappa i:first-child { border-radius: 99px 0 0 99px; } .ord-mappa i:nth-of-type(12) { border-radius: 0 99px 99px 0; }
.ord-segno { position: absolute; top: -34px; transform: translateX(-50%); display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--sc-testo); color: #fff; font-weight: 900; font-size: 14px; box-shadow: 0 0 0 3px var(--era); }
.ord-segno::after { content: ""; position: absolute; top: 32px; width: 3px; height: 14px; background: var(--sc-testo); }
.ord-big, .ord-oggi { position: absolute; top: 18px; font-weight: 800; font-size: 13px; color: var(--sc-tenue); } .ord-big { left: 0; } .ord-oggi { right: 0; }
.ord-tra { margin: 0 0 8px; }
.ord-giusto { margin: 6px 0 0; padding-left: 22px; display: grid; gap: 4px; } .ord-giusto span { color: var(--sc-tenue); font-size: 15px; }

/* ---------- telefono ---------- */
@media (max-width: 1080px) { .nastro-qui { display: none; } .cruscotto .barra-ere { display: flex; } }
@media (max-width: 699px) {
  .volo { height: 1270svh; }
  .intro { top: 92px; } .intro__sotto { margin: 12px auto 18px; font-size: 17px; }
  .cruscotto { top: 72px; padding: 8px 12px 10px; } .cr-anno { font-size: 28px; }
  .cr-scala span:not(.qui):not(.cr-titolo) { display: none; }
  .tappa { width: 286px; } .tappa h3 { font-size: 21px; } .tappa p { font-size: 14.5px; margin: 4px 0 8px; } .tappa__img { aspect-ratio: 2 / 1; }
  .suggerimento { bottom: 86px; }
  .salta-volo { right: 12px; padding: 8px 14px; }
  .sfida-home { padding: 50px 0; }
  .ordina-box { padding: 14px; border-radius: 26px; }
  .ord-lista { grid-template-columns: 1fr; gap: 12px; }
  .ord-carta { display: grid; grid-template-columns: 104px 1fr; }
  .ord-carta__img { aspect-ratio: auto; height: 100%; min-height: 100px; grid-row: span 2; }
  .ord-carta__testo { padding: 6px 8px 0 2px; } .ord-carta__testo b { font-size: 17px; }
  .ord-carta__frecce { justify-content: flex-start; gap: 8px; padding: 2px 8px 8px 8px; }
  .ord-carta__frecce .ico { transform: rotate(90deg); }
  .ord-carta__data { padding-left: 2px; font-size: 14px; }
  .ord-assi { display: none; }
}
@media (prefers-reduced-motion: reduce) { .tappa, .nastro-qui__tu { transition: none; } }
/* correzioni dopo le prime foto (27/10) */
.sei-qui .barra-ere { display: flex; }
@media (max-width: 900px) { .sei-qui .barra-ere { display: none; } }
@media (min-width: 821px) {
  .sc-velo .sc-scheda { grid-template-columns: .72fr 1.28fr; }
  .sc-velo .sc-scheda__illu { height: auto; min-height: 0; aspect-ratio: 3 / 4; align-self: start; border-radius: 18px 0 18px 0; }
  .sc-velo .sc-scheda__illu .ritaglio { transform: scale(min(var(--z, 1), 1.15)); }
  .sc-velo .sc-timbro { top: 14px; bottom: auto; right: 12px; width: 100px; height: 100px; }
}
.sc-velo .sc-scheda__illu { position: sticky; top: 0; }
.ord-segno--alto { top: -70px; } .ord-segno--alto::after { height: 50px; }
.ord-mappa:has(.ord-segno--alto) { margin-top: 80px; }

/* ---------- la scheda per studiare (30/10): racconto, cause, conseguenze, persone e luoghi, da sapere, fonti, collegati ---------- */
.evento__breve, .sc-breve { margin: 6px 0 4px; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--sc-tenue); }
.studio { max-width: 780px; margin: 34px 0 10px; }
.evento .studio { margin-inline: auto; padding: 28px clamp(18px, 4vw, 44px) 12px; border-radius: var(--sc-raggio); background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 8px solid var(--era); }
.studio__tempo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 14px; color: var(--sc-tenue); font-size: 16px; }
.studio__tempo b { color: var(--sc-testo); font-size: 18px; } .studio__tempo .ico { width: 22px; height: 22px; color: var(--sc-testo); }
.studio__indice ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; }
.studio__indice a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border-radius: 999px; background: var(--sc-campo); color: var(--sc-testo); font-weight: 700; font-size: 15px; text-decoration: none; }
.studio__indice a:hover { background: color-mix(in srgb, var(--era) 22%, var(--sc-campo)); }
.studio__parte { margin: 30px 0 0; scroll-margin-top: 90px; }
.studio__titolo { display: flex; align-items: center; gap: 10px; font-size: clamp(24px, 3vw, 30px); padding-bottom: 8px; border-bottom: 3px solid color-mix(in srgb, var(--era) 55%, transparent); }
.studio__titolo .ico { flex: none; width: 30px; height: 30px; padding: 5px; border-radius: 10px; background: var(--era); color: var(--era-t, #111); }
.studio__sotto { margin: 22px 0 6px; font-family: var(--sc-font); font-weight: 800; font-size: 20px; }
.studio p { font-size: 19px; line-height: 1.7; margin: 0 0 14px; }
.studio__elenco { display: grid; gap: 10px; margin: 0 0 8px; }
.studio__elenco div { padding: 12px 16px; border-radius: 14px; background: var(--sc-campo); border-left: 5px solid var(--era); }
.studio__elenco dt { font-weight: 800; font-size: 18px; } .studio__elenco dd { margin: 2px 0 0; font-size: 17px; line-height: 1.55; }
.studio__punti, .studio__fonti, .studio__collegati { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.studio__punti li { display: flex; gap: 10px; align-items: flex-start; font-size: 18px; line-height: 1.55; padding: 12px 16px; border-radius: 14px; background: color-mix(in srgb, var(--era) 12%, var(--sc-sfondo2)); }
.studio__punti .ico { flex: none; width: 22px; height: 22px; margin-top: 3px; color: #1A8F55; }
.studio__fonti li { font-size: 18px; line-height: 1.45; padding: 10px 0; border-bottom: 1px solid var(--sc-bordo); }
.studio__fonti a { color: var(--sc-link); font-weight: 700; } .studio__fonti small { display: block; color: var(--sc-tenue); font-size: 14px; }
.studio__collegati { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.studio__collegati a { display: grid; gap: 2px; height: 100%; padding: 12px 16px; border-radius: 16px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 6px solid var(--era); color: var(--sc-testo); text-decoration: none; }
.studio__collegati a span { font-size: 14px; color: var(--sc-tenue); }
.sc-scheda .studio { margin: 22px 0 8px; } .sc-scheda .studio p { font-size: 17px; }
.studio__collegati a em { font-style: normal; font-size: 15px; line-height: 1.45; margin-top: 4px; }
.sc-scheda .studio__collegati { grid-template-columns: 1fr; }
.sc-collegato { display: grid; gap: 2px; width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 14px; border: 2px solid var(--sc-bordo); border-left: 6px solid var(--era); background: var(--sc-sfondo2); color: var(--sc-testo); font: inherit; font-size: 16px; text-align: left; cursor: pointer; }
.sc-collegato small { color: var(--sc-tenue); } .sc-collegato span { font-size: 15px; line-height: 1.45; } .sc-collegato:hover { border-color: var(--era); }
html.lim .studio p, html.lim .studio__punti li { font-size: 24px; }
@media (max-width: 700px) { .evento .studio { padding: 20px 16px 8px; border-radius: 18px; } .studio p { font-size: 18px; } }
@media print { .studio__indice { display: none; } .evento .studio { border: 0; padding: 0; } }

/* ================= HOME 30/10: «Aurora» (html[data-dir=a], solo la home) — Bricolage Grotesque per titoli e tasti, nastro di luce ================= */
@font-face { font-family: 'Bricolage Grotesque'; src: url(/risorse/caratteri/bricolage-grotesque-latin-wght-normal.woff2) format('woff2'); font-weight: 200 800; font-display: swap; }
html[data-dir] { --home-font: 'Bricolage Grotesque', 'Mulish', sans-serif; }
@keyframes galleggia { 0%, 100% { translate: 0 0; rotate: -.6deg; } 50% { translate: 0 -9px; rotate: .6deg; } }
html[data-dir] .intro::before { display: none; }
html[data-dir] .intro { top: clamp(96px, 16vh, 150px); }
html[data-dir] .intro__sopra { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 7px 14px; border-radius: 999px; font: 600 13px/1 var(--sc-font); letter-spacing: .04em; text-transform: none; }
html[data-dir] .intro h1 { font-family: var(--home-font); font-weight: 800; letter-spacing: -.035em; line-height: .98; font-size: clamp(46px, 8.2vw, 112px); max-width: 12ch; text-shadow: none; }
html[data-dir] .intro h1 span { display: block; background: none; filter: none; -webkit-background-clip: border-box; background-clip: border-box; }
html[data-dir] .intro__sotto { font: 500 clamp(17px, 1.7vw, 21px)/1.5 var(--sc-font); max-width: 34ch; margin: 22px auto 30px; text-shadow: none; }
html[data-dir] .intro .btn { font-family: var(--home-font); font-weight: 700; letter-spacing: -.01em; min-height: 56px; padding: 10px 26px; border-radius: 999px; box-shadow: none; }
html[data-dir] .intro .btn--grande { font-size: 18px; }
html[data-dir] .tappa { width: 320px; border: 0; outline: 0; border-radius: 26px; animation: galleggia 6s ease-in-out infinite; }
html[data-dir] .tappa:nth-child(2n) { animation-duration: 7.2s; animation-delay: -2s; }
html[data-dir] .tappa h3 { font-family: var(--home-font); font-weight: 700; letter-spacing: -.02em; font-size: 23px; line-height: 1.12; }
html[data-dir] .tappa__img { margin: 8px 8px 0; border-radius: 19px; }
html[data-dir] .tappa__testo { padding: 12px 18px 18px; }
html[data-dir] .tappa__n { letter-spacing: .02em; text-transform: none; font-weight: 700; font-size: 12.5px; }
html[data-dir] .tappa__apri { font-family: var(--home-font); font-weight: 700; border-width: 0; background: var(--sc-testo); color: #fff; padding: 6px 16px; }
html[data-dir] .cruscotto { top: 84px; width: auto; min-width: min(420px, calc(100% - 32px)); padding: 12px 22px 14px; border-radius: 22px; }
html[data-dir] .cr-anno { font: 800 clamp(30px, 4vw, 50px)/1.05 var(--home-font); letter-spacing: -.03em; text-shadow: none; }
html[data-dir] .cr-qui__sei { letter-spacing: .14em; font-size: 11.5px; }
html[data-dir] .cr-era { font: 700 14px var(--home-font); padding: 4px 12px; }
html[data-dir] .cr-scala { font-weight: 700; font-size: 12.5px; }
html[data-dir] .nastro-qui { width: 168px; border-radius: 20px; }
html[data-dir] .nastro-qui i { width: 6px; margin-right: 4px; border-radius: 6px !important; }
html[data-dir] .nastro-qui button { font: 600 13px/1.15 var(--home-font); }
html[data-dir] .arrivo h2 { font-family: var(--home-font); font-weight: 800; letter-spacing: -.03em; }
html[data-dir] .suggerimento { font: 600 14px var(--sc-font); }

/* A · Aurora: notte luminosa, vetro scuro, testi bianchi */
html[data-dir="a"] .palco { background: #070620; }
html[data-dir="a"] .intro::before { display: block; top: -90px; height: calc(100% + 180px); background: radial-gradient(closest-side, rgba(7, 6, 32, .62), rgba(7, 6, 32, 0)); }
html[data-dir="a"] .nastro-qui__tu b, html[data-dir="a"] .nastro-qui__tu span { background: rgba(14, 11, 44, .82); font-family: var(--home-font); }
html[data-dir="a"] .suggerimento { background: rgba(14, 11, 44, .6); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
html[data-dir="a"] .salta-volo { font-family: var(--home-font); font-weight: 700; }
html[data-dir="a"] .intro__sopra { background: rgba(255, 255, 255, .1); color: #E7E3FF; border: 1px solid rgba(255, 255, 255, .18); }
html[data-dir="a"] .intro h1 { color: #fff; }
html[data-dir="a"] .intro h1 span { color: #B9F3FF; text-shadow: 0 0 40px rgba(120, 220, 255, .45); }
html[data-dir="a"] .intro__sotto { color: rgba(240, 238, 255, .86); }
html[data-dir="a"] .intro .btn--pieno { background: #fff; border-color: #fff; color: #120E3A; box-shadow: 0 10px 40px rgba(140, 200, 255, .35); }
html[data-dir="a"] .intro .btn--vetro { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .3); }
html[data-dir="a"] .tappa { background: rgba(20, 16, 54, .78); color: #fff; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 30px 60px rgba(0, 0, 0, .45), 0 0 60px color-mix(in srgb, var(--era) 35%, transparent); }
html[data-dir="a"] .tappa__n { color: rgba(255, 255, 255, .65); }
html[data-dir="a"] .tappa p { color: rgba(255, 255, 255, .85); }
html[data-dir="a"] .tappa__apri { background: #fff; color: #120E3A; }
html[data-dir="a"] .cruscotto, html[data-dir="a"] .nastro-qui { background: rgba(14, 11, 44, .5); border: 1px solid rgba(255, 255, 255, .12); }

@media (prefers-reduced-motion: reduce) { html[data-dir] .tappa { animation: none; } }


/* Ascolta la scheda di studio (30/10): tasto e lettore con tasti grandi per il dito (min 56 px) */
.studio__ascolta { margin-left: .6rem; min-height: 48px; padding: 0 1.1rem; font: inherit; font-weight: 700; border: 2px solid currentColor; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; }
.studio__ascolta[aria-pressed="true"] { box-shadow: inset 0 0 0 3px currentColor; }
.studio__lettore { margin: .8rem 0 1.2rem; padding: .9rem; border: 2px solid currentColor; border-radius: 14px; }
.studio__lettore-titolo { margin: 0 0 .7rem; font-weight: 600; }
.studio__lettore-tasti { display: flex; gap: .6rem; flex-wrap: wrap; }
.studio__lettore-tasti button { flex: 1 1 7rem; min-height: 56px; min-width: 56px; font: inherit; font-weight: 700; font-size: 1.05rem; border: 2px solid currentColor; border-radius: 12px; background: transparent; color: inherit; cursor: pointer; }
.studio__lettore-tasti button:disabled { opacity: .45; cursor: default; }
.studio__lettore-tasti button:focus-visible, .studio__ascolta:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

/* 31/10, controllo finale: niente scorrimento laterale al telefono */
figure.mappa > svg, svg[preserveAspectRatio="xMidYMid slice"] { overflow: hidden !important; max-width: 100%; }
.campo { min-width: 0; max-width: 100%; }
.campo select { max-width: 100%; min-width: 0; box-sizing: border-box; text-overflow: ellipsis; }
@media (max-width: 520px) { .foglio__testa { flex-wrap: wrap; } .foglio__testa .qr { width: 64px; height: 64px; max-width: 100%; } }
/* testo mai sotto 12 px a schermo (schede per insegnanti); in stampa restano le misure del foglio */
@media screen { .foglio__piede { font-size: max(8.5pt, 12px); } .foglio__linea span { font-size: max(9.5pt, 12px); } .foglio [class*="soluzion"], .foglio [class*="risposte"] { font-size: max(1em, 12px); } }
.studio p, .studio li, .studio dd, .studio dt, .studio a { overflow-wrap: anywhere; }
/* i riquadri della home si aprono toccandoli dove vuoi (31/10, Simone): il bottone copre il riquadro con ::after */
.riquadro { position: relative; }
.riquadro > .btn::after { content: ""; position: absolute; inset: 0; border-radius: var(--sc-raggio); z-index: 1; }   /* non «inherit»: il bottone è una pillola e gli angoli della card non risponderebbero */
.riquadro > .btn, .riquadro > .btn:hover, .riquadro > .btn:active { transform: none; }
.riquadro:has(> .btn:focus-visible) { outline: 3px solid var(--sc-accento); outline-offset: 3px; }

/* pannello «condividi»: WhatsApp per primo, tasti da 44 px */
.cond-pannello{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;padding:10px;border:1px solid rgba(30,34,51,.18);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(30,34,51,.12)}
.cond-voce{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 16px;border-radius:999px;border:2px solid transparent;font:700 16px/1 inherit;font-family:inherit;text-decoration:none;color:#fff;cursor:pointer}
.cond-wa{background:#1E7B45}.cond-tg{background:#1F6FA8}.cond-fb{background:#2F55A4}
.cond-copia,.cond-altro{background:#fff;color:#1E2233;border-color:#1E2233}
.cond-voce:focus-visible{outline:3px solid #FFC21A;outline-offset:2px}
@media (max-width:480px){.cond-pannello{flex-direction:column}.cond-voce{justify-content:flex-start}}

/* collegamento «Nella leggenda» (Atlante dei Miti) */
.incrocio{margin:24px 0}.incrocio__lista{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.incrocio__lista a{display:flex;align-items:center;min-height:44px;padding:12px 16px;border:2px solid #D43F42;border-radius:14px;background:#fff;color:#1E2233;text-decoration:none}
.incrocio__lista a:hover{background:#FFF2EF}.incrocio__nota{font-size:.9em}

/* home (2/11): ricerca ed ere subito sotto la testata, «Salta il viaggio» visibile; il viaggio al telefono è più corto */
.rapido { padding: 76px 16px 14px; display: grid; gap: 12px; max-width: 980px; margin: 0 auto; position: relative; z-index: 3; }
.rapido__cerca { width: 100%; min-height: 52px; justify-content: center; }
.rapido__ere { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rapido__ere a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 12px; border-radius: 999px; background: #fff; color: #1E2233; border: 2px solid var(--era, #6C5CE7); text-decoration: none; font-weight: 700; font-size: 15px; line-height: 1.15; }
.rapido__ere i { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--era, #6C5CE7); color: var(--era-t, #fff); font-style: normal; font-size: 13px; }
.rapido__salta { justify-self: center; display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 800; color: #6C5CE7; border: 2px solid #6C5CE7; text-decoration: none; background: #fff; }
@media (max-width: 700px) { .volo { height: 760svh; } .rapido { padding-top: 70px; } }
html[data-modo="linea"] .rapido { display: none; }

/* 3/11: collegamenti ai prodotti di Simone */
.dietro__altri { font-size: 15px; margin: 0 0 12px; max-width: 66ch; }
.dietro__altri a { display: inline-block; padding: 10px 2px; min-height: 44px; box-sizing: border-box; }
.ascolta { margin: 28px 0; }
.ascolta h2 { font-size: 22px; }
.ascolta .incrocio__lista { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.ascolta .incrocio__lista a { display: block; min-height: 44px; padding: 10px 14px; border: 1px solid currentColor; border-radius: 12px; text-decoration: none; }
.ascolta .incrocio__lista b, .ascolta .incrocio__lista span { display: block; } .ascolta .incrocio__lista span { font-size: 14px; opacity: .8; }

/* 3/11, controllo esterno: al telefono l'interruttore Vola/Linea non copre più il titolo della home; bersagli da 44 px */
@media (max-width: 700px) {
  html[data-dir="a"] .intro { padding-bottom: 96px; }
  .marchio { min-height: 44px; }
  .briciole a { display: inline-block; padding: 12px 2px; }
  .chip-era { min-height: 44px; }
}

.ascolta__due { padding: 12px 14px; border: 1px solid currentColor; border-radius: 12px; list-style: none; }
.ascolta__due b, .ascolta__due > span { display: block; }
.ascolta__link { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ascolta__link a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid currentColor; border-radius: 999px; font-weight: 800; text-decoration: none; }

/* 3/11: scelta della lingua in alto: «EN ▾» che si apre con le tre lingue, sempre nella testata */
.lingua-sel { position: relative; }
.lingua-sel summary { list-style: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 52px; min-height: 44px; padding: 0 10px; border-radius: 999px; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); font: 800 14px var(--sc-font); cursor: pointer; }
.lingua-sel summary::-webkit-details-marker { display: none; }
.lingua-sel summary::after { content: ''; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.lingua-sel__lista { position: absolute; right: 0; top: calc(100% + 6px); z-index: 70; display: grid; min-width: 150px; padding: 6px; border-radius: 16px; background: #fff; color: var(--sc-testo); border: 1px solid var(--sc-bordo); box-shadow: 0 12px 30px rgba(20, 16, 60, .25); }
.lingua-sel__lista a, .lingua-sel__lista span { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 10px; font: 800 16px var(--sc-font); text-decoration: none; color: inherit; }
.lingua-sel__lista [aria-current] { background: var(--sc-accento); color: #fff; }
@media (max-width: 420px) { .testata .marchio { font-size: 19px; gap: 7px; } .lingua-sel summary { min-width: 46px; padding: 0 8px; } .testata__azioni { gap: 4px; } }

.studio__avviso-voce { margin: 8px 0; font-size: 14px; opacity: .8; }

/* era: card grandi e filtro per tema; menu corto con «Altro»; ritorno all'era */
.griglia-ev { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.card-ev[hidden] { display: none; }
.card-ev a { display: flex; flex-direction: column; gap: 8px; min-height: 130px; height: 100%; padding: 14px; border-radius: 18px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 8px solid var(--era); color: var(--sc-testo); text-decoration: none; box-shadow: 0 6px 18px rgba(30, 34, 51, .07); }
.card-ev a:hover { border-color: var(--era); }
.card-ev__ic { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; background: var(--era); color: var(--era-t); }
.card-ev b { font-size: 18px; line-height: 1.25; }
.card-ev__data { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.filtro-temi { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.chip-t { min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); font: inherit; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.chip-t[aria-pressed="true"] { background: var(--era, #3a4a8a); border-color: var(--era, #3a4a8a); color: var(--era-t, #fff); }
.torna-era { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-bottom: 8px; font-weight: 700; color: var(--sc-testo); }
.nav-altro { position: relative; display: inline-block; }
.nav-altro summary { list-style: none; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; padding: 0 12px; font-weight: 700; }
.nav-altro summary::-webkit-details-marker { display: none; }
.nav-altro summary::after { content: " ▾"; }
.nav-altro > div { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
@media (min-width: 900px) { .nav-altro > div { position: absolute; right: 0; top: 100%; z-index: 30; min-width: 200px; padding: 8px; border-radius: 14px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); box-shadow: 0 10px 28px rgba(30, 34, 51, .15); } }
@media (max-width: 600px) { .griglia-ev { grid-template-columns: repeat(2, 1fr); } .card-ev b { font-size: 16px; } }

/* ===== 4/11 NAVIGAZIONE «MIX» (scelta di Simone: C + B) =====
   Home = la strada vera a schermo intero + «Salta e scegli tu» sempre visibile, poi la galleria delle 12 ere.
   Telefono: barra fissa in basso con 4 icone. Computer: menu corto con la ricerca sempre visibile. */

/* ricerca sempre visibile: al computer un campo, al telefono la lente */
.cerca-testata { display: none; }
@media (min-width: 701px) {
  .cerca-testata { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; width: clamp(170px, 20vw, 290px); padding: 0 16px; border-radius: 999px; border: 2px solid var(--sc-bordo); background: #fff; color: var(--sc-tenue); font: 600 15px var(--sc-font); cursor: pointer; text-align: left; }
  .cerca-testata .ico { width: 20px; height: 20px; flex: none; color: var(--sc-accento); }
  .cerca-testata span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .cerca-testata:hover { border-color: var(--sc-accento); }
  .tondo--cerca { display: none; }
}
/* menu a tendina (sotto 1180 px): le voci di «Altro» sempre aperte */
@media (max-width: 1180px) { .nav-altro summary { display: none; } .nav-altro { display: block; } .nav-altro > div { display: flex; } }
@media (max-width: 700px) { .nav > a { display: none; } }

/* barra in basso, solo telefono */
.barra-giu { display: none; }
@media (max-width: 700px) {
  .barra-giu { display: flex; position: fixed; z-index: 55; left: 0; right: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--sc-bordo); box-shadow: 0 -8px 26px rgba(30, 34, 51, .12); transition: transform .25s; }
  .barra-giu a, .barra-giu button { flex: 1; position: relative; min-width: 44px; min-height: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; background: none; color: var(--sc-tenue); font: 800 13px var(--sc-font); text-decoration: none; cursor: pointer; }
  .barra-giu .ico { width: 26px; height: 26px; }
  .barra-giu [aria-current] { color: var(--sc-accento); }
  .barra-giu [aria-current]::before { content: ""; position: absolute; top: 0; left: 28%; right: 28%; height: 4px; border-radius: 0 0 4px 4px; background: currentColor; }
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  body.in-volo .barra-giu { transform: translateY(110%); pointer-events: none; }
  body.in-volo { padding-bottom: 0; }
  .sc-velo { z-index: 80; }
}

/* home: «Salta e scegli tu» sempre visibile, grande, in alto */
html[data-dir="a"] .salta-volo { top: 82px; right: auto; bottom: auto; left: 50%; transform: translateX(-50%); min-height: 56px; padding: 10px 26px; font-size: 18px; white-space: nowrap; background: #fff; color: #120E3A; box-shadow: 0 10px 34px rgba(0, 0, 0, .35); }
html[data-dir="a"] .salta-volo .ico { width: 22px; height: 22px; }
@media (max-width: 699px) { html[data-dir="a"] .salta-volo { top: 76px; right: auto; padding: 10px 22px; } html[data-dir="a"] .intro { top: 150px; } }
.racconto__viaggio { margin-bottom: 12px; }

/* galleria delle 12 ere: tessere illustrate */
.galleria-ere { padding-top: 40px; }
.galleria-ere h2 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 6px; }
.griglia-ere .carta-era { aspect-ratio: 4 / 5; border: 3px solid var(--era); justify-content: flex-end; background: var(--era); }
.griglia-ere .carta-era img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-bottom: 0; }
.griglia-ere .carta-era::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 8, 40, .88) 0%, rgba(10, 8, 40, .4) 38%, rgba(10, 8, 40, 0) 62%); }
.griglia-ere .carta-era b, .griglia-ere .carta-era small { position: relative; z-index: 2; color: #fff; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
.griglia-ere .carta-era b { padding: 0 14px 4px; font-size: 22px; }
.griglia-ere .carta-era small { padding: 0 14px 14px; font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.griglia-ere .carta-era__n { z-index: 2; }
@media (max-width: 700px) { .griglia-ere .carta-era b { font-size: 18px; padding: 0 10px 12px; } .griglia-ere .carta-era small { display: none; } }

/* banner «Il viaggio nel tempo» (pagina delle ere e di ogni era) */
.banner-viaggio { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 22px; padding: 16px 18px 20px; border-radius: 22px; color: #fff; text-decoration: none; background: linear-gradient(120deg, #2B1C86, #6C4BE8); position: relative; overflow: hidden; box-shadow: 0 10px 26px rgba(60, 40, 160, .28); }
.banner-viaggio::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, #7B5CF0, #4DA3FF, #3BD6C6, #8EE05A, #FFD93D, #FF9F4A, #FF6B8A, #FF8AD0); }
.banner-viaggio__testo { display: grid; gap: 2px; }
.banner-viaggio b { font: 800 20px/1.15 var(--sc-font); }
.banner-viaggio small { font-size: 15px; opacity: .9; }
.banner-viaggio__tasto { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 999px; background: #fff; color: #2B1C86; font-weight: 800; font-size: 16px; }
.banner-viaggio__tasto .ico { width: 20px; height: 20px; }
.banner-viaggio:hover .banner-viaggio__tasto { background: #FFE9A8; }
@media (max-width: 700px) { .banner-viaggio small { display: none; } .banner-viaggio b { font-size: 18px; } }

/* evento: sezioni lunghe richiudibili */
.piega > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; cursor: pointer; list-style: none; padding: 4px 0; border-bottom: 2px solid var(--sc-bordo); }
.piega > summary::-webkit-details-marker { display: none; }
.piega > summary h2 { margin: 0; }
.piega > summary::after { content: ""; flex: none; width: 10px; height: 10px; margin-right: 6px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.piega[open] > summary::after { transform: rotate(-135deg); }
.piega > summary + * { margin-top: 14px; }
/* durante il volo «Salta e scegli tu» scende in basso, per non coprire il «Sei qui» */
html[data-dir="a"] .salta-volo.giu { top: auto; bottom: 20px; left: auto; right: 20px; transform: none; min-height: 52px; padding: 8px 22px; font-size: 17px; }
@media (max-width: 699px) { html[data-dir="a"] .salta-volo.giu { left: 50%; right: auto; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); } }
@media (min-width: 700px) { html[data-dir="a"] .intro { top: clamp(150px, 21vh, 200px); } }
/* telefono: la scheda dell'evento si apre con l'immagine; niente briciole (c'è «Torna a: era») */
@media (max-width: 1000px) { .evento__lato { display: contents; } .evento__lato .evento__figura { order: -1; } .evento__lato .mappa { order: 2; } .evento__testo { order: 1; } }
@media (max-width: 700px) { .briciole { display: none; } }

/* Ascolta in risalto: banner in cima all'evento e tasto grande nella scheda */
.banner-ascolta { display: flex; align-items: center; gap: 14px; width: 100%; max-width: 520px; min-height: 72px; margin: 6px 0 14px; padding: 12px 20px 12px 14px; border: 0; border-radius: 22px; background: var(--era, #6a4fe0); color: var(--era-t, #fff); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 8px 0 rgba(0,0,0,.18), 0 14px 30px rgba(30,34,51,.18); animation: ascolta-pulsa 2.6s ease-in-out 4; }
.banner-ascolta:active { transform: translateY(3px); box-shadow: 0 4px 0 rgba(0,0,0,.18); }
.banner-ascolta__ic { display: inline-flex; flex: none; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.28); }
.banner-ascolta__ic .ico { width: 28px; height: 28px; }
.banner-ascolta__t { display: flex; flex-direction: column; }
.banner-ascolta__t b { font-size: 24px; line-height: 1.1; }
.banner-ascolta__t small { font-size: 14px; opacity: .9; }
@keyframes ascolta-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }
@media (prefers-reduced-motion: reduce) { .banner-ascolta { animation: none; } }
.studio__ascolta { background: var(--era, #6a4fe0); border-color: var(--era, #6a4fe0); color: var(--era-t, #fff); min-height: 52px; font-size: 1.1rem; padding: 0 1.5rem; }

/* Musica in risalto (4/11): riquadro pieno e colorato, tasti bianchi grandi */
.incrocio__lista > .ascolta__due { grid-column: 1 / -1; padding: 22px 24px; border: 0; border-radius: 22px; background: var(--era, var(--primo, #6a4fe0)); color: var(--era-t, var(--primo-testo, #fff)); box-shadow: 0 8px 0 rgba(0,0,0,.16), 0 14px 30px rgba(30,34,51,.16); }
.ascolta__due b { font-size: 22px; line-height: 1.2; }
.ascolta__due > span:not(.ascolta__link) { margin-top: 4px; font-size: 16px; opacity: .95; }
.ascolta__due .ascolta__link { gap: 12px; margin-top: 14px; }
.ascolta__due .ascolta__link a { min-height: 52px; padding: 0 24px; border: 0; background: #fff; color: #1E2233; font-size: 18px; box-shadow: 0 4px 0 rgba(0,0,0,.18); }
.ascolta__due .ascolta__link a:hover { transform: translateY(-2px); }

/* lettore fisso e testo che segue la voce (4/11) */
.studio__lettore { position: sticky; top: 80px; z-index: 40; background: var(--sc-sfondo2, #fff); border: 2px solid var(--era, #6a4fe0); border-radius: 20px; box-shadow: 0 10px 30px rgba(30,34,51,.28); padding: 10px 14px 12px; }
.studio__lettore-barra { height: 8px; margin: 6px 0 10px; border-radius: 99px; background: rgba(0,0,0,.1); overflow: hidden; }
.studio__lettore-barra span { display: block; height: 100%; width: 0; background: var(--era, #6a4fe0); transition: width .3s linear; }
.studio__parte--leggo { outline: 3px solid var(--era, #6a4fe0); outline-offset: 8px; border-radius: 14px; }
.studio__leggo { background: color-mix(in srgb, var(--era, #6a4fe0) 16%, transparent); border-radius: 8px; box-shadow: -10px 0 0 color-mix(in srgb, var(--era, #6a4fe0) 16%, transparent), 10px 0 0 color-mix(in srgb, var(--era, #6a4fe0) 16%, transparent); }

/* «Salta e scegli tu» sta accanto a «Scorri e parti» all'inizio; quando il volo parte diventa il tasto fisso in basso (4/11) */
html[data-dir="a"] .salta-volo:not(.giu) { display: none; }
.intro__bottoni { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.btn--chiaro { background: rgba(255,255,255,.14); color: #fff; border: 2px solid rgba(255,255,255,.7); box-shadow: none; }

/* Riquadro musica, rifatto (4/11): carta scura con icona, titolo e due tasti larghi centrati */
.incrocio__lista > li.ascolta__due { grid-column: 1 / -1; display: block; padding: 20px; border: 0; border-radius: 22px; background: linear-gradient(135deg, #25235e 0%, #4a37b8 100%); color: #fff; box-shadow: 0 10px 28px rgba(30, 34, 51, .28); }
.ascolta__due .ascolta__testa { display: flex; align-items: center; gap: 14px; color: #fff; font-size: inherit; }
.ascolta__due .ascolta__nota { flex: none; width: 52px; height: 52px; padding: 12px; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #FFD84D; }
.ascolta__due .ascolta__titoli { display: flex; flex-direction: column; gap: 4px; color: #fff; font-size: inherit; }
.ascolta__due .ascolta__titoli b { font-size: 21px; line-height: 1.2; color: #fff; }
.ascolta__due .ascolta__desc { display: block; font-size: 15px; line-height: 1.35; color: #E4E0FF; }
.ascolta__due .ascolta__link { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; color: inherit; }
.ascolta__due .ascolta__link a { flex: 1 1 150px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 18px; border: 0; border-radius: 999px; background: #fff; color: #1E2233; font-size: 18px; font-weight: 800; text-align: center; text-decoration: none; box-shadow: 0 4px 0 rgba(0, 0, 0, .25); }
.ascolta__due .ascolta__link a i { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.ascolta__due .ascolta__sp i { background: #1DB954; } .ascolta__due .ascolta__yt i { background: #FF0033; }
.ascolta__due .ascolta__link a:hover { transform: translateY(-2px); }
.ascolta__due .ascolta__link a { flex-direction: row; }

/* selettore Viaggio | Linea sempre visibile in cima alla home (4/11) */
.sc-scheda__azioni .sc-btn:last-child { background: var(--era, #6a4fe0); border-color: var(--era, #6a4fe0); color: var(--era-t, #fff); font-weight: 800; }
.racconto__viaggio { display: none; }

/* Linea piccola, rifatta (4/11): eventi a distanza uguale, numerati, quello in corso evidenziato: niente più etichette che si accavallano */
.mini-linea { margin: 22px 0; padding: 18px 18px 14px; border-radius: 22px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 8px solid var(--era); }
.mini-linea h2 { font-size: 20px; margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.mini-linea__qui { display: flex; flex-direction: column; gap: 2px; margin: 0 0 8px; } .mini-linea__qui b { font-size: 19px; } .mini-linea__qui span { color: var(--sc-tenue); font-weight: 700; }
.mini-linea__scroll { overflow-x: auto; padding: 14px 4px 10px; scroll-snap-type: x proximity; }
.mini-linea__lista { list-style: none; margin: 0; padding: 0 12px; display: flex; gap: 0; position: relative; min-width: max-content; }
.mini-linea__lista::before { content: ""; position: absolute; left: 12px; right: 12px; top: 50%; height: 6px; margin-top: -3px; border-radius: 3px; background: var(--era); opacity: .35; }
.mini-linea__lista li { scroll-snap-align: center; position: relative; }
.mini-linea__nodo { position: relative; display: grid; place-items: center; width: 52px; height: 52px; text-decoration: none; }
.mini-linea__n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 3px solid var(--era); color: #1E2233; font-weight: 800; font-size: 14px; }
.mini-linea__nodo:hover .mini-linea__n { background: var(--era); color: var(--era-t, #fff); }
.mini-linea__nodo.qui .mini-linea__n { width: 48px; height: 48px; font-size: 18px; background: var(--era); color: var(--era-t, #fff); box-shadow: 0 0 0 5px color-mix(in srgb, var(--era) 30%, transparent); }
.mini-linea__estremi { display: flex; justify-content: space-between; gap: 12px; margin: 4px 0 0; font-size: 13px; font-weight: 700; color: var(--sc-tenue); }
.mini-linea__nota { margin: 6px 0 0; } .mini-linea__nota a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; }

/* Linea piccola v3 (4/11): carte con il titolo, così si vede cosa c'è prima e cosa dopo */
.mini-linea__pos { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font-weight: 800; color: var(--sc-tenue); }
.mini-linea__barra { flex: 1; height: 8px; border-radius: 99px; background: color-mix(in srgb, var(--era) 22%, transparent); overflow: hidden; } .mini-linea__barra b { display: block; height: 100%; background: var(--era); border-radius: 99px; }
.mini-linea__lista::before { display: none; }
.mini-linea__lista { gap: 10px; padding: 0 4px; }
.mini-linea__card { display: flex; flex-direction: column; gap: 4px; width: 168px; min-height: 120px; padding: 12px; border-radius: 16px; border: 2px solid var(--sc-bordo); background: #fff; color: #1E2233; text-decoration: none; }
.mini-linea__card small { font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--sc-tenue); }
.mini-linea__card b { font-size: 16px; line-height: 1.25; }
.mini-linea__card span { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--sc-tenue); }
.mini-linea__card:hover { border-color: var(--era); }
.mini-linea__card.qui { width: 200px; background: var(--era); border-color: var(--era); color: var(--era-t, #fff); box-shadow: 0 8px 20px rgba(30, 34, 51, .22); }
.mini-linea__card.qui small, .mini-linea__card.qui span { color: inherit; opacity: .92; }
.mini-linea__card.qui b { font-size: 18px; }
.mini-linea__lista li.prima .mini-linea__card { opacity: .85; }

/* Linea piccola v4: 5 eventi (2 prima, quello attuale, 2 dopo) con il titolo; sul telefono in colonna con la linea a sinistra */
.mini-linea__lista { display: grid; gap: 8px; min-width: 0; padding: 0 0 0 22px; margin: 6px 0 4px; position: relative; list-style: none; }
.mini-linea__lista::before { display: block; content: ""; position: absolute; left: 6px; top: 14px; bottom: 14px; width: 6px; height: auto; margin: 0; border-radius: 3px; background: var(--era); opacity: .4; right: auto; }
.mini-linea__lista li { position: relative; }
.mini-linea__lista li::before { content: ""; position: absolute; left: -22px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; background: #fff; border: 4px solid var(--era); }
.mini-linea__lista li.qui::before { background: var(--era); box-shadow: 0 0 0 5px color-mix(in srgb, var(--era) 30%, transparent); }
.mini-linea__card, .mini-linea__card.qui { width: auto; min-height: 0; flex-direction: column; }
.mini-linea__card span { margin-top: 0; }
@media (min-width: 860px) { .mini-linea__lista { grid-template-columns: repeat(5, 1fr); gap: 12px; padding: 26px 0 0; } .mini-linea__lista::before { left: 6px; right: 6px; top: 8px; bottom: auto; width: auto; height: 6px; } .mini-linea__lista li::before { left: 50%; top: -26px; margin: 0 0 0 -9px; } }

/* Linea piccola v5: tutti gli eventi dell'era, se ne vedono 5 e si scorre (in verticale sul telefono, di lato sul PC) */
.mini-linea__scroll { overflow: auto; max-height: 560px; padding: 4px 4px 4px 0; scroll-snap-type: y proximity; }
.mini-linea__lista { min-width: 0; padding: 0 0 0 26px; }
.mini-linea__lista::before { display: none !important; }
.mini-linea__lista li { scroll-snap-align: center; }
.mini-linea__lista li::before { left: -26px; }
.mini-linea__lista li:not(:last-child)::after { content: ""; position: absolute; left: -20px; top: 50%; width: 6px; height: calc(100% + 8px); background: var(--era); opacity: .4; border-radius: 3px; }
@media (min-width: 860px) {
  .mini-linea__scroll { max-height: none; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; padding: 0 0 10px; }
  .mini-linea__lista { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 192px; gap: 12px; padding: 26px 0 0; min-width: max-content; }
  .mini-linea__lista li::before { left: 50%; top: -26px; margin: 0 0 0 -9px; }
  .mini-linea__lista li:not(:last-child)::after { left: 50%; top: -20px; width: calc(100% + 12px); height: 6px; }
}

/* selettore Viaggio | Linea, rimesso a posto (4/11, controllo): niente più titolo coperto */
@media (max-width: 900px) {
  html[data-modo="linea"] .plancia { padding-top: 84px; }
}
.sei-qui__nota { margin: 4px 0 0; width: 100%; font: 700 13px/1.3 var(--sc-font); color: var(--sc-tenue); }
.sei-qui__nota { font-size: 12.5px; }
@media (max-width: 900px) { #linea { top: 84px; } }
.tabella td a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.marchio { min-height: 44px; }
.chip-era { min-height: 44px; }

/* controllo 04/11 (stampa): con i testi lunghi (francese, inglese) la prima facciata usciva dal foglio e tagliava «Lo sapevi?» e il piede: margini e corpo un po' più stretti, solo in stampa */
@media print {
  .foglio { padding: 10mm 12mm 7mm; font-size: 10.5pt; line-height: 1.38; }
  .foglio h1 { font-size: 26pt; } .foglio h2 { margin: 7px 0 4px; font-size: 14pt; }
  .foglio__intro { font-size: 11pt; } .foglio__testa { padding-bottom: 6px; margin-bottom: 8px; } .foglio__testa .qr { width: 72px; height: 72px; }
  .foglio__linea { font-size: 10pt; } .foglio__linea li { margin-bottom: 1px; } .foglio__linea span { font-size: 9pt; }
}
/* controllo 04/11: link piccoli al telefono (≥ 44 px di altezza) */
.piede__in p a, p.nota a, .studio__fonti li a, .p-fonte a, .evento__testo .fonte a, .riquadro p a, .testo-lungo p a, .elenco-era h2 a { display: inline-block; padding-block: 11px; }
.elenco-era h2 a { padding-block: 9px; }
.evento__testo .fonte a { padding-block: 10px; }

/* TELEFONO (<=700px): la Linea è la fisarmonica a ere (scelta di Simone, 4/11); il PC resta com'è. Strada: palco a 100dvh, niente fascia vuota. */
.linea-tel { display: none; }
@media (max-width: 700px) {
  html[data-modo="linea"] .plancia { display: none !important; }
  html[data-modo="linea"] .linea-tel { display: block; padding: 150px 16px 120px; background: var(--sc-sfondo); }
  html[data-modo="vola"] .linea-tel { display: none; }
  .linea-tel h2 { font-size: 30px; margin: 0 0 6px; } .linea-tel__hint { margin: 0 0 16px; font-weight: 700; color: var(--sc-tenue); }
  .lt-ere { display: grid; gap: 12px; }
  .lt-era { border-radius: 22px; background: var(--sc-sfondo2); border: 3px solid var(--era); overflow: hidden; }
  .lt-era > summary { list-style: none; display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 12px 16px; cursor: pointer; background: color-mix(in srgb, var(--era) 18%, transparent); }
  .lt-era > summary::-webkit-details-marker { display: none; }
  .lt-era > summary::after { content: ""; margin-left: auto; width: 14px; height: 14px; border-right: 4px solid currentColor; border-bottom: 4px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
  .lt-era[open] > summary::after { transform: rotate(-135deg); }
  .lt-n { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--era); color: var(--era-t, #fff); font-weight: 800; font-size: 20px; }
  .lt-t { display: flex; flex-direction: column; gap: 2px; } .lt-t b { font-size: 21px; line-height: 1.15; } .lt-t small { font-size: 14px; color: var(--sc-tenue); font-weight: 700; }
  .lt-ev { list-style: none; margin: 0; padding: 12px; display: grid; gap: 10px; }
  .lt-ev a { display: flex; flex-direction: column; gap: 4px; min-height: 76px; padding: 12px 16px; border-radius: 16px; background: #fff; border: 2px solid var(--sc-bordo); border-left: 8px solid var(--era); color: #1E2233; text-decoration: none; justify-content: center; }
  .lt-ev a.qui { background: color-mix(in srgb, var(--era) 22%, #fff); box-shadow: 0 0 0 3px var(--era); }
  .lt-data { font-size: 19px; font-weight: 800; color: var(--era); filter: brightness(.7); } .lt-ev b { font-size: 18px; line-height: 1.25; }
  .lt-succ { margin: 4px 12px 14px; width: calc(100% - 24px); justify-content: center; min-height: 56px; }
  @supports (height: 100dvh) { .palco { height: 100dvh; } }
}

/* Linea telefono v2 «Schede» (scelta di Simone, 4/11): al posto della fisarmonica */
@media (max-width: 700px) {
  .lt-strip { position: sticky; top: 64px; z-index: 30; margin: 0 -16px 14px; padding: 10px 16px; overflow-x: auto; background: color-mix(in srgb, var(--sc-sfondo) 94%, transparent); backdrop-filter: blur(8px); border-bottom: 2px solid var(--sc-bordo); scrollbar-width: none; }
  .lt-strip::-webkit-scrollbar { display: none; }
  .lt-strip ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; min-width: max-content; }
  .lt-bollino { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 78px; min-height: 84px; padding: 6px 4px; border: 0; border-radius: 16px; background: transparent; color: var(--sc-testo); font: inherit; cursor: pointer; }
  .lt-bollino .lt-n { width: 48px; height: 48px; font-size: 20px; }
  .lt-nome { font-size: 12px; line-height: 1.15; font-weight: 700; text-align: center; max-width: 74px; }
  .lt-bollino[aria-pressed="true"] { background: color-mix(in srgb, var(--era) 20%, transparent); }
  .lt-bollino[aria-pressed="true"] .lt-n { box-shadow: 0 0 0 4px var(--sc-sfondo), 0 0 0 7px var(--era); }
  .lt-era { display: block; border: 0; background: transparent; border-radius: 0; overflow: visible; }
  .lt-era[hidden] { display: none; }
  .lt-testa { display: flex; flex-direction: column; gap: 2px; padding: 4px 4px 12px; border-bottom: 5px solid var(--era); margin-bottom: 12px; }
  .lt-testa b { font-size: 26px; line-height: 1.15; } .lt-testa small { font-size: 15px; font-weight: 700; color: var(--sc-tenue); }
  .lt-ev { padding: 0; }
  .lt-succ { margin: 16px 0 0; width: 100%; }
}

/* Pagina ERE sul telefono = v2 «Schede» (scelta di Simone, 4/11): al posto della lista delle 12 ere; il PC resta com'è */
.linea-tel--ere { display: none; }
@media (max-width: 700px) {
  .linea-tel--ere { display: block; padding: 8px 0 24px; }
  .linea-tel--ere .linea-tel__hint { margin: 8px 0 8px; }
  .elenco-ere--pc { display: none; }
  .lt-tutta { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 6px; font-weight: 800; color: inherit; text-decoration: underline; }
  .lt-testa { scroll-margin-top: 150px; }
}

/* TAPPA A (4/11): un solo gruppo di 3 bottoni in basso al centro: Viaggio | Linea | Salta e scegli tu (PC e telefono) */
.dock .dock__salta { background: #FFD84D; color: #1E2233; }
.dock .dock__salta:hover { background: #FFE27A; }
.dock .dock__salta .ico { width: 20px; height: 20px; }
.p-home .piede { padding-bottom: 120px; }
html[data-dir="a"] .salta-volo, .salta-volo, .suggerimento { display: none !important; }
html[data-dir="a"] .intro { top: clamp(120px, 22vh, 210px); }
@media (max-width: 700px) {
  .p-home .barra-giu { display: none !important; }
  .dock { left: 50%; padding: 5px; gap: 2px; max-width: calc(100vw - 12px); }
  .dock__btn { padding: 6px 12px; font-size: 15px; gap: 6px; }
  html[data-modo="linea"] .linea-tel { padding-top: 28px; padding-bottom: 130px; }
  html[data-dir="a"] .intro { top: 150px; }
}
@media (min-width: 901px) { .p-home .comandi { bottom: 88px; } }

/* ===== TAPPA B (4/11): card con la FOTO nelle ere. Foto sopra, testo SOTTO (mai scritte sopra la foto), proporzione fissa 4:3 ===== */
.foto { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: color-mix(in srgb, var(--era, #888) 25%, #fff); }
.foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.foto .ritaglio { object-position: var(--x, 50%) var(--y, 50%); }

/* pagina ERA: eventi a tutta larghezza (4 colonne), mappa/curiosità/quiz sotto */
.era__due { grid-template-columns: 1fr; }
.era__lato { grid-template-columns: repeat(3, 1fr); align-items: start; }
.griglia-ev { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.card-ev a { padding: 0; gap: 0; min-height: 0; overflow: hidden; border-top-width: 2px; border-radius: 20px; }
.card-ev a .foto { border-bottom: 8px solid var(--era); }
.card-ev__corpo { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 12px 14px 14px; }
.card-ev__tema { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.card-ev__ic { width: 28px; height: 28px; flex: none; }
.card-ev__ic svg { width: 18px; height: 18px; }
.card-ev b { font-size: 20px; line-height: 1.22; }
.card-ev__data { font-size: 16px; color: var(--sc-testo); }
.card-ev a:hover { transform: translateY(-3px); transition: transform .15s; }
@media (max-width: 1100px) { .griglia-ev { grid-template-columns: repeat(3, 1fr); } .era__lato { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .era__lato { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .griglia-ev { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .card-ev a { border-radius: 16px; }
  .card-ev__corpo { padding: 9px 10px 11px; gap: 4px; }
  .card-ev b { font-size: 16px; }
  .card-ev__tema { font-size: 12px; gap: 6px; } .card-ev__ic { width: 22px; height: 22px; } .card-ev__ic svg { width: 14px; height: 14px; }
  .card-ev__data { font-size: 14px; }
}

/* pagina ERE su PC: 12 card con l'immagine grande, 3 colonne (4 su schermi larghi) */
@media (min-width: 701px) {
  .elenco-ere--pc { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .elenco-ere--pc .riga-era { grid-template-columns: 1fr; gap: 0; align-items: stretch; border-left-width: 2px; border-bottom: 10px solid var(--era); height: 100%; }
  .elenco-ere--pc .riga-era { align-content: start; grid-auto-rows: max-content; }
  .elenco-ere--pc .riga-era img { aspect-ratio: 16 / 10; height: auto; align-self: start; }
  .elenco-ere--pc .riga-era__testo { padding: 14px 16px 16px; gap: 4px; }
  .elenco-ere--pc .riga-era b { font-size: 26px; }
  .elenco-ere--pc .riga-era:hover { transform: translateY(-3px); transition: transform .15s; }
}
@media (min-width: 1300px) { .elenco-ere--pc { grid-template-columns: repeat(4, 1fr); } }

/* telefono: card eventi dentro la scheda dell'era (Linea v2 / pagina Ere): foto a sinistra */
@media (max-width: 700px) {
  .lt-ev a { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; padding: 8px 12px 8px 8px; min-height: 84px; }
  .lt-ev a .foto { flex: none; width: 92px; aspect-ratio: 4 / 3; border-radius: 12px; }
  .lt-testo { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
}

/* «Altrove nello stesso periodo»: foto in testa alla card */
.altrove a { padding: 0; overflow: hidden; align-content: start; gap: 0; }
.altrove a .foto { border-bottom: 6px solid var(--era); }
.altrove__testo { display: grid; gap: 2px; padding: 10px 14px 12px; }
@media (max-width: 700px) {
  .altrove a { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 8px; min-height: 72px; }
  .altrove a .foto { flex: none; width: 84px; border-bottom: 0; border-radius: 10px; }
  .altrove__testo { padding: 0; }
}

/* «Prima e dopo»: foto piccola in ogni carta */
.mini-linea__card { padding: 0; overflow: hidden; gap: 0; }
.mini-linea__card .foto { aspect-ratio: 16 / 9; border-bottom: 4px solid var(--era); }
.mini-linea__testo { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 12px; flex: 1; }
.mini-linea__card.qui .foto { border-bottom-color: #fff; }
@media (max-width: 859px) {
  .mini-linea__card, .mini-linea__card.qui { flex-direction: row; align-items: stretch; }
  .mini-linea__card .foto { flex: none; width: 88px; aspect-ratio: auto; border-bottom: 0; border-right: 4px solid var(--era); }
  .mini-linea__card.qui .foto { border-right-color: #fff; }
}
.altrove a .foto { aspect-ratio: 16 / 9; }
@media (max-width: 700px) { .altrove a .foto { aspect-ratio: 4 / 3; } }

/* ===== Confronta due ere (4/11, tappa C): due colonne, una riga per tema ===== */
.confronta { padding: 26px 0 40px; }
.cf-coppie { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.cf-coppie .pillola { min-height: 48px; font-size: 16px; }
.cf-coppie .pillola[aria-pressed="true"] { background: var(--sc-accento); border-color: var(--sc-accento); color: var(--sc-accento-testo); }
.cf-scelta { display: grid; grid-template-columns: 1fr 44px 1fr; gap: 10px; align-items: center; margin-bottom: 18px; }
.cf-contro { display: grid; place-items: center; color: var(--sc-tenue); font-size: 26px; }
.cf-sel { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 20px; background: var(--sc-sfondo2); border: 3px solid var(--era); min-width: 0; }
.cf-sel img { width: 96px; height: 60px; border-radius: 12px; object-fit: cover; flex: none; }
.cf-sel .campo { flex: 1; min-width: 0; }
.cf-sel .campo span { font-size: 14px; color: var(--sc-tenue); }
.cf-sel select { width: 100%; min-height: 52px; font-size: 18px; font-weight: 800; }
.cf-avviso:not([hidden]) { display: block; margin: 0 0 18px; padding: 16px 18px; border-radius: 18px; background: #FFF4D6; border: 2px solid #F2C81B; font-weight: 700; font-size: 18px; }
.cf-riga { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; align-items: stretch; }
.cf-slot { min-width: 0; }
.cf-riga--testate { align-items: stretch; margin-bottom: 18px; }
.cf-slot--testa { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: var(--era); color: var(--era-t); }
.cf-testa__img img { width: 100%; height: 130px; object-fit: cover; }
.cf-testa__testo { padding: 14px 18px 16px; }
.cf-testa__testo h2 { margin: 0 0 4px; font-size: clamp(22px, 2.4vw, 30px); }
.cf-testa__testo p { margin: 0 0 4px; font-size: 16px; line-height: 1.4; }
.cf-periodo { font-weight: 800; }
.cf-tema { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding-bottom: 6px; border-bottom: 3px solid var(--sc-bordo); font-size: clamp(22px, 2.4vw, 28px); }
.cf-tema__n { display: inline-block; } .cf-tema__n::first-letter { text-transform: uppercase; }
.cf-tema--grande { font-size: clamp(26px, 3vw, 34px); }
.cf-slot:not(.cf-slot--testa):not(.cf-slot--fatti):not(.cf-slot--vai) { padding: 12px 14px; border-radius: 18px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); border-top: 6px solid var(--era); }
.cf-cella__era { display: none; margin: 0 0 6px; font-size: 13px; font-weight: 800; color: var(--sc-tenue); text-transform: uppercase; letter-spacing: .03em; }
.cf-ev { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cf-ev a { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 6px 8px; border-radius: 14px; color: var(--sc-testo); text-decoration: none; }
.cf-ev a:hover, .cf-ev a:focus-visible { background: var(--sc-campo); }
.cf-ev .foto { width: 64px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; flex: none; background: var(--sc-campo); }
.cf-ev .foto img { width: 100%; height: 100%; object-fit: cover; }
.cf-ev__testo { display: grid; gap: 1px; min-width: 0; }
.cf-ev__testo b { font-size: 17px; line-height: 1.25; }
.cf-ev__testo span { font-size: 15px; color: var(--sc-tenue); }
.cf-vuoto { margin: 0; padding: 10px 4px; color: var(--sc-tenue); font-style: italic; }
.cf-altri summary { min-height: 48px; display: flex; align-items: center; padding: 0 8px; font-weight: 800; color: var(--sc-link); cursor: pointer; }
.cf-altri .cf-ev { margin-top: 2px; }
.cf-riga--cambia { margin-top: 24px; padding: 20px; border-radius: 26px; background: var(--sc-campo); }
.cf-cur { grid-column: 1 / -1; margin: 0; color: var(--sc-tenue); }
.cf-fatti { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cf-fatti li { padding: 12px 14px; border-radius: 16px; background: var(--sc-sfondo2); border-left: 8px solid var(--era); font-size: 16px; line-height: 1.45; }
.cf-slot--vai .btn { width: 100%; justify-content: center; text-align: center; }
.cf-quiz { grid-column: 1 / -1; justify-self: center; justify-content: center; }
@media (max-width: 1100px) { .cf-sel img { width: 72px; height: 45px; } }
@media (max-width: 700px) {
  .confronta { padding-top: 18px; }
  .cf-coppie { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 12px; }
  .cf-coppie .pillola { font-size: 14px; line-height: 1.2; padding: 6px 8px; min-height: 52px; border-radius: 16px; text-align: center; }
  .cf-scelta { grid-template-columns: 1fr; gap: 8px; margin-bottom: 14px; }
  .cf-sel { padding: 8px 10px; gap: 10px; }
  .cf-contro { display: none; }
  .cf-sel img { width: 64px; height: 40px; }
  .cf-riga { gap: 8px; }
  .cf-testa__img { display: none; }
  .cf-testa__testo { padding: 10px 12px 12px; }
  .cf-testa__testo h2 { font-size: 19px; }
  .cf-testa__testo p { font-size: 14px; }
  .cf-breve { display: none; }
  .cf-slot:not(.cf-slot--testa):not(.cf-slot--fatti):not(.cf-slot--vai) { padding: 8px 6px 8px; border-radius: 14px; border-top-width: 5px; }
  .cf-cella__era { display: block; font-size: 11px; margin-bottom: 4px; padding: 0 4px; }
  .cf-ev .foto { display: none; }
  .cf-ev a { min-height: 48px; padding: 4px; gap: 0; }
  .cf-ev__testo b { font-size: 14.5px; line-height: 1.22; overflow-wrap: anywhere; }
  .cf-ev__testo span { font-size: 12.5px; }
  .cf-vuoto { font-size: 13.5px; padding: 6px 4px; }
  .cf-tema { font-size: 21px; margin-top: 10px; }
  .cf-riga--cambia { padding: 12px 10px; border-radius: 20px; }
  .cf-fatti li { padding: 10px; font-size: 14px; border-left-width: 6px; }
  .cf-slot--vai .btn { padding: 10px 8px; font-size: 15px; min-height: 56px; }
  .cf-altri summary { font-size: 14px; padding: 0 4px; }
}

/* ======== TAPPA D (04/11): scheda di ogni evento (1 pagina A4) e indice «Schede da stampare» ======== */
.foglio--ev { min-height: 0; }
.foglio--ev .foglio__testa h1 { font-size: 22pt; line-height: 1.12; }
.foglio--ev .foglio__testa > div { min-width: 0; flex: 1; }
.foglio--ev .foglio__testa .qr { width: 80px; height: 80px; }
.ev-foto { margin: 0 0 6px; height: 62mm; overflow: hidden; border-radius: 6px; background: #eee; }
.ev-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.foglio--ev h2 { font-size: 12.5pt; margin: 8px 0 3px; }
.ev-testo { margin: 0; font-size: 11pt; line-height: 1.4; }
.ev-perche, .ev-fonte { margin: 5px 0 0; font-size: 10.5pt; line-height: 1.38; }
.ev-fonte { font-size: 8.5pt; color: #555; }
.ev-striscia ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(25, 1fr); gap: 2px; }
.ev-striscia li { height: 16px; border-radius: 3px; background: color-mix(in srgb, var(--era) 22%, #fff); display: grid; place-items: center; font-size: 7pt; color: #333; }
.ev-striscia li.qui { background: var(--era); color: var(--era-t, #fff); font-weight: 800; outline: 2px solid #1B1D29; outline-offset: 1px; position: relative; z-index: 1; }
.ev-striscia p { margin: 4px 0 0; display: flex; justify-content: space-between; gap: 8px; font-size: 8.5pt; color: #444; }
.ev-attivita { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; min-height: 0; }
.ev-attivita li { display: block; } .ev-attivita p { margin: 0; font-size: 10.5pt; }
.ev-attivita .riga { display: block; height: 7.5mm; border-bottom: .4mm solid #777; }
.ev-attivita .ev-disegna { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 26mm; }
.ev-riquadro { flex: 1 1 auto; margin-top: 4px; border: .5mm solid #777; border-radius: 6px; min-height: 22mm; }
.foglio--ev .foglio__nome { margin: 2px 0 0; font-size: 10pt; }
.foglio--ev .foglio__piede { margin-top: 6px; padding-top: 4px; }
@media print {
  .foglio--ev { height: 294mm; overflow: hidden; break-after: auto; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; padding: 9mm 12mm 6mm; }
  .p-scheda-ev, .p-scheda-ev .fogli { margin: 0; padding: 0; }
}
@media screen and (max-width: 700px) {
  .foglio--ev .foglio__testa h1 { font-size: 20px; } .ev-foto { height: auto; aspect-ratio: 16 / 10; }
  .ev-striscia ol { gap: 1px; } .ev-striscia li { font-size: 9px; height: 20px; border-radius: 2px; } .ev-striscia p { font-size: 12px; flex-wrap: wrap; }
  .ev-testo { font-size: 15px; } .ev-perche { font-size: 15px; } .ev-fonte { font-size: 12px; } .ev-attivita p { font-size: 15px; } .foglio--ev h2 { font-size: 17px; }
  .foglio--ev .foglio__testa { flex-wrap: nowrap; } .ev-attivita .ev-disegna { min-height: 140px; }
}
.p-scheda-ev .foglio-azioni .btn, .schede-ind .btn { min-height: 44px; }
.schede-ind h2 { margin: 28px 0 12px; }
.sch-filtri { display: grid; gap: 12px; margin: 0 0 16px; }
.sch-filtri input[type="search"] { min-height: 50px; padding: 8px 14px; border-radius: 14px; border: 2px solid var(--sc-bordo); background: var(--sc-sfondo2); color: var(--sc-testo); font: inherit; font-weight: 600; width: 100%; max-width: 520px; box-sizing: border-box; }
.sch-temi { margin: 0; }
.sch-conta { margin: 0 0 12px; font-weight: 700; color: var(--sc-tenue); }
.sch-vuoto { padding: 16px; border: 2px dashed var(--sc-bordo); border-radius: 14px; font-weight: 700; }
.sch-salta ul { list-style: none; margin: 8px 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sch-salta a { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 12px; background: var(--era); color: var(--era-t, #fff); font-weight: 800; text-decoration: none; }
.sch-era { margin: 0 0 22px; scroll-margin-top: 90px; }
.sch-era[hidden], .sch-lista li[hidden] { display: none; }
.sch-era h3 { margin: 0 0 10px; padding: 6px 0 6px 12px; border-left: 8px solid var(--era); font-size: 1.2rem; }
.sch-era h3 small { display: block; font-weight: 600; font-size: .85rem; color: var(--sc-tenue); }
.sch-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.sch-card { display: block; min-height: 56px; padding: 8px 12px; border-radius: 12px; border: 2px solid var(--sc-bordo); border-left: 6px solid var(--era); background: var(--sc-sfondo2); color: var(--sc-testo); text-decoration: none; height: 100%; box-sizing: border-box; }
.sch-card b { display: block; line-height: 1.25; } .sch-card small { display: block; margin-top: 2px; color: var(--sc-tenue); font-size: .85rem; }
.sch-card:hover, .sch-card:focus-visible { border-color: var(--era); }
@media (max-width: 700px) { .sch-lista { grid-template-columns: 1fr; } }
.proietta { margin: 24px 0; } .proietta__lista { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.proietta__lista .btn { background: var(--era-b, var(--era)); color: var(--era-t, #fff); border-color: var(--era-b, var(--era)); }
.insegnanti .tre { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
@media screen and (max-width: 700px) { .ev-striscia li:not(.qui) span { display: none; } .ev-striscia li { height: 16px; } .ev-striscia li.qui { height: 24px; align-self: center; font-size: 11px; } .foglio--ev .foglio__nome { font-size: 13px; } }

/* ======== Il mio diario (4/11): cosa hai letto, da dove riprendere, ripasso, giorni di fila, punteggi ======== */
.con-letto { position: relative; }
.letto { position: absolute; top: 10px; right: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px 3px 7px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: #14693F; font-size: 13px; font-weight: 800; line-height: 1.3; box-shadow: 0 2px 8px rgba(30, 34, 51, .22); pointer-events: none; }
.letto .ico { width: 15px; height: 15px; stroke-width: 3; }
/* 4/11 sera: sulle card senza foto il bollino «Letto» sta in fila sotto al testo, mai sopra data o titolo; sulle card con foto resta nell'angolo della foto */
.lt-ev .letto, .mini-linea__card .letto, .voce-ev .letto { position: static; align-self: flex-start; margin-top: 4px; padding: 2px 9px 2px 6px; font-size: 13px; background: #E3F6EC; box-shadow: none; }
.voce-ev .letto { grid-column: 1 / -1; justify-self: start; }
.card-ev .letto { top: 8px; right: 8px; }
.chip-letto { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 14px; border-radius: 999px; background: #E3F6EC; color: #14693F; font-weight: 800; font-size: 15px; text-decoration: none; }
.chip-letto[hidden] { display: none; }
.chip-letto .ico { width: 18px; height: 18px; stroke-width: 3; }
.diario { padding: 26px 0 40px; }
.diario h1 { display: flex; align-items: center; gap: 12px; } .diario h1 .ico { width: 1em; height: 1em; flex: none; }
.diario h2 { font-size: 26px; margin: 0 0 8px; }
.dia__sez { margin: 30px 0 0; }
.dia__top { margin: 18px 0; padding: 22px; border-radius: 26px; background: var(--sc-sfondo2); box-shadow: 0 12px 30px rgba(30, 34, 51, .09); }
.dia__conta { margin: 0 0 14px; font: 400 clamp(30px, 6vw, 48px)/1.1 var(--sc-titoli); }
.dia__conta b { color: var(--sc-accento); }
.dia__barra { display: block; height: 14px; border-radius: 999px; background: var(--sc-campo); overflow: hidden; }
.dia__barra i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--era, var(--sc-accento)); transition: width .4s; }
.dia__barra--grande { height: 24px; } .dia__barra--grande i { background: var(--arcobaleno); }
.dia__continua-box { margin: 18px 0; } .dia__continua-box[hidden] { display: none; }
.dia__continua { display: flex; align-items: center; gap: 16px; min-height: 96px; padding: 12px 18px 12px 12px; border-radius: 26px; background: var(--era); color: var(--era-t, #fff); text-decoration: none; box-shadow: 0 6px 0 rgba(30, 34, 51, .22); }
.dia__continua:hover { transform: translateY(-2px); }
.dia__continua .dia__foto { width: 150px; box-shadow: 0 0 0 3px rgba(255, 255, 255, .85); }
.dia__ct { display: grid; gap: 2px; min-width: 0; flex: 1; }
.dia__ct small { font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; opacity: .92; }
.dia__ct b { font: 400 clamp(20px, 3.4vw, 28px)/1.15 var(--sc-titoli); }
.dia__ct span { font-size: 15px; font-weight: 700; opacity: .92; }
.dia__vai { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: #1E2233; } .dia__vai .ico { width: 26px; height: 26px; }
.dia__foto { flex: none; display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 8 / 5; background: var(--sc-campo); }
.dia__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dia__inizio { margin: 18px 0; padding: 20px; border-radius: 26px; background: var(--sc-campo); } .dia__inizio[hidden] { display: none; }
.dia__inizio-lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dia__inizio-lista a { display: grid; gap: 6px; height: 100%; padding: 10px 10px 14px; border-radius: 20px; border-top: 8px solid var(--era); background: var(--sc-sfondo2); color: var(--sc-testo); text-decoration: none; box-shadow: 0 6px 18px rgba(30, 34, 51, .08); align-content: start; }
.dia__inizio-lista b { font-size: 18px; line-height: 1.25; padding: 0 4px; } .dia__inizio-lista a > span:last-child { padding: 0 4px; font-size: 14px; font-weight: 700; color: var(--sc-tenue); }
.dia__ere, .dia__quiz { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.dia__ere a, .dia__quiz a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; grid-template-areas: "n nome c" "n barra c"; align-items: center; column-gap: 12px; row-gap: 6px; min-height: 64px; padding: 10px 14px; border-radius: 18px; background: var(--sc-sfondo2); border-left: 8px solid var(--era); color: var(--sc-testo); text-decoration: none; box-shadow: 0 6px 18px rgba(30, 34, 51, .07); }
.dia__en { grid-area: n; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--era); color: var(--era-t, #fff); font-weight: 800; font-size: 16px; }
.dia__nome { grid-area: nome; font-weight: 800; font-size: 17px; line-height: 1.2; }
.dia__ere .dia__barra { grid-area: barra; height: 12px; }
.dia__c, .dia__pt { grid-area: c; font-weight: 800; font-size: 16px; white-space: nowrap; color: var(--sc-tenue); }
.dia__quiz a { grid-template-areas: "n nome c"; min-height: 56px; } .dia__quiz .dia__pt b { font-size: 20px; color: var(--sc-testo); }
.dia__quiz a.da-fare { opacity: 1; } /* 4/11 sera: niente opacità sul testo (contrasto AA) */
.dia__ripassa .btn { margin-top: 6px; }
.dia__g { margin: 16px 0; padding: 16px; border-radius: 20px; background: var(--sc-sfondo2); border: 2px solid var(--sc-bordo); }
.dia__g-carte { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 12px 0; }
.dia__carta { position: relative; min-height: 96px; padding: 14px 14px 14px 52px; border-radius: 18px; border: 3px solid var(--era); background: #fff; color: #1E2233; font: inherit; text-align: left; cursor: pointer; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.dia__carta.scelta { background: var(--era); color: var(--era-t, #fff); }
.dia__carta.giusta { box-shadow: 0 0 0 4px #1FB866; } .dia__carta.sbagliata { box-shadow: 0 0 0 4px #D43F42; }
.dia__n { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; border: 2px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.dia__carta b { font-size: 18px; } .dia__esito { font-weight: 800; font-size: 18px; }
.dia__avviso { margin: 14px 0 0; padding: 14px 16px; border-radius: 16px; background: #FFF3CF; color: #4A3A00; font-weight: 700; font-size: 17px; }
.dia__fila { margin: 4px 0; font-size: 20px; } .dia__fila b { font: 400 44px/1 var(--sc-titoli); color: var(--sc-accento); }
.dia__nota { margin: 0 0 12px; color: var(--sc-tenue); font-weight: 700; }
.dia__privacy { margin-top: 36px; padding: 18px 20px; border-radius: 20px; background: var(--sc-campo); display: grid; gap: 12px; justify-items: start; }
.dia__privacy p { margin: 0; font-weight: 700; }
.dia__chiedi { padding: 14px 16px; border-radius: 16px; background: var(--sc-sfondo2); border: 2px solid #E5384A; } .dia__chiedi[hidden], .dia__fatto[hidden] { display: none; }
.dia__chiedi p { margin: 0 0 10px; } .dia__chiedi .bottoni { display: flex; flex-wrap: wrap; gap: 10px; }
.dia__fatto { margin: 0; padding: 12px 16px; border-radius: 14px; background: #E3F6EC; color: #14693F; font-weight: 800; }
@media (max-width: 700px) {
  .dia__ere, .dia__quiz { grid-template-columns: 1fr; }
  .dia__top { padding: 18px 16px; }
  .dia__continua { gap: 12px; padding: 10px 12px 10px 10px; } .dia__continua .dia__foto { width: 104px; } .dia__vai { width: 40px; height: 40px; }
  .dia__inizio-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .dia__inizio-lista b { font-size: 16px; }
}

/* TAPPA E (4/11): nel nastro delle ere il cartellino «Sei qui + anno» ripeteva il cruscotto in alto (stesso anno, due volte): resta solo il pallino */
html .nastro-qui__tu b, html .nastro-qui__tu span { display: none !important; }

/* ===== TAPPA H (8/11): telefono. Linea = linea del tempo verticale continua; Ere = 12 card con foto; ricerca per testo; il gruppo in basso non copre ===== */
.tl-tel, .ere-tel { display: none; }
mark { background: #FFE27A; color: #1E2233; border-radius: 3px; padding: 0 1px; }
.sc-risultato { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 10px 14px; }
.sc-risultato span { white-space: normal; }
.sc-risultato__alto { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; color: var(--sc-testo) !important; }
.sc-risultato__alto b { font-size: 17px; line-height: 1.25; }
.sc-risultato__data { flex: none; font-weight: 800; font-size: 14px !important; color: var(--sc-tenue); text-align: right; max-width: 45%; }
.sc-risultato__era { font-weight: 800; font-size: 13px !important; color: color-mix(in srgb, var(--era) 60%, #1E2233) !important; }
.sc-risultato__estratto { font-size: 14.5px !important; line-height: 1.4; color: var(--sc-tenue) !important; }
.sc-risultato--era { background: color-mix(in srgb, var(--era) 14%, transparent); }
.sc-cerca__conta { margin: 4px 14px 2px; font-weight: 800; font-size: 14px; color: var(--sc-tenue); }
.sc-sugg-riga { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 14px; color: var(--sc-tenue); font-weight: 700; }
.sc-sugg { min-height: 44px; padding: 6px 16px; border-radius: 999px; border: 2px solid var(--sc-bordo); background: #fff; color: var(--sc-testo); font: 800 15px var(--sc-font); cursor: pointer; }
.sc-sugg:hover, .sc-sugg:focus-visible { border-color: var(--sc-accento); }

.dock { transition: transform .25s, visibility 0s; }
@media (max-width: 700px) {
  .dock.dock--nascosto { transform: translate(-50%, calc(100% + 40px)); visibility: hidden; transition: transform .25s, visibility 0s .25s; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.in-volo { padding-bottom: 0; }

  /* LINEA: spina centrale, data grande, fascia «Sei qui» che resta in alto */
  html[data-modo="linea"] .tl-tel { display: block; padding: 24px 16px 40px; background: var(--sc-sfondo); }
  html[data-modo="vola"] .tl-tel { display: none; }
  .tl-tel h2 { font-size: 30px; margin: 0 0 6px; }
  .tl-tel__hint { margin: 0 0 14px; font-weight: 700; color: var(--sc-tenue); }
  .tl-dove { position: sticky; top: 64px; z-index: 30; margin: 0 -16px 20px; padding: 8px 16px 10px; background: color-mix(in srgb, var(--sc-sfondo) 96%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 3px solid var(--era); box-shadow: 0 8px 18px rgba(30, 34, 51, .1); }
  .tl-dove__riga { display: flex; align-items: center; gap: 10px; min-height: 52px; }
  .tl-dove__n { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--era); color: var(--era-t, #fff); font-weight: 800; font-size: 20px; box-shadow: 0 0 0 3px var(--sc-sfondo), 0 0 0 5px var(--era); }
  .tl-dove__testo { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .tl-dove__testo b { font-size: 16px; line-height: 1.15; }
  .tl-dove__testo small { font-size: 13px; font-weight: 800; line-height: 1.25; color: var(--sc-tenue); }
  .tl-salta { flex: none; max-width: 104px; min-height: 44px; display: inline-flex; align-items: center; gap: 2px; padding: 4px 8px 4px 10px; text-align: left; line-height: 1.1; border-radius: 999px; border: 2px solid var(--sc-bordo); background: #fff; color: var(--sc-testo); font: 800 13px var(--sc-font); cursor: pointer; }
  .tl-salta .ico { width: 18px; height: 18px; flex: none; }
  .tl-barra { position: relative; display: flex; height: 8px; margin: 6px 0 2px; border-radius: 99px; }
  .tl-barra i { flex: 1; background: var(--c); } .tl-barra i:first-child { border-radius: 99px 0 0 99px; } .tl-barra i:nth-last-child(2) { border-radius: 0 99px 99px 0; }
  .tl-barra__tu { position: absolute; top: 50%; left: 0; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px #1E2233, 0 3px 8px rgba(0, 0, 0, .3); transition: left .15s linear; }
  .tl-salti { position: absolute; left: 8px; right: 8px; top: 100%; margin-top: 8px; padding: 10px; border-radius: 20px; background: #fff; border: 2px solid var(--sc-bordo); box-shadow: 0 16px 40px rgba(30, 34, 51, .28); max-height: calc(100dvh - 64px - 130px); overflow: auto; }
  .tl-salti ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .tl-salti a { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 8px; border-radius: 14px; border: 2px solid transparent; color: var(--sc-testo); text-decoration: none; font-weight: 800; font-size: 14px; line-height: 1.15; }
  .tl-salti li.qui a { border-color: var(--era); background: color-mix(in srgb, var(--era) 16%, #fff); }
  .tl-salti__n { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--era); color: var(--era-t, #fff); font-size: 15px; }
  .tl-ere { list-style: none; margin: 0; padding: 0; }
  .tl-era { position: relative; padding-bottom: 14px; }
  .tl-era::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 6px; margin-left: -3px; border-radius: 3px; background: var(--era); }
  .tl-fascia { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; margin: 0 0 6px; padding: 12px 16px; border-radius: 24px; background: var(--era); color: var(--era-t, #fff); }
  .tl-fascia__n { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 3px solid currentColor; font-weight: 800; font-size: 20px; }
  .tl-fascia__testo { display: flex; flex-direction: column; }
  .tl-fascia b { font: 400 22px/1.15 var(--sc-titoli); } .tl-fascia small { font-size: 14px; font-weight: 800; }
  .tl-tutta { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 6px; width: max-content; margin: 0 auto 12px; min-height: 44px; padding: 6px 18px; border-radius: 999px; background: #fff; border: 2px solid var(--era); color: var(--sc-testo); font-weight: 800; text-decoration: none; }
  .tl-tutta .ico { width: 18px; height: 18px; }
  .tl-ev { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
  .tl-e { margin: 0 0 22px; }
  .tl-data { position: relative; display: block; width: max-content; max-width: 90%; margin: 0 auto 8px; padding: 7px 16px; border-radius: 999px; background: #fff; border: 3px solid var(--era); color: #1E2233; font: 800 18px/1.25 var(--sc-font); text-align: center; box-shadow: 0 0 0 5px var(--sc-sfondo); }
  .tl-card { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; width: 88%; min-height: 92px; padding: 8px; border-radius: 20px; background: #fff; border: 2px solid var(--sc-bordo); border-left: 8px solid var(--era); color: #1E2233; text-decoration: none; box-shadow: 0 8px 20px rgba(30, 34, 51, .08); }
  .tl-e:nth-child(odd) .tl-card { margin-right: auto; } .tl-e:nth-child(even) .tl-card { margin-left: auto; }
  .tl-card .foto { flex: none; width: 76px; aspect-ratio: 1; border-radius: 12px; }
  .tl-card__testo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .tl-card__testo b { font-size: 17px; line-height: 1.25; } .tl-card__testo small { font-size: 13px; font-weight: 700; color: var(--sc-tenue); }
  .tl-card.qui { box-shadow: 0 0 0 4px var(--era); }
  .tl-card .letto { position: static; order: 3; width: max-content; margin: -2px 0 2px 88px; }

  /* ERE: 12 card con foto, nome, periodo e numero di eventi */
  .ere-tel { display: block; padding: 4px 0 28px; }
  .ere-tel__hint { margin: 8px 0 12px; font-weight: 700; color: var(--sc-tenue); }
  .ere-tel__griglia { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .ere-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: 236px; border-radius: 24px; overflow: hidden; border: 3px solid var(--era); background: var(--era); color: #fff; text-decoration: none; }
  .ere-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .ere-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 8, 40, .9) 0%, rgba(10, 8, 40, .45) 42%, rgba(10, 8, 40, 0) 70%); }
  .ere-card__n { position: absolute; top: 10px; left: 10px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--era); color: var(--era-t, #fff); font-weight: 800; font-size: 19px; box-shadow: 0 0 0 3px rgba(255, 255, 255, .9); }
  .ere-card__conta { position: absolute; top: 12px; right: 10px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: #fff; color: #1E2233; font-weight: 800; font-size: 13px; }
  .ere-card__testo { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 2px; padding: 0 12px 12px; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
  .ere-card b { font: 400 20px/1.15 var(--sc-titoli); } .ere-card small { font-size: 13px; font-weight: 700; line-height: 1.3; }
  .elenco-ere--pc { display: none; }
}
