/*
Theme Name: Palio dei Mezzadri
Author: NEST Collective
Description: Tema su misura per il Palio dei Mezzadri di Ponzano Veneto.
Version: 1.0.0
Text Domain: palio-mezzadri
*/

/* Layout: testata azzurra "stendardo" con lo striscione, poi carta di paglia; corde intrecciate come divisori, contrade come scudi in fila */
:root{
  --stendardo:#2f72c4; --stendardo-scuro:#1b4f96;
  --paglia:#f4ead0; --carta:#fffaf0; --inchiostro:#231d16; --inchiostro-2:#5b4f40;
  --grano:#c8962a; --corda:#b98a55; --corda-scura:#8a6234; --linea:#ddcfae;
  --f-display:"Patrick Hand SC","Comic Neue","Segoe Print",cursive;
  --f-testo:"Alegreya",Georgia,"Times New Roman",serif;
  --f-etichetta:"Alegreya Sans SC","Gill Sans",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paglia);color:var(--inchiostro);font-family:var(--f-testo);font-size:18px;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--stendardo-scuro)}
a{color:var(--stendardo-scuro)}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.onde{background:
  repeating-linear-gradient(172deg,transparent 0 9px,rgba(255,255,255,.10) 9px 11px,transparent 11px 19px),
  repeating-linear-gradient(176deg,transparent 0 14px,rgba(10,40,90,.18) 14px 16px,transparent 16px 27px),
  linear-gradient(180deg,var(--stendardo) 0%,var(--stendardo-scuro) 100%);color:#fff}
.corda{height:14px;border-radius:7px;background:repeating-linear-gradient(-55deg,var(--corda) 0 7px,var(--corda-scura) 7px 9px,#d7b183 9px 14px,var(--corda-scura) 14px 16px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}

/* Menu */
.menu{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--stendardo-scuro);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.menu .wrap{display:flex;align-items:center;gap:18px;min-height:58px}
.menu .marchio{font-family:var(--f-display);font-size:24px;color:#fff;text-decoration:none;white-space:nowrap}
.menu nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto;min-width:0}
.menu nav::-webkit-scrollbar{display:none}
.menu nav a{font-family:var(--f-etichetta);font-size:15px;letter-spacing:.06em;color:#fff;text-decoration:none;padding:8px 10px;border-radius:4px;white-space:nowrap}
.menu nav a.attiva{background:rgba(255,255,255,.18)}
.menu nav a:hover,.menu nav a:focus-visible{background:rgba(255,255,255,.14);outline:none}

/* Hero */
.hero{padding-block:34px 0;text-align:center;position:relative;overflow:hidden}
.hero .sopra{font-family:var(--f-etichetta);letter-spacing:.16em;font-size:15px;opacity:.92}
.hero .striscione{display:block;width:min(760px,100%);height:auto;margin:18px auto 18px;filter:drop-shadow(0 8px 12px rgba(10,30,70,.35))}
.hero .sotto{font-family:var(--f-display);font-size:clamp(22px,3.2vw,30px);margin:0 0 6px}
.hero .prossimo{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;align-items:center;background:#fff;color:var(--inchiostro);border-radius:999px;padding:8px 18px;margin:10px 0 30px;font-family:var(--f-etichetta);letter-spacing:.06em;font-size:15px}
.hero .prossimo b{color:var(--stendardo-scuro)}
.foto-hero{display:block;width:100%;height:auto;aspect-ratio:21/8;object-fit:cover;object-position:50% 62%;max-width:100%}
.fila-scudi{display:flex;justify-content:center;gap:clamp(4px,1.4vw,16px);flex-wrap:wrap;margin:-46px auto 0;position:relative;z-index:2;padding-inline:8px}
.fila-scudi a{display:block;transition:transform .2s}
.fila-scudi a:hover,.fila-scudi a:focus-visible{transform:translateY(-6px)}
.fila-scudi img{height:clamp(54px,9vw,92px);width:auto;display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}

section{padding-block:64px 8px}
h2{font-family:var(--f-display);font-weight:400;font-size:clamp(32px,5vw,46px);line-height:1.05;margin:0 0 8px;text-wrap:balance;color:var(--stendardo-scuro)}
.occhiello{font-family:var(--f-etichetta);letter-spacing:.12em;font-size:14px;color:var(--grano);font-weight:700}
.intro{max-width:64ch;color:var(--inchiostro-2);margin:0 0 26px}
.bottone{display:inline-block;font-family:var(--f-etichetta);letter-spacing:.08em;font-size:15px;background:var(--stendardo-scuro);color:#fff;text-decoration:none;padding:10px 20px;border-radius:4px}
.bottone:hover,.bottone:focus-visible{background:var(--stendardo);outline:3px solid var(--grano);outline-offset:2px}

/* Cos'è */
.cose{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.cose p{margin:0 0 14px;max-width:62ch}
.numeri{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 0}
.numeri div{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:12px 10px;text-align:center}
.numeri b{display:block;font-weight:800;font-size:34px;line-height:1;color:var(--stendardo-scuro);font-variant-numeric:tabular-nums}
.numeri span{font-family:var(--f-etichetta);font-size:13px;letter-spacing:.06em;color:var(--inchiostro-2)}
.cornice{position:relative;padding:12px;background:var(--carta);border:1px solid var(--linea);transform:rotate(1.2deg);box-shadow:0 10px 24px rgba(60,40,10,.15)}
.cornice img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.cornice figcaption{font-family:var(--f-display);font-size:19px;text-align:center;padding-top:8px;color:var(--inchiostro-2)}

/* Contrade */
.contrade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.contrada{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:18px 14px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.contrada:hover,.contrada:focus-visible{transform:translateY(-3px);box-shadow:0 8px 18px rgba(60,40,10,.12);outline:none}
.contrada img{height:96px;width:auto}
.contrada h3{font-family:var(--f-display);font-weight:400;font-size:25px;line-height:1.05;margin:4px 0 0}
.contrada .simbolo{font-size:15px;color:var(--inchiostro-2)}
.colori{display:flex;gap:6px;align-items:center;font-family:var(--f-etichetta);font-size:12px;letter-spacing:.06em;color:var(--inchiostro-2)}
.colori i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.55);display:inline-block}

/* Giochi */
.giochi{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;counter-reset:g}
.gioco{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:18px 18px 16px;position:relative}
.gioco .n{position:absolute;top:14px;right:16px;font-weight:800;font-size:38px;line-height:1;color:#e7d9b5;font-variant-numeric:tabular-nums}
.gioco h3{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.05;margin:0 40px 4px 0}
.quando{display:inline-block;font-family:var(--f-etichetta);font-size:12px;letter-spacing:.08em;padding:2px 8px;border-radius:3px;background:#e9dcb8;color:var(--inchiostro)}
.quando.sab{background:var(--stendardo-scuro);color:#fff}
.gioco p{margin:10px 0 0;font-size:16px;line-height:1.45;color:var(--inchiostro-2)}
.jolly{margin-top:16px;display:flex;gap:16px;align-items:center;background:var(--inchiostro);color:var(--paglia);border-radius:6px;padding:16px 20px}
.jolly b{font-family:var(--f-display);font-weight:400;font-size:30px;color:#f6d94a;line-height:1}
.jolly p{margin:0;font-size:16px}

/* Albo + mappa */
.due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
.classifica{display:grid;gap:8px;margin-bottom:20px}
.classifica .r{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:8px 14px}
.classifica img{height:44px;width:auto}
.classifica .nome{font-family:var(--f-display);font-size:22px;line-height:1}
.classifica .barra{height:8px;border-radius:4px;margin-top:5px}
.classifica .v{font-weight:800;font-size:26px;color:var(--stendardo-scuro);font-variant-numeric:tabular-nums}
.mappa{display:block;border:1px solid var(--linea);border-radius:6px;overflow:hidden;background:var(--carta)}
.mappa img{display:block;width:100%;height:auto}
.mappa span{display:block;padding:10px 14px;font-size:15px;color:var(--inchiostro-2)}

/* Podcast */
.podcast{margin-top:64px;padding-block:52px 56px}
.podcast h2{color:#fff}
.podcast .occhiello{color:#f6d94a}
.podcast .intro{color:#e6eefb}
.pod-testa{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.pod-testa img{width:min(280px,70%);height:auto;filter:invert(1)}
.puntate{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:16px;overflow-x:auto;padding:6px 2px 14px;scroll-snap-type:x mandatory}
.puntata{scroll-snap-align:start;background:#fff;color:var(--inchiostro);border-radius:6px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.puntata img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.puntata div{padding:10px 14px 12px}
.puntata b{font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.05;display:block}
.puntata span{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.08em;color:var(--inchiostro-2)}

/* Foto */
.galleria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.galleria img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}
.galleria .grande{grid-column:span 2;grid-row:span 2}

/* Footer */
footer{margin-top:72px;background:var(--inchiostro);color:#e9dfc7;padding-block:44px 40px;font-size:15px}
footer .cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:30px}
footer h4{font-family:var(--f-etichetta);letter-spacing:.1em;font-size:13px;color:#f6d94a;margin:0 0 10px}
footer p{margin:0 0 6px}
footer a{color:#fff}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.patrocinio{display:flex;gap:12px;align-items:center;margin-top:14px}
.patrocinio img{height:58px;width:auto;background:#fff;border-radius:4px;padding:4px}
.credito{margin-top:28px;padding-top:16px;border-top:1px solid #4a4034;font-size:13px;color:#b9ad92;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}

@media (max-width:900px){
  .cose,.due{grid-template-columns:minmax(0,1fr)}
  .contrade{grid-template-columns:repeat(2,minmax(0,1fr))}
  footer .cols{grid-template-columns:minmax(0,1fr)}
  .cornice{max-width:440px;margin:0 auto}
}
@media (max-width:560px){
  .menu .marchio{font-size:20px}
  .numeri{grid-template-columns:repeat(2,minmax(0,1fr))}
  .galleria{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foto-hero{aspect-ratio:4/3}
  .contrada img{height:80px}
  .fila-scudi{flex-wrap:nowrap;gap:3px;margin-top:-30px}
  .fila-scudi img{height:44px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Albo d'Oro */


/* Testata: drappo azzurro con le onde dello stendardo */
.testata-albo{background:
  repeating-linear-gradient(172deg,transparent 0 9px,rgba(255,255,255,.10) 9px 11px,transparent 11px 19px),
  repeating-linear-gradient(176deg,transparent 0 14px,rgba(10,40,90,.18) 14px 16px,transparent 16px 27px),
  linear-gradient(180deg,var(--stendardo) 0%,var(--stendardo-scuro) 100%);
  color:#fff;text-align:center;padding-block:44px 64px;position:relative}
.testata-albo .sopra{font-family:var(--f-etichetta);letter-spacing:.14em;font-size:15px;opacity:.9}
.stelle{display:flex;justify-content:center;gap:14px;margin:10px 0 4px}
.stelle svg{width:22px;height:22px}
.cartiglio{display:block;width:min(720px,100%);margin:6px auto 0;height:auto;filter:drop-shadow(0 6px 10px rgba(10,30,70,.35))}
.cartiglio text{font-family:var(--f-display)}
.testata-albo p{max-width:640px;margin:8px auto 0;font-size:17px;opacity:.95}

.testata-albo + .corda-wrap{margin-top:-7px}


/* Medagliere */
.medagliere{display:grid;gap:10px}
.riga{display:grid;grid-template-columns:58px minmax(0,190px) 52px minmax(0,1fr);align-items:center;gap:16px;
  background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:10px 16px}
.riga img{height:66px;width:auto;display:block;margin:auto}
.riga .nome{font-family:var(--f-display);font-size:24px;line-height:1.1}
.riga .num{font-family:var(--f-testo);font-weight:800;font-size:34px;text-align:right;font-variant-numeric:tabular-nums;color:var(--stendardo-scuro)}
.riga.zero .num{color:#b8a888}
.pips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.pip{display:flex;flex-direction:column;align-items:center;gap:2px}
.pip i{display:block;width:22px;height:26px;clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%);border:0}
.pip small{font-family:var(--f-etichetta);font-size:11px;color:var(--inchiostro-2);font-variant-numeric:tabular-nums}
.vuoto{font-style:italic;color:#9c8c6c;font-size:16px}

/* Drappi */
.drappi{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:26px 20px}
.drappo{position:relative;padding-top:16px}
.drappo .asta{position:absolute;top:0;left:-6px;right:-6px;height:10px;border-radius:5px;background:linear-gradient(#a2733d,#6e4b22)}
.drappo .telo{background:var(--telo,#efe3c2);color:var(--telo-testo,var(--inchiostro));
  clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);padding:18px 18px 46px;min-height:100%;
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.06)}
.drappo h3{font-family:var(--f-display);font-weight:400;font-size:27px;line-height:1.05;margin:0 0 2px}
.drappo .anni{font-family:var(--f-etichetta);letter-spacing:.08em;font-size:14px;opacity:.85}
.drappo dl{margin:12px 0 0;display:grid;gap:6px;font-size:15px;line-height:1.35}
.drappo dt{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.1em;opacity:.75}
.drappo dd{margin:0}
.vinto{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dashed currentColor}
.vinto img{height:44px}
.vinto b{font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1}
.vinto span{display:block;font-family:var(--f-etichetta);font-size:12px;letter-spacing:.08em;opacity:.8}
.in-corso{display:inline-block;margin-top:14px;font-family:var(--f-etichetta);font-size:13px;letter-spacing:.08em;background:var(--grano);color:#fff;padding:3px 10px;border-radius:3px}
.conta{margin:8px 0 0;padding:0;list-style:none;font-size:15px}

/* Filtro + cronologia */
.filtro{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.filtro button{font-family:var(--f-etichetta);font-size:14px;letter-spacing:.06em;border:1.5px solid var(--corda-scura);background:var(--carta);color:var(--inchiostro);border-radius:999px;padding:6px 14px;cursor:pointer}
.filtro button[aria-pressed="true"]{background:var(--stendardo-scuro);border-color:var(--stendardo-scuro);color:#fff}
.filtro button:focus-visible{outline:3px solid var(--grano);outline-offset:2px}
.anni-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.anno{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:12px 12px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:opacity .2s}
.anno .a{font-family:var(--f-testo);font-weight:800;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.anno .ed{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.08em;color:var(--inchiostro-2)}
.anno .scudi{display:flex;justify-content:center;gap:4px;height:62px;align-items:center}
.anno .scudi img{height:60px}
.anno .scudi.multi img{height:40px}
.anno .chi{font-family:var(--f-display);font-size:19px;line-height:1.1}
.anno .drappo-di{font-size:13px;font-style:italic;color:var(--inchiostro-2);line-height:1.2}
.anno.fermo{background:transparent;border-style:dashed}
.anno.fermo .chi{color:#9c8c6c}
.anno.attesa{background:transparent;border:1.5px dashed var(--grano)}
.anno.attesa .chi{color:var(--grano)}
.anno.spento{opacity:.18}
.segnaposto{width:44px;height:52px;clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%);background:repeating-linear-gradient(45deg,#e5d7b4 0 4px,transparent 4px 8px)}

.bambini{background:var(--carta);border:1px solid var(--linea);border-radius:8px;padding:26px 22px;margin-top:8px}
.bambini .anni-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}
.bambini .anno{background:var(--paglia)}
.nota{font-size:15px;color:var(--inchiostro-2);max-width:70ch}
.nota-albo{padding-block:40px 0;font-size:14px;color:var(--inchiostro-2)}
@media (max-width:560px){
  .riga{grid-template-columns:46px minmax(0,1fr) 40px;row-gap:8px}
  .riga img{height:52px}
  .riga .pips{grid-column:1/-1}
  .riga .nome{font-size:21px}
}

/* Pagine interne */
.testata-pagina{padding-block:40px 46px;text-align:center}
.testata-pagina .sopra{font-family:var(--f-etichetta);letter-spacing:.16em;font-size:14px;opacity:.9}
.testata-pagina h1{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,7vw,68px);line-height:1;margin:6px 0 0;text-wrap:balance;text-shadow:0 3px 0 rgba(10,30,70,.35)}
.testata-pagina .striscione-pagina{display:block;width:min(720px,100%);height:auto;margin:10px auto 0;filter:drop-shadow(0 6px 10px rgba(10,30,70,.35))}
.prosa{max-width:820px;margin:0 auto;padding-block:44px 10px}
.prosa.larga{max-width:1120px}
.prosa h2{margin-top:44px;scroll-margin-top:80px}
.prosa h2 span{display:block;font-family:var(--f-etichetta);font-size:15px;letter-spacing:.12em;color:var(--grano)}
.prosa h3{font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--stendardo-scuro);margin:32px 0 6px;scroll-margin-top:80px}
.prosa p,.prosa li{max-width:68ch}
.prosa .lead{font-size:21px;color:var(--inchiostro-2)}
.prosa .lead .bottone{margin-left:8px;vertical-align:middle}
.prosa .penalita{background:var(--carta);border-left:4px solid #b3261e;padding:10px 14px;border-radius:0 4px 4px 0;font-size:16px}
.prosa .buon-palio{font-family:var(--f-display);font-size:30px;color:var(--stendardo-scuro);margin-top:28px}
.indice{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;padding:16px;background:var(--carta);border:1px solid var(--linea);border-radius:6px}
.indice a{font-family:var(--f-etichetta);font-size:14px;letter-spacing:.04em;text-decoration:none;border:1.5px solid var(--corda-scura);border-radius:999px;padding:4px 12px;color:var(--inchiostro)}
.indice a:hover{background:var(--stendardo-scuro);border-color:var(--stendardo-scuro);color:#fff}
.tabella{overflow-x:auto;margin:14px 0}
.tabella table{border-collapse:collapse;min-width:520px;background:var(--carta);font-variant-numeric:tabular-nums}
.tabella th,.tabella td{border:1px solid var(--linea);padding:8px 12px;text-align:center}
.tabella thead th{font-family:var(--f-etichetta);letter-spacing:.06em;font-size:14px;background:var(--stendardo-scuro);color:#fff}
.tabella tbody th{text-align:left;font-family:var(--f-etichetta);font-size:14px}
.confine{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:start;background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:18px;margin:14px 0;scroll-margin-top:80px}
.confine img{width:120px;height:auto}
.confine h3{margin:0 0 4px}
.confine .meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;font-family:var(--f-etichetta);font-size:14px;letter-spacing:.05em;color:var(--inchiostro-2)}
.confine p{margin:0;font-size:16px}
.figura{margin:24px 0}
.figura img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--linea)}
.figura figcaption{font-size:15px;color:var(--inchiostro-2);margin-top:6px}
.griglia-foto{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.griglia-foto a{display:block}
.griglia-foto img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px}
.video{position:relative;aspect-ratio:16/9;margin:20px 0}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:6px}
.griglia-puntate{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.griglia-puntate .puntata{border:1px solid var(--linea)}
.scheda-contatti{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.scheda-contatti div{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:16px 18px}
.scheda-contatti h3{margin-top:0}
.avviso{background:#fff3cd;border:1px solid #e6c463;border-radius:6px;padding:14px 18px}
@media (max-width:560px){.confine{grid-template-columns:minmax(0,1fr)}.confine img{width:90px}}

/* Pagina contrada */
.contrada-testata{background:var(--sfondo);color:#fff;position:relative;overflow:hidden}
.contrada-testata::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(172deg,transparent 0 9px,rgba(255,255,255,.08) 9px 11px,transparent 11px 19px);pointer-events:none}
.contrada-testata.scuro{color:var(--inchiostro)}
.contrada-testata .wrap{display:flex;gap:28px 40px;align-items:center;padding-block:40px 44px;position:relative;z-index:1}
.scudo-grande{width:clamp(130px,20vw,210px);height:auto;flex:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}
.contrada-titolo{min-width:0}
.contrada-titolo .sopra{font-family:var(--f-etichetta);letter-spacing:.16em;font-size:14px;font-weight:700}
.contrada-titolo h1{font-family:var(--f-display);font-weight:400;font-size:clamp(46px,8vw,86px);line-height:.95;margin:4px 0 12px;text-shadow:0 3px 0 rgba(0,0,0,.18)}
.contrada-titolo .dati{display:flex;flex-wrap:wrap;gap:8px}
.contrada-titolo .dati span{background:rgba(255,255,255,.88);color:var(--inchiostro);border-radius:999px;padding:5px 14px;font-size:15px}
.contrada-titolo .dati b{font-family:var(--f-etichetta);letter-spacing:.06em;font-size:13px;margin-right:4px;color:var(--inchiostro-2)}
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.social a{display:inline-flex;align-items:center;gap:6px;background:var(--inchiostro);color:#fff;text-decoration:none;border-radius:4px;padding:7px 12px;font-family:var(--f-etichetta);letter-spacing:.04em;font-size:14px}
.social svg{width:18px;height:18px}
.contrada-corpo section{padding-block:48px 0}
.prosa-libera{max-width:68ch}
.palmares{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.palmares .voce{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:16px}
.palmares b{display:block;font-weight:800;font-size:44px;line-height:1;color:var(--stendardo-scuro);font-variant-numeric:tabular-nums}
.palmares span{font-family:var(--f-etichetta);font-size:13px;letter-spacing:.08em;color:var(--inchiostro-2)}
.palmares p{margin:8px 0 0;font-size:15px;font-variant-numeric:tabular-nums}
.confini-testo{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:16px;font-size:16px;margin-top:0}
.altre-contrade{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:56px 0 0;padding-top:28px;border-top:1px dashed var(--linea)}
.altre-contrade a{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--inchiostro);font-family:var(--f-display);font-size:16px;text-align:center;line-height:1.05;padding:8px 2px;border-radius:6px;transition:transform .2s}
.altre-contrade a:hover{transform:translateY(-3px)}
.altre-contrade a[aria-current]{background:var(--carta);box-shadow:inset 0 0 0 1.5px var(--corda)}
.altre-contrade img{height:62px;width:auto}
/* Video a richiesta */
.yt{margin:16px 0}
.yt-play{position:relative;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer;border-radius:6px;overflow:hidden}
.yt-play img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;opacity:.92;transition:opacity .2s}
.yt-play:hover img{opacity:1}
.yt-icona{position:absolute;left:50%;top:50%;width:78px;height:54px;margin:-27px 0 0 -39px;background:#e2001a;border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.yt-icona::after{content:"";position:absolute;left:31px;top:15px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.yt-play:focus-visible{outline:3px solid var(--grano);outline-offset:3px}
.yt-frame{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden}
.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-nota{font-size:13px;color:var(--inchiostro-2);margin:6px 0 0}
/* Elenco contrade */
.contrade-elenco{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.contrade-elenco .contrada .fraz{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.1em;color:var(--grano)}
@media (max-width:900px){.contrade-elenco{grid-template-columns:repeat(2,minmax(0,1fr))}.altre-contrade{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.contrada-testata .wrap{flex-direction:column;text-align:center}.contrada-titolo .dati,.social{justify-content:center}.palmares{grid-template-columns:minmax(0,1fr)}}

/* Mappa interattiva */
.mappa-int{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start}
.mappa-tela{position:relative;border:1px solid var(--linea);border-radius:8px;overflow:hidden;background:var(--carta)}
.mappa-tela svg{display:block;width:100%;height:auto}
.zona path{fill:var(--c1);fill-opacity:.42;stroke:#1b1b1b;stroke-width:7;stroke-linejoin:round;transition:fill-opacity .2s}
.mappa-int.focus .zona path{fill-opacity:.15}
.mappa-int.focus .zona.on path{fill-opacity:.7;stroke-width:12}
.zona:focus{outline:none}
.scudetto{pointer-events:none;transition:opacity .2s,transform .2s;transform-box:fill-box;transform-origin:center}
.mappa-int.focus .scudetto{opacity:.4}
.mappa-int.focus .scudetto.on{opacity:1;transform:scale(1.25)}
.mappa-etichetta{position:absolute;transform:translate(-50%,-100%);background:var(--inchiostro);color:#fff;border-radius:6px;padding:8px 12px;pointer-events:none;text-align:center;white-space:nowrap;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.mappa-etichetta b{display:block;font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1}
.mappa-etichetta span{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.06em}
.mappa-legenda{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mappa-legenda a{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:10px;align-items:center;text-decoration:none;color:var(--inchiostro);background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:8px 10px;font-family:var(--f-display);font-size:20px;line-height:1}
.mappa-legenda a.on,.mappa-legenda a:hover{border-color:var(--inchiostro)}
.mappa-legenda i{grid-row:span 2;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.55)}
.mappa-legenda small{font-family:var(--f-etichetta);font-size:12px;letter-spacing:.06em;color:var(--inchiostro-2)}
@media (max-width:900px){.mappa-int{grid-template-columns:minmax(0,1fr)}.mappa-legenda{grid-template-columns:repeat(2,minmax(0,1fr))}}
.due .mappa-int{grid-template-columns:minmax(0,1fr)}
.due .mappa-legenda{display:none}
.puntate-elenco{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px 18px;margin-top:20px}
.puntata-scheda{background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:14px 16px;scroll-margin-top:80px}
.puntata-scheda h3{margin:2px 0 8px}
.puntata-scheda p{font-size:15px;margin:8px 0 0}
.puntata-scheda .yt{margin:0}

/* Bacheca */
.bacheca{padding-block:56px 0}
.bacheca-testa{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between;margin-bottom:18px}
.avvisi{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.avviso-card a{display:flex;flex-direction:column;height:100%;background:var(--carta);border:1px solid var(--linea);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--inchiostro);transition:transform .2s,box-shadow .2s}
.avviso-card a:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(60,40,10,.12)}
.avviso-card img,.avviso-card .senza-foto{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.avviso-card .senza-foto{background:repeating-linear-gradient(172deg,transparent 0 9px,rgba(255,255,255,.12) 9px 11px,transparent 11px 19px),linear-gradient(180deg,var(--stendardo),var(--stendardo-scuro))}
.avviso-card .testo{padding:14px 16px 16px}
.avviso-card time{font-family:var(--f-etichetta);font-size:13px;letter-spacing:.08em;color:var(--grano)}
.avviso-card h3{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.05;margin:4px 0 6px;color:var(--stendardo-scuro)}
.avviso-card p{margin:0;font-size:16px;color:var(--inchiostro-2)}
.paginazione{margin-top:24px;font-family:var(--f-etichetta)}

/* Sponsor: striscia sopra il footer */
.striscia-sponsor{margin-top:72px;background:var(--carta);border-top:1px solid var(--linea);padding-block:14px 16px}
.striscia-sponsor + footer{margin-top:0}
.striscia-testa{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:var(--f-etichetta);font-size:13px;letter-spacing:.08em;color:var(--inchiostro-2);margin-bottom:10px}
.striscia-testa a{color:var(--stendardo-scuro)}
.nastro{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.nastro ul{display:flex;gap:28px;list-style:none;margin:0;padding:0 14px;flex:none;animation:scorri 140s linear infinite}
.nastro:hover ul{animation-play-state:paused}
.nastro li{flex:none}
.nastro img{display:block;height:54px;width:auto;border-radius:3px;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s;mix-blend-mode:multiply}
.nastro img:hover{filter:none;opacity:1}
@keyframes scorri{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.nastro{overflow-x:auto}.nastro ul{animation:none}.nastro ul[aria-hidden]{display:none}}
/* Pagina sponsor */
.griglia-sponsor{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:24px 0}
.griglia-sponsor figure{margin:0;background:#fff;border:1px solid var(--linea);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px}
.griglia-sponsor img{display:block;width:100%;height:150px;object-fit:contain;mix-blend-mode:multiply}
.griglia-sponsor figcaption{font-family:var(--f-etichetta);font-size:13px;letter-spacing:.04em;color:var(--inchiostro-2);text-align:center}
.patrocini{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.patrocini li{display:flex;gap:10px;align-items:center;background:var(--carta);border:1px solid var(--linea);border-radius:6px;padding:12px 14px;font-size:16px}
.patrocini img{height:52px;width:auto}
.patrocini small{display:block;font-size:13px;color:var(--inchiostro-2)}
.prosa-libera h3{font-family:var(--f-display);font-weight:400;font-size:26px;color:var(--stendardo-scuro);margin:24px 0 4px}
.prosa-libera p{margin:0 0 14px}
.prosa-libera .fonte{font-size:14px;color:var(--inchiostro-2);font-style:italic}

/* Patrocini sopra il footer */
.striscia-sponsor{margin-top:72px}
.patrocini-band{margin-top:72px;background:var(--paglia);border-top:1px solid var(--linea);padding-block:22px 24px}
.striscia-sponsor + .patrocini-band{margin-top:0}
.patrocini-band .titolo{display:block;font-family:var(--f-etichetta);font-size:13px;letter-spacing:.1em;color:var(--inchiostro-2);margin-bottom:12px;text-align:center}
.patrocini-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start}
.patrocini-band li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;line-height:1.25;color:var(--inchiostro)}
.patrocini-band img{height:72px;width:auto;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.patrocini-band small{display:block;color:var(--inchiostro-2)}
.patrocini-band + footer{margin-top:0}
@media (max-width:700px){.patrocini-band ul{grid-template-columns:repeat(2,minmax(0,1fr))}.patrocini-band li:first-child{grid-column:1/-1}}
.invia-foto{margin-top:40px;background:var(--carta);border:1px dashed var(--corda);border-radius:8px;padding:18px 22px}
.invia-foto h2{margin-top:0}
/* Galleria foto per anno */
.galleria-palio .anni{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.galleria-palio .anni button{font:inherit;font-family:var(--f-etichetta);font-size:20px;padding:6px 16px;border:2px solid var(--stendardo);background:var(--carta);color:var(--stendardo-scuro);border-radius:999px;cursor:pointer}
.galleria-palio .anni button small{font-size:14px;opacity:.7}
.galleria-palio .anni button[aria-selected=true]{background:var(--stendardo);color:#fff}
.galleria-palio .filtri{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;margin:0 0 16px}
.galleria-palio .filtri label{display:flex;flex-direction:column;font-family:var(--f-etichetta);font-size:15px;color:var(--inchiostro-2)}
.galleria-palio .filtri select{font:inherit;font-size:16px;padding:6px 10px;border:1px solid var(--corda);border-radius:6px;background:var(--carta);color:var(--inchiostro);min-width:180px}
.galleria-palio .conta{font-family:var(--f-etichetta);color:var(--inchiostro-2);padding-bottom:8px}
.galleria-palio .griglia-foto a[hidden]{display:none}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;overflow:hidden}
.lightbox::backdrop{background:rgba(15,12,8,.92)}
.lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 56px 16px}
.lightbox img{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain;border-radius:4px}
.lightbox figcaption{color:#f4ead0;font-family:var(--f-etichetta);font-size:16px;margin-top:10px;text-align:center}
.lightbox button{position:absolute;background:rgba(0,0,0,.35);color:#fff;border:0;font-size:40px;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lightbox .lb-chiudi{top:10px;right:10px;font-size:34px}
.lightbox .lb-prec{left:8px;top:50%;transform:translateY(-50%)}
.lightbox .lb-succ{right:8px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.lightbox figure{padding:56px 8px 12px}.lightbox .lb-prec,.lightbox .lb-succ{top:auto;bottom:14px;transform:none}.galleria-palio .filtri select{min-width:140px}}
/* Albo d'Oro originale sfogliabile */
.libro-anteprima{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:28px;align-items:center}
.libro-copertina{padding:0;border:0;background:none;cursor:pointer;transform:rotate(-2deg);transition:transform .2s}
.libro-copertina:hover,.libro-copertina:focus-visible{transform:rotate(0) scale(1.02)}
.libro-copertina img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 14px 30px rgba(35,29,22,.35)}
.libro-anteprima .btn{font:inherit;font-family:var(--f-etichetta);font-size:19px;background:var(--stendardo);color:#fff;border:0;border-radius:999px;padding:10px 22px;cursor:pointer}
.libro{border:0;padding:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#1a1612;overflow:hidden}
.libro::backdrop{background:#1a1612}
.libro-pagine{width:94vw;height:calc(100vh - 90px);margin:14px auto 0}
.libro-pagine .page{background:#fff;overflow:hidden}
.libro-pagine .page img{display:block;width:100%;height:100%;object-fit:contain;background:#f4ead0}
.libro-barra{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:rgba(0,0,0,.7);color:#fff;padding:6px 10px;border-radius:999px;font-family:var(--f-etichetta);font-size:17px}
.libro-barra button{background:#fff;color:var(--inchiostro);border:0;border-radius:999px;min-width:40px;height:36px;font-size:22px;cursor:pointer;padding:0 12px}
.libro-barra .libro-chiudi{font-size:16px}
@media (max-width:640px){.libro-anteprima{grid-template-columns:1fr}.libro-copertina{max-width:220px;margin:0 auto}}
.h1-img{margin:0;font-size:inherit;line-height:0}
