/* Colori presi dalla patch. Per cambiarli modifica solo queste variabili. */
:root{
  color-scheme: dark;
  --fondo:#1D1E1B;
  --superficie:#262723;
  --rialzo:#30322C;
  --patch:#4F5249;
  --testo:#DCDED3;
  --tenue:#9EA193;
  --bordeaux:#8F3A3F;
  --bordeaux-chiaro:#B24E54;
  --verde:#3A3D33;
  --oliva:#4C6534;
  --oliva-chiaro:#5F7D42;
  --linea:rgba(158,161,147,.22);
  --titoli:"Praetorian", "Chakra Petch", "Arial Narrow", system-ui, sans-serif;
  --corpo:"Barlow", "Segoe UI", system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}}
body{margin:0;background:var(--fondo);color:var(--testo);font:400 1.0625rem/1.65 var(--corpo);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--bordeaux-chiaro);outline-offset:3px}
.wrap{width:min(1140px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--titoli);font-weight:700;line-height:1.05;margin:0;color:#EEF0E6}
h1{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.12;letter-spacing:.02em}
h2{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.2;letter-spacing:.02em}
h3{font-size:1.08rem;line-height:1.3;letter-spacing:.02em}
p{margin:0 0 1rem}
.tenue{color:var(--tenue)}
.salta{position:absolute;left:-999px}.salta:focus{left:1rem;top:1rem;z-index:99;background:var(--bordeaux);padding:.5rem 1rem}

/* ---------- Testata ---------- */
.testata{position:sticky;top:0;z-index:20;background:rgba(29,30,27,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.testata .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.marchio{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:700 1.05rem var(--titoli);white-space:nowrap}
.marchio img{width:44px;height:44px}
.menu{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}
.menu a{font:500 .88rem var(--titoli);letter-spacing:.03em;text-decoration:none;color:var(--tenue);padding:.3rem 0;border-bottom:2px solid transparent}
.menu a:hover{color:var(--testo)}
.menu a[aria-current="page"]{color:var(--testo);border-color:var(--bordeaux-chiaro)}
.menu .btn{color:#fff;border-bottom:0;padding:.55rem 1.1rem}
.menu-btn{display:none;background:none;border:1px solid var(--linea);color:var(--testo);font:500 1rem var(--titoli);padding:.45rem .9rem;border-radius:4px;cursor:pointer}
@media (max-width:1100px){
  .menu-btn{display:block}
  .menu{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--fondo);border-bottom:1px solid var(--linea);padding-bottom:1rem}
  .menu.aperto{display:flex}
  .menu a{display:block;padding:.9rem 1.25rem;border-bottom:1px solid var(--linea)}
  .menu a[aria-current="page"]{border-bottom-color:var(--linea);box-shadow:inset 3px 0 var(--bordeaux-chiaro)}
  .menu .btn{margin:1rem 1.25rem 0;text-align:center}
}

/* ---------- Bottoni ---------- */
.btn{display:inline-block;font:600 .92rem var(--titoli);letter-spacing:.03em;text-decoration:none;padding:.8rem 1.5rem;border-radius:4px;border:2px solid var(--bordeaux);background:var(--bordeaux);color:#fff;cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.btn:hover{background:var(--bordeaux-chiaro);border-color:var(--bordeaux-chiaro)}
.btn.vuoto{background:transparent;border-color:var(--patch);color:var(--testo)}
.btn.vuoto:hover{border-color:var(--testo)}
.btn[disabled]{opacity:.6;cursor:wait}
.bottoni{display:flex;flex-wrap:wrap;gap:.8rem}

/* ---------- Hero con reticolo ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--linea)}
.reticolo{position:absolute;inset:0;pointer-events:none}
.reticolo::before,.reticolo::after{content:"";position:absolute;background:var(--patch);opacity:.55}
.reticolo::before{left:0;right:0;top:var(--cy,50%);height:1px}
.reticolo::after{top:0;bottom:0;left:var(--cx,72%);width:1px}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;padding:clamp(3rem,8vw,6rem) 0}
.hero p.lead{font-size:1.1rem;max-width:44ch;color:var(--tenue);margin:1.4rem 0 2rem}
.hero .motto{font:500 .85rem var(--titoli);letter-spacing:.08em;color:var(--tenue);margin-bottom:1rem}
.patch{justify-self:center;width:min(440px,100%);aspect-ratio:1;position:relative}
.patch img{width:100%;height:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));animation:messaAFuoco 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes messaAFuoco{from{opacity:0;transform:scale(1.08);filter:blur(10px)}to{opacity:1;transform:none}}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;text-align:left}
  .patch{width:min(300px,80%);order:-1}
  .reticolo{display:none}
}

/* ---------- Testata di pagina interna ---------- */
.intestazione{border-bottom:1px solid var(--linea);padding:clamp(2.5rem,6vw,4rem) 0 clamp(2rem,4vw,3rem);position:relative;overflow:hidden}
.intestazione p{color:var(--tenue);max-width:none;margin:.9rem 0 0;font-size:1.05rem}
.intestazione::after{content:"";position:absolute;right:-60px;top:50%;width:260px;height:260px;transform:translateY(-50%);
  background:url(../img/logo.png) center/contain no-repeat;opacity:.08}

/* ---------- Sezioni ---------- */
.sezione{padding:clamp(3rem,7vw,5rem) 0;border-bottom:1px solid var(--linea)}
.sezione:last-child{border-bottom:0}
.sezione > .wrap > h2{margin-bottom:1.5rem}
.testa-sezione{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
.testa-sezione a{font:500 .85rem var(--titoli);color:var(--tenue)}
.testa-sezione a:hover{color:var(--testo)}
.due{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
@media (max-width:760px){.due{grid-template-columns:1fr;gap:1.2rem}.due > div + div{margin-top:1.8rem}}
.prosa p{max-width:64ch}

/* ---------- Giocate (lista date) ---------- */
.date{list-style:none;margin:0;padding:0}
.data-riga{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 0;border-top:1px solid var(--linea)}
.data-riga:last-child{border-bottom:1px solid var(--linea)}
.giorno{font:700 1.55rem/1 var(--titoli);color:#EEF0E6}
.giorno small{display:block;font-size:.9rem;font-weight:500;color:var(--tenue);margin-top:.2rem}
.data-riga h3{font-size:1rem;margin-bottom:.15rem}
.data-riga .tenue{font-size:.98rem}
.posti{font:500 .82rem var(--titoli);color:var(--tenue);white-space:nowrap}
@media (max-width:600px){.data-riga{grid-template-columns:4.5rem 1fr}.data-riga .btn,.data-riga .posti{grid-column:2;justify-self:start}}
.vuoto-box{background:var(--superficie);padding:1.5rem;border-left:3px solid var(--patch)}

/* ---------- News ---------- */
.news-lista{display:grid;gap:0}
.news{padding:1.6rem 0;border-top:1px solid var(--linea);display:grid;grid-template-columns:9rem 1fr;gap:1.5rem}
.news:last-child{border-bottom:1px solid var(--linea)}
.news time{font:500 .85rem var(--titoli);color:var(--tenue)}
.news h3{margin-bottom:.5rem}
.news p{max-width:66ch;color:#C9CBBF}
@media (max-width:600px){.news{grid-template-columns:1fr;gap:.3rem}}
.news-home{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}
.news-home article{border-top:2px solid var(--patch);padding-top:1rem}
.news-home time{font:500 .82rem var(--titoli);color:var(--tenue)}
.news-home h3{margin:.3rem 0 .5rem}
.news-home p{color:var(--tenue)}

/* ---------- Card tattiche (operatori, gallery, news) ---------- */
.griglia-card,.direttivo,.news-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:1.4rem 1.2rem}
.c51{--acc:var(--patch);--taglio:16px;
  position:relative;display:block;width:100%;margin:0;padding:1px;border:0;font:inherit;color:inherit;text-align:center;
  background:var(--acc);
  clip-path:polygon(var(--taglio) 0,100% 0,100% calc(100% - var(--taglio)),calc(100% - var(--taglio)) 100%,0 100%,0 var(--taglio));
  transition:background .25s ease,transform .25s ease}
button.c51{cursor:pointer}
.c51-cornice{position:relative;display:flex;flex-direction:column;height:100%;text-align:center;text-decoration:none;color:inherit;
  background:var(--superficie);
  clip-path:polygon(calc(var(--taglio) - 1px) 0,100% 0,100% calc(100% - var(--taglio) + 1px),calc(100% - var(--taglio) + 1px) 100%,0 100%,0 calc(var(--taglio) - 1px))}
.c51:hover{transform:translateY(-3px)}
.c51:focus-within,.c51:focus-visible{outline:none}
.c51-cornice:focus-visible,button.c51:focus-visible{outline:2px solid #fff;outline-offset:-4px}

.c51-badge{position:absolute;top:0;right:0;z-index:2;background:var(--acc);color:#fff;
  font:700 .6rem/1 var(--titoli);letter-spacing:.13em;text-transform:uppercase;padding:.36rem .55rem .32rem .7rem;
  clip-path:polygon(0 0,100% 0,100% 100%,10px 100%)}

.c51-media{position:relative;display:block;overflow:hidden;background:#171815;border-bottom:1px solid var(--linea);
  background-image:radial-gradient(rgba(158,161,147,.14) 1px,transparent 1px);background-size:14px 14px}
.c51-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.c51:hover .c51-media img{transform:scale(1.05)}
.c51-vuoto{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem}
.c51-vuoto span{font:700 .62rem/1 var(--titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--patch)}
.c51-glifo{width:70px;height:64px;fill:none;stroke:var(--patch);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;opacity:.9}

.c51-corpo{display:flex;flex-direction:column;align-items:center;flex:1;padding:.95rem .75rem 1.1rem}
.c51-nick{display:block;font:700 1.15rem/1.15 var(--titoli);letter-spacing:.09em;text-transform:uppercase;color:#fff;
  overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual}
.c51-nome{display:block;margin-top:.3rem;font:400 .88rem/1.3 var(--corpo);color:var(--tenue)}
.c51-estratto{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-top:.5rem;font-size:.9rem;line-height:1.45;color:#B9BCAF;text-align:center;-webkit-hyphens:manual;hyphens:manual}
.c51-tag{display:flex;flex-wrap:wrap;justify-content:center;gap:.32rem;margin-top:.75rem}
.c51-tag span{font:700 .6rem/1 var(--titoli);letter-spacing:.09em;text-transform:uppercase;color:#CFD1C5;
  border:1px solid var(--patch);background:rgba(0,0,0,.28);padding:.34rem .45rem}
.c51:hover .c51-tag span{border-color:var(--acc)}

/* varianti: direttivo rosso, socio verde militare, news bordeaux, gallery oliva */
.c51-dir{--acc:var(--bordeaux-chiaro)}
.c51-dir:hover{--acc:#CB646A}
.c51-soc{--acc:var(--oliva)}
.c51-soc:hover{--acc:var(--oliva-chiaro)}
.c51-news{--acc:var(--bordeaux)}
.c51-news:hover{--acc:var(--bordeaux-chiaro)}
.c51-gallery{--acc:var(--oliva)}
.c51-gallery:hover{--acc:var(--oliva-chiaro)}
/* proporzioni immagine: quadrata per gli operatori, 4/3 per le anteprime */
.c51-dir .c51-media,.c51-soc .c51-media{aspect-ratio:1/1}
.c51-news .c51-media,.c51-gallery .c51-media{aspect-ratio:4/3}
.c51-news .c51-nick,.c51-gallery .c51-nick{font-size:1rem;letter-spacing:.05em;overflow-wrap:break-word;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.c51-news .c51-nome,.c51-gallery .c51-nome{font:500 .78rem var(--titoli);letter-spacing:.05em;color:var(--tenue)}
.news-griglia{grid-template-columns:repeat(auto-fit,minmax(235px,340px));justify-content:start}

.pattuglie{display:grid;gap:1.5rem}
.pattuglia{background:var(--superficie);padding:1.8rem;position:relative;overflow:hidden}
.pattuglia-testa{display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.pattuglia-testa .nome{margin-bottom:0}
.pattuglia-testa p{margin:0;max-width:60ch}
.pattuglia .nome{font:700 clamp(1.5rem,2.8vw,2.1rem)/1.1 var(--titoli);color:var(--patch);margin-bottom:.6rem}
.membri{list-style:none;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--linea);display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}
.membri.griglia{border-top:0;padding-top:0;margin-top:0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.membri li{display:flex;align-items:center;gap:.7rem;background:var(--rialzo);padding:.5rem .7rem;border-radius:4px;min-width:0}
.membri img.mini{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:var(--superficie)}
.membri span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.membri strong{font:600 .9rem var(--titoli);color:#EEF0E6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.membri small{color:var(--tenue);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.passi{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem}
.passi li{counter-increment:p;border-top:2px solid var(--patch);padding-top:1rem}
.passi li::before{content:counter(p);display:block;font:700 1.6rem/1 var(--titoli);color:var(--bordeaux-chiaro);margin-bottom:.6rem}
.passi p{color:var(--tenue);margin:.4rem 0 0}

/* ---------- Eventi e gallery ---------- */
.indice-eventi{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.indice-eventi a{font:500 .82rem var(--titoli);text-decoration:none;background:var(--superficie);padding:.4rem .9rem;border-radius:3px;color:var(--tenue)}
.indice-eventi a:hover{color:var(--testo);background:var(--rialzo)}
.evento{padding:clamp(2.5rem,6vw,4rem) 0;border-bottom:1px solid var(--linea);scroll-margin-top:80px}
.evento:last-child{border-bottom:0}
.evento-testa{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.6rem}
.evento-testa time{font:500 .85rem var(--titoli);color:var(--bordeaux-chiaro);display:block;margin-bottom:.4rem}
.evento-testa .tenue{margin-top:.5rem}
@media (max-width:760px){.evento-testa{grid-template-columns:1fr;gap:.8rem}}
.galleria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:.5rem}
@media (max-width:860px){.galleria{grid-template-columns:repeat(3,1fr)}}
.galleria button{padding:0;border:0;background:var(--rialzo);cursor:zoom-in;aspect-ratio:3/2;overflow:hidden}
.galleria img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .2s}
.galleria button:hover img{transform:scale(1.04)}
.galleria button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:520px){.galleria{grid-template-columns:1fr 1fr}.galleria button:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:3/2}}

/* Visore foto */
.visore{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:var(--testo)}
.visore::backdrop{background:rgba(10,10,9,.94)}
.visore-corpo{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4rem 4.5rem}
.visore img{max-width:100%;max-height:100%;object-fit:contain}
.visore button{position:absolute;background:rgba(48,50,44,.85);border:1px solid var(--linea);color:var(--testo);font:600 1rem var(--titoli);cursor:pointer;border-radius:4px;padding:.6rem .9rem}
.visore button:hover{background:var(--bordeaux)}
.visore .chiudi{top:1rem;right:1rem}
.visore .prec{left:1rem;top:50%;transform:translateY(-50%)}
.visore .succ{right:1rem;top:50%;transform:translateY(-50%)}
.visore .contatore{position:absolute;bottom:1.2rem;left:0;right:0;text-align:center;color:var(--tenue);font:500 .95rem var(--titoli)}
@media (max-width:600px){.visore-corpo{padding:4rem .5rem}.visore .prec,.visore .succ{top:auto;bottom:.8rem;transform:none}.visore .contatore{bottom:1.5rem}}

/* ---------- Modulo ---------- */
.modulo{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}
.campo{display:flex;flex-direction:column;gap:.35rem}
.campo.intero{grid-column:1/-1}
label{font:500 .88rem var(--titoli);letter-spacing:.02em}
label .opz{color:var(--tenue);font-weight:400}
input,select,textarea{font:inherit;color:var(--testo);background:var(--superficie);border:1px solid var(--patch);border-radius:4px;padding:.7rem .85rem;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--testo)}
.spunta{flex-direction:row;align-items:flex-start;gap:.7rem}
.spunta input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--bordeaux-chiaro);flex:none}
.spunta label{font:400 1rem var(--corpo)}
.nascosto{display:none}
.esito{grid-column:1/-1;padding:1rem 1.2rem;border-left:3px solid var(--patch);background:var(--superficie)}
.esito.ok{border-color:#6E8B4E}
.esito.errore{border-color:var(--bordeaux-chiaro)}
@media (max-width:640px){.modulo{grid-template-columns:1fr}}
/* Chi viene: una riga per persona */
.etichetta{font:500 .9rem var(--titoli);letter-spacing:.03em;color:var(--tenue)}
.aiuto{margin:.1rem 0 .7rem;font-size:.95rem}
.persone{display:grid;gap:.6rem}
.persona-riga{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;background:var(--rialzo);border:1px solid var(--linea);border-radius:6px;padding:.7rem .9rem}
.persona-campo{flex:1 1 9rem;min-width:8rem;width:auto;padding:.5rem .7rem;background:var(--fondo)}
.persona-nome{font:600 .95rem var(--titoli);letter-spacing:.03em;min-width:6.5rem;flex:none}
.persona-nome small{font-weight:400;color:var(--tenue)}
.persona-riga .scelta{display:flex;align-items:center;gap:.5rem;font-size:.97rem;cursor:pointer}
.persona-riga .scelta input{width:1.15rem;height:1.15rem;accent-color:var(--bordeaux-chiaro);flex:none;margin:0}
.persona-riga .scelta:has(input:disabled){opacity:.45;cursor:default}
.persona-togli{margin-left:auto;background:none;border:1px solid var(--patch);color:var(--tenue);border-radius:4px;width:2rem;height:2rem;cursor:pointer;font-size:.9rem;flex:none}
.persona-togli:hover{color:var(--testo);border-color:var(--bordeaux-chiaro)}
.controllo-umano{background:var(--rialzo);border:1px solid var(--linea);border-radius:6px;padding:.9rem 1rem}
.controllo-umano label{font:500 .9rem var(--titoli);letter-spacing:.03em;color:var(--testo);text-transform:none}
.controllo-umano #anti-domanda{color:#EEF0E6;font-weight:700}
.controllo-riga{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 .4rem}
.controllo-riga input{width:9rem;background:var(--fondo)}
.cambia-domanda{background:none;border:1px solid var(--patch);color:var(--tenue);border-radius:4px;width:2.4rem;height:2.4rem;cursor:pointer;font-size:1.05rem;flex:none}
.cambia-domanda:hover{color:var(--testo);border-color:var(--bordeaux-chiaro)}
.controllo-umano small{font-size:.88rem}
.persone-azioni{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.8rem}
.persone-azioni .btn{padding:.55rem 1.1rem;font-size:.85rem}
.persone-azioni .btn[disabled]{opacity:.5;cursor:not-allowed}
#persone-riepilogo{font-size:.95rem}
@media (max-width:560px){.persona-riga{gap:.5rem .9rem}.persona-nome{min-width:100%}.persona-campo{flex:1 1 100%}.persona-riga .scelta{flex:1 1 auto}}

.regole{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.regole.due-colonne{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:.9rem 2.5rem}
.regole.due-colonne li{text-align:left;-webkit-hyphens:manual;hyphens:manual}
.regole li{padding-left:1.8rem;position:relative;color:#C9CBBF}
.regole li::before{content:"";position:absolute;left:0;top:.55rem;width:.9rem;height:.9rem;border:2px solid var(--patch);border-radius:50%;
  background:radial-gradient(circle,var(--bordeaux-chiaro) 0 2px,transparent 3px)}
.pannello{background:var(--superficie);padding:1.8rem}

/* ---------- Contatti ---------- */
.contatti-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.contatto{background:var(--superficie);padding:1.6rem}
.contatto h3{margin-bottom:.6rem}
.contatto a{color:var(--testo);word-break:break-word}
.contatto ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}

/* ---------- Piede ---------- */
.piede{background:#171815;border-top:1px solid var(--linea);padding:3rem 0 1.5rem;margin-top:auto}
.piede .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.piede img{width:70px;margin-bottom:.8rem}
.piede h3{font-size:.92rem;margin-bottom:.7rem}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.piede a{text-decoration:none;color:var(--tenue)}
.piede a:hover{color:var(--testo);text-decoration:underline}
.piede .legale{grid-column:1/-1;border-top:1px solid var(--linea);padding-top:1.2rem;color:var(--tenue);font-size:.92rem}
@media (max-width:760px){.piede .wrap{grid-template-columns:1fr 1fr}.piede .wrap > div:first-child{grid-column:1/-1}}
#testata{height:69px;border-bottom:1px solid var(--linea)}
/* ---------- Schede cliccabili e scheda operatore ---------- */

.dossier{border:0;padding:0;background:transparent;color:var(--testo);width:min(760px,100% - 1.5rem);max-height:calc(100vh - 2rem);overflow:auto}
.dossier::backdrop{background:rgba(12,12,10,.86)}
.dossier[open]{animation:dossierApri .28s cubic-bezier(.2,.7,.2,1)}
@keyframes dossierApri{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.dossier-carta{background:var(--superficie);border:1px solid var(--patch);position:relative;
  background-image:repeating-linear-gradient(0deg,transparent 0 23px,rgba(158,161,147,.05) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,rgba(158,161,147,.05) 23px 24px)}
.dossier-banda{display:flex;height:5px}
.dossier-banda span{flex:1}
.dossier-banda span:nth-child(1){background:#3A3D33}.dossier-banda span:nth-child(2){background:#5A5A58}.dossier-banda span:nth-child(3){background:var(--bordeaux)}
.dossier-testa{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.25rem;border-bottom:1px solid var(--linea);font:500 .85rem var(--titoli);color:var(--tenue)}
.dossier-conta{margin-left:auto;font-size:.9rem}
.dossier-chiudi{background:none;border:1px solid var(--linea);color:var(--testo);width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:1rem}
.dossier-chiudi:hover{border-color:var(--testo)}
.dossier-corpo{display:grid;grid-template-columns:230px 1fr;gap:1.75rem;padding:1.5rem 1.5rem .5rem}
.dossier-foto{margin:0;position:relative;aspect-ratio:1;padding:10px}
.dossier-foto img{width:100%;height:100%;object-fit:cover;background:var(--rialzo)}
.angolo{position:absolute;width:22px;height:22px;border:2px solid var(--bordeaux-chiaro)}
.a1{top:0;left:0;border-right:0;border-bottom:0}.a2{top:0;right:0;border-left:0;border-bottom:0}
.a3{bottom:0;left:0;border-right:0;border-top:0}.a4{bottom:0;right:0;border-left:0;border-top:0}
.dossier-dati h2{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.1;margin-top:.3rem}
.dossier-nome{color:var(--tenue);font-size:1.02rem;margin:.35rem 0 .9rem}
.dossier-etichette{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}
.dossier-etichette span{font:500 .78rem var(--titoli);border:1px solid var(--patch);padding:.15rem .6rem;border-radius:3px}
.dossier-etichette .evidenza{border-color:var(--bordeaux-chiaro);color:#F1D9DA;background:rgba(143,58,63,.25)}
.dossier dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.25rem}
.dossier dt{font:500 .75rem var(--titoli);color:var(--tenue)}
.dossier dd{margin:.15rem 0 0;font:600 .98rem var(--titoli);color:#EEF0E6}
.dossier dd small{font-weight:400;color:var(--tenue);font-size:.85rem}
.dossier-descrizione{padding:.75rem 1.5rem 0;border-top:1px dashed var(--linea);margin:1rem 1.5rem 0;padding-left:0;padding-right:0}
.dossier-descrizione p{color:#C9CBBF;max-width:none}
.dossier-presenze{margin:1rem 1.5rem 0;padding-top:1rem;border-top:1px dashed var(--linea)}
.dossier-presenze h3{font-size:.85rem;color:var(--tenue);font-weight:500;margin-bottom:.6rem}
.dossier-presenze .numeri{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.dossier-presenze .numeri div{background:var(--rialzo);padding:.7rem;text-align:center}
.dossier-presenze strong{display:block;font:700 1.55rem/1 var(--titoli);color:#EEF0E6}
.dossier-presenze span{font-size:.9rem;color:var(--tenue)}
.dossier-nav{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 1.5rem}
.dossier-nav button{background:none;border:1px solid var(--patch);color:var(--testo);font:500 .85rem var(--titoli);padding:.55rem 1rem;border-radius:4px;cursor:pointer}
.dossier-nav button:hover{border-color:var(--testo)}
.dossier-carta > :last-child:not(.dossier-nav){margin-bottom:1.5rem}
@media (max-width:600px){
  .dossier-corpo{grid-template-columns:1fr;gap:1rem;padding:1.1rem 1.1rem .25rem}
  .dossier-foto{width:min(220px,70%);margin:0 auto}
  .dossier-dati{text-align:center}
  .dossier-etichette{justify-content:center}
  .dossier dl{text-align:left}
  .dossier-descrizione,.dossier-presenze{margin-left:1.1rem;margin-right:1.1rem}
  .dossier-nav{padding:1rem 1.1rem 1.1rem}
}
/* ---------- Pagina Il Softair ---------- */
.sa-cifre-sezione{border-bottom:1px solid var(--linea);background:var(--superficie)}
.sa-cifre{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.sa-cifra{padding:1.6rem 1.25rem;border-left:1px solid var(--linea)}
.sa-cifra:first-child{border-left:0}
.sa-cifra strong{display:block;font:700 clamp(1.2rem,2vw,1.6rem)/1.1 var(--titoli);color:#EEF0E6;margin-bottom:.45rem;white-space:nowrap}
.sa-cifra span{color:var(--tenue);font-size:.92rem;line-height:1.35;display:block}
@media (max-width:640px){.sa-cifre{grid-template-columns:1fr 1fr}.sa-cifra{border-left:0;border-top:1px solid var(--linea)}.sa-cifra:nth-child(-n+2){border-top:0}.sa-cifra:nth-child(even){border-left:1px solid var(--linea)}}
.sa-griglia{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.sa-blocco.inverti .sa-testo{order:2}
.sa-numero{display:block;font:700 1rem var(--titoli);color:var(--bordeaux-chiaro);margin-bottom:.6rem}
.sa-testo h2{margin-bottom:1.2rem}
.sa-testo p{color:#C9CBBF;max-width:62ch}
.sa-elenco{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.5rem}
.sa-elenco li{position:relative;padding:.6rem .9rem .6rem 2.2rem;background:var(--superficie);border-left:2px solid var(--patch)}
.sa-elenco li::before{content:"";position:absolute;left:.85rem;top:1.05rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--bordeaux-chiaro)}
.sa-figura{margin:0;position:relative;padding:12px;aspect-ratio:4/3}
.sa-figura svg,.sa-figura img{width:100%;height:100%;display:block;object-fit:cover}
.sa-figura .angolo{width:26px;height:26px}
@media (max-width:820px){.sa-griglia{grid-template-columns:1fr}.sa-blocco.inverti .sa-testo{order:0}.sa-figura{max-width:520px}}
.sa-figura .sf{fill:var(--superficie)}
.sa-figura .sb{fill:var(--rialzo)}
.sa-figura .sp{fill:var(--patch)}
.sa-figura .sa{fill:var(--tenue)}
.sa-figura .sr{fill:none;stroke:var(--tenue);stroke-width:2.5}
.sa-figura .sb.sr{fill:var(--rialzo)}
.sa-figura .sl{fill:none;stroke:var(--patch);stroke-width:2}
.sa-figura .sg{stroke:var(--linea);stroke-width:1}
.sa-figura .st{fill:var(--tenue);font:600 13px var(--titoli);letter-spacing:.06em}
.sa-figura .sa-rosso{fill:none;stroke:var(--bordeaux-chiaro);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sa-figura .sa-rotta{fill:none;stroke:var(--bordeaux-chiaro);stroke-width:3;stroke-dasharray:8 7}
.sa-figura .sa-bandiera{fill:var(--bordeaux-chiaro)}
.sa-figura .sa-bb{fill:#D8D3BF}
@media (prefers-reduced-motion:no-preference){.sa-mirino{transform-origin:210px 130px;animation:saMira 7s ease-in-out infinite}}
@keyframes saMira{0%,100%{transform:translate(0,0)}35%{transform:translate(-24px,10px)}70%{transform:translate(18px,-8px)}}
.sa-evidenza-sezione{border-bottom:1px solid var(--linea);padding:clamp(2.5rem,6vw,4rem) 0;background:linear-gradient(90deg,rgba(143,58,63,.14),transparent 70%)}
.sa-evidenza{margin:0;max-width:62ch;font:600 clamp(1rem,1.7vw,1.3rem)/1.55 var(--titoli);letter-spacing:.02em;color:#EEF0E6;border-left:4px solid var(--bordeaux-chiaro);padding-left:1.4rem}
.sa-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.sa-cta h2{margin-bottom:.5rem}
.sa-cta p{margin:0}
.softair-testa::after{background:none;border:2px solid var(--patch);border-radius:50%;width:230px;height:230px;opacity:.35;
  box-shadow:inset 0 0 0 40px transparent;background-image:linear-gradient(var(--patch),var(--patch)),linear-gradient(var(--patch),var(--patch));background-size:2px 100%,100% 2px;background-position:center;background-repeat:no-repeat}
/* ---------- Pagina Diventa socio ---------- */
.ds-griglia{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.ds-griglia h2{margin-bottom:1.6rem}
.ds-passi{list-style:none;counter-reset:passo;margin:0;padding:0;position:relative}
.ds-passi::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:linear-gradient(var(--patch),var(--patch)) center/2px 100% no-repeat}
.ds-passi li{counter-increment:passo;display:grid;grid-template-columns:56px 1fr;gap:1.25rem;padding-bottom:2rem;position:relative}
.ds-passi li:last-child{padding-bottom:0}
.ds-passi li::before{content:counter(passo);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  font:700 1.2rem var(--titoli);color:#fff;background:var(--bordeaux);box-shadow:0 0 0 6px var(--fondo),0 0 0 7px var(--patch);position:relative}
.ds-passi h3{font-size:1.05rem;margin:.95rem 0 .4rem}
.ds-passi p{color:#C9CBBF;margin:0;max-width:56ch}
.ds-lato{display:grid;gap:1.25rem;position:sticky;top:90px}
.ds-lato h3{margin-bottom:1rem}
.ds-inizia{border-left:3px solid var(--bordeaux-chiaro)}
.ds-inizia p{margin:0 0 1.1rem}
.ds-inizia .ds-contatto{margin:1rem 0 0;font-size:.95rem}
@media (max-width:860px){.ds-griglia{grid-template-columns:1fr}.ds-lato{position:static}}
/* ---------- Mappa in Contatti ---------- */
.mappa-box{margin-top:1.5rem;background:var(--superficie);border:1px solid var(--linea);aspect-ratio:16/7;min-height:280px;position:relative;overflow:hidden}
.mappa-segnaposto{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center;padding:1.5rem;
  background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);background-size:40px 40px}
.mappa-segnaposto p{margin:0;max-width:44ch}
.mappa-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2)}
@media (max-width:640px){.mappa-box{aspect-ratio:4/5}}
/* ---------- Privacy policy ---------- */
.privacy-griglia{display:grid;grid-template-columns:260px 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.privacy-indice{position:sticky;top:90px;background:var(--superficie);padding:1.25rem;border-left:3px solid var(--patch)}
.privacy-indice strong{font:600 .88rem var(--titoli);display:block;margin-bottom:.6rem}
.privacy-indice ol{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}
.privacy-indice a{color:var(--tenue);text-decoration:none;font-size:.95rem}
.privacy-indice a:hover{color:var(--testo);text-decoration:underline}
.privacy-indice p{margin:1rem 0 0;font-size:.9rem}
.privacy-testo section{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--linea);scroll-margin-top:90px}
.privacy-testo section:last-child{border-bottom:0}
.privacy-testo h2{font-size:clamp(1.1rem,1.8vw,1.35rem);margin-bottom:1rem}
.privacy-testo p{color:#C9CBBF;max-width:70ch}
.privacy-testo .sa-elenco{max-width:70ch}
.piede .legale a{color:var(--tenue);text-decoration:underline}
#modulo-prenota label a{color:var(--testo)}
@media (max-width:860px){.privacy-griglia{grid-template-columns:1fr}.privacy-indice{position:static}}
@media (max-width:560px){.griglia-card,.direttivo{grid-template-columns:repeat(2,1fr);gap:.8rem}.news-griglia{grid-template-columns:1fr;gap:1.1rem}.pattuglia{padding:1.2rem}
  .c51-news .c51-nick,.c51-gallery .c51-nick{font-size:1.05rem}.c51-news .c51-corpo,.c51-gallery .c51-corpo{padding:.95rem .9rem 1.1rem}
  .c51{--taglio:12px}.c51-corpo{padding:.7rem .45rem .85rem}.c51-nick{font-size:.98rem;letter-spacing:.06em}.c51-nome{font-size:.8rem}
  .c51-tag span{font-size:.55rem;padding:.28rem .35rem;letter-spacing:.06em}.c51-glifo{width:54px;height:50px}.c51-badge{font-size:.5rem;letter-spacing:.08em;padding:.28rem .4rem .26rem .55rem}}

/* Praetorian è più largo: voci del menu su una riga */
.menu a{white-space:nowrap}
@media (min-width:1101px) and (max-width:1300px){.menu{gap:1.1rem}.menu a{font-size:.82rem}.menu .btn{padding:.5rem .9rem}}

/* Home: Chi siamo a tutta larghezza */
.chi-siamo h2{margin-bottom:1.4rem}
.chi-siamo .prosa p{max-width:none}

/* Il Softair: immagini predefinite (hanno già gli angoli a mirino) */
.sa-figura.predefinita{padding:0;aspect-ratio:1168/784;background:#141412;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.sa-figura.predefinita img{object-fit:cover}

/* Scala tipografica armonizzata per Praetorian */
.hero h1{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.1}
.sa-testo h2{margin-bottom:1rem}
.testa-sezione h2,.sezione > .wrap > h2{margin-top:0}

/* Testi giustificati, con sillabazione italiana per evitare spazi troppo larghi */
p, .sa-elenco li, .regole li, .ds-passi p, .passi p {
  text-align: justify; text-justify: inter-word;
  -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 6 3 3;
}
/* Eccezioni: testi centrati o molto brevi */
.c51-corpo p, .mappa-segnaposto p, .dossier-dati p, .piede p, .esito p, .vuoto-box, .giorno, .sa-cta p, .ds-inizia .ds-contatto { text-align: inherit; -webkit-hyphens: manual; hyphens: manual; }
@media (max-width:600px){ .dossier-dati p { text-align: center; } }

/* Il Softair: riquadro in evidenza su più righe, stessa formattazione */
.sa-evidenza p{margin:0;max-width:none;color:inherit;font:inherit;text-align:left;-webkit-hyphens:manual;hyphens:manual}
.sa-evidenza-blocco + .sa-evidenza-blocco{margin-top:1.4rem}

/* Banner: la prima riga di ogni blocco è lo slogan, le righe successive sono più piccole */
.sa-evidenza-blocco p + p{font-size:.78em;line-height:1.65;color:#C9CBBF;margin-top:.35rem;letter-spacing:.03em}

/* ---------- News: anteprime e articolo ---------- */
.articolo-gallery{margin:1.6rem 0 0}
.articolo-indietro{display:inline-block;font:500 .85rem var(--titoli);color:var(--tenue);text-decoration:none;margin-bottom:1.8rem;letter-spacing:.04em}
.articolo-indietro:hover{color:var(--testo)}
.articolo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.articolo.senza-foto{grid-template-columns:minmax(0,760px)}
.articolo-foto{margin:0;background:#121210;border:1px solid var(--linea);position:sticky;top:90px}
.articolo-foto img{width:100%;max-height:80vh;object-fit:contain}
.articolo-testo h1{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.4rem}
.articolo-testo time{display:block;font:500 .85rem var(--titoli);color:var(--bordeaux-chiaro);letter-spacing:.04em;margin-bottom:1.4rem}
.articolo-testo p{color:#D4D6CB;max-width:none}
@media (max-width:820px){.articolo{grid-template-columns:1fr}.articolo-foto{position:static}}

/* ---------- Gallery ---------- */
.gallery-testa{margin-bottom:1.8rem;border-left:3px solid var(--bordeaux-chiaro);padding-left:1rem}
.gallery-testa h1{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.4rem}
.gallery-testa time{display:block;font:500 .85rem var(--titoli);color:var(--tenue);letter-spacing:.04em}
.gallery-descrizione{margin-top:1rem}
.gallery-descrizione p{color:#D4D6CB;max-width:none}
