/* ============================================================
   Virtus Cornaredo Hoopers - foglio di stile unico
   Colori ricavati dai file ufficiali del logo (rosso #C71414).
   ============================================================ */

:root{
  /* colori */
  --rosso:#C71414;
  --rosso-scuro:#9E0F0F;
  --rosso-tenue:#FBEAEA;
  --nero:#111111;
  --carta:#FBF8F3;
  --bianco:#FFFFFF;
  --inchiostro:#1A1713;
  --inchiostro-tenue:#6C6155;
  --linea:#E5DCCD;
  --linea-tenue:#F0EAE0;
  --parquet:#E8DCC8;

  /* misure */
  --col:1180px;
  --gutter:clamp(18px, 4vw, 40px);
  --r:4px;
  --ombra:0 1px 2px rgba(26,23,19,.05), 0 10px 30px -16px rgba(26,23,19,.22);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--carta);
  color:var(--inchiostro);
  font:400 17px/1.65 Barlow, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--rosso)}
:focus-visible{outline:3px solid var(--rosso); outline-offset:2px}

/* ---------- tipografia ---------- */
h1,h2,h3{margin:0; font-family:Graduate, "Barlow Condensed", Impact, sans-serif; font-weight:400; text-wrap:balance; letter-spacing:.005em}
h4,h5{margin:0; font-family:Barlow, sans-serif; font-weight:600}
p{margin:0}
.h-xl{font-size:clamp(30px,5.2vw,54px); line-height:1.04}
.h-l{font-size:clamp(28px,4.4vw,46px); line-height:1.05}
.h-m{font-size:clamp(20px,2.4vw,26px); line-height:1.18}
.h-s{font-size:clamp(17px,1.9vw,20px); line-height:1.2}
.moduli-btn{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
/* .bottone.btn-doc: la doppia classe batte .bottone{display:inline-block}, così flex/gap si applicano */
.btn-doc, .bottone.btn-doc{display:inline-flex; align-items:center; justify-content:center; gap:9px}
.btn-doc svg{width:17px; height:17px; flex:0 0 auto}
.etichetta{
  font:600 12px/1 "Barlow Condensed", sans-serif; letter-spacing:.18em;
  text-transform:uppercase; color:var(--inchiostro-tenue);
}
.etichetta--rossa{color:var(--rosso)}
.testo{color:var(--inchiostro-tenue); max-width:62ch}
.tbd{color:#A2988A; font-style:italic}

/* ---------- impianto ---------- */
.contenitore{max-width:var(--col); margin-inline:auto; padding-inline:var(--gutter)}
.sezione{padding-block:clamp(40px,6vw,72px)}
.sezione--riga{border-top:1px solid var(--linea)}
.pila{display:flex; flex-direction:column}
.salta{position:absolute; left:-9999px}
.salta:focus{left:16px; top:12px; z-index:60; background:var(--rosso); color:#fff; padding:10px 14px; border-radius:var(--r)}

/* ---------- testata ---------- */
.testata{position:sticky; top:0; z-index:50; background:var(--nero); border-bottom:3px solid var(--rosso)}
.testata__int{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:70px}
.marchio{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; margin-right:auto}
.testata__ea7{flex:0 0 auto; display:flex; align-items:center}
.testata__ea7 img{width:44px; height:44px; display:block; transition:transform .16s ease}
.testata__ea7:hover img{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){.testata__ea7:hover img{transform:none}}
/* social nell'header: barra (desktop) + dentro il menu mobile */
.testata__social{display:flex; align-items:center; gap:11px; flex:0 0 auto}
.testata__social a{color:#CFC9C1; display:flex; align-items:center; transition:color .16s ease}
.testata__social a:hover{color:#fff}
.testata__social svg{width:19px; height:19px; display:block}
.menu__social{display:none}
.marchio img{width:46px; height:46px}
.marchio__testo{display:flex; flex-direction:column; line-height:1.05}
.marchio__testo b{font-family:Graduate,sans-serif; font-weight:400; font-size:19px; letter-spacing:.01em; color:#fff}
.marchio__testo span{font:600 10.5px/1.3 "Barlow Condensed",sans-serif; letter-spacing:.15em; text-transform:uppercase; color:#9A938B}
.menu{display:flex; align-items:center; gap:clamp(12px,1.8vw,26px)}
.menu a{
  font:600 12.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.13em; text-transform:uppercase;
  color:#E7E3DE; text-decoration:none; padding:6px 0; border-bottom:2px solid transparent;
}
.menu a:hover{color:#fff; border-bottom-color:var(--rosso)}
.menu a[aria-current="page"]{color:#fff; border-bottom-color:var(--rosso)}
.menu .bottone{border-bottom:0}
.menu__toggle{display:none; background:none; border:1px solid #4A4540; border-radius:var(--r); padding:9px 12px; font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#fff; cursor:pointer}

/* ---------- bottoni ---------- */
.bottone{
  display:inline-block; text-decoration:none; text-align:center; cursor:pointer; border:0;
  background:var(--rosso); color:#fff; padding:13px 20px; border-radius:var(--r);
  font:600 13px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase;
}
.bottone:hover{background:var(--rosso-scuro)}
.bottone--vuoto{background:transparent; color:var(--inchiostro); border:1.5px solid var(--inchiostro)}
.bottone--vuoto:hover{background:var(--inchiostro); color:var(--carta)}
.bottone--chiaro{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.42)}
.bottone--chiaro:hover{background:#fff; color:var(--nero); border-color:#fff}
.bottone--grande{padding:16px 26px; font-size:14px; letter-spacing:.16em}

/* ---------- apertura home ---------- */
.apertura{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--nero); color:#fff;
  padding-block:clamp(38px,6vw,74px) 0;
}
.apertura::before{
  content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(80% 70% at 88% 8%, rgba(199,20,20,.55), transparent 62%),
    radial-gradient(70% 60% at 4% 96%, rgba(255,255,255,.06), transparent 60%);
}
.apertura__lettering{
  position:absolute; z-index:-1; bottom:clamp(96px,13vw,150px); left:-14%;
  width:128%; max-width:none; opacity:.16; pointer-events:none;
}
.apertura__griglia{display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(24px,4vw,54px); align-items:center}
.apertura__testo .etichetta{margin-bottom:18px}
.apertura h1{
  font-size:clamp(46px,8.4vw,96px); line-height:.92; letter-spacing:-.005em; color:#fff;
}
.apertura h1 em{font-style:normal; color:var(--rosso); text-shadow:0 0 44px rgba(199,20,20,.55)}
.apertura__lede{margin-top:20px; font-size:clamp(16.5px,1.5vw,19px); color:rgba(255,255,255,.74); max-width:48ch}
.apertura__azioni{display:flex; flex-wrap:wrap; gap:11px; margin-top:30px}
.apertura__marchio{display:flex; justify-content:center}
.apertura__marchio a{display:inline-flex; border-radius:50%}
.apertura__marchio img{width:min(100%, clamp(210px,27vw,368px)); height:auto; filter:drop-shadow(0 18px 44px rgba(0,0,0,.55)); transition:transform .2s ease}
.apertura__marchio a:hover img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.apertura__marchio a:hover img{transform:none}}
.apertura__motto{
  border-top:1px solid #262320; padding:22px 0 24px; margin-top:clamp(30px,4vw,50px); text-align:center;
  font-size:15.5px; color:rgba(255,255,255,.6);
}
.apertura__motto span{font:600 10.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A736C; margin-left:8px}


/* ---------- riquadri azione ---------- */
.azioni{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.azioni--4{grid-template-columns:repeat(4,1fr)}
.azione{
  display:block; text-decoration:none; color:inherit; background:var(--bianco);
  border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r);
  padding:20px; transition:transform .16s ease, box-shadow .16s ease;
}
.azione:hover{transform:translateY(-3px); box-shadow:0 14px 34px -18px rgba(199,20,20,.6); border-color:var(--rosso)}
.azione{border-left-width:5px}
.azione__ic{color:var(--rosso); display:block; margin-bottom:12px}
/* icona accanto al titolo di sezione */
.sez-ic{color:var(--rosso); display:inline-block; vertical-align:middle; margin-right:12px; position:relative; top:-3px}
.sez-ic svg{width:32px; height:32px; display:block}
.azione__ic svg{width:28px; height:28px}
.azione b{display:block; font-family:Graduate,sans-serif; font-weight:400; font-size:19px; margin-bottom:5px}
/* callout informativo (es. nota minibasket su Squadre) */
.nota{display:flex; gap:12px; align-items:flex-start; max-width:660px; margin:20px 0 8px; padding:14px 16px; background:var(--bianco); border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r)}
.nota__ic{color:var(--rosso); flex:0 0 auto; display:inline-flex; margin-top:1px}
.nota p{margin:0; font-size:15.5px; color:var(--inchiostro-tenue)}
.nota strong{color:var(--inchiostro)}
.nota--grande{max-width:760px; gap:14px; padding:16px 18px}
.nota--grande .nota__ic svg{width:26px; height:26px}
.nota--grande p{font-size:17px; color:var(--inchiostro)}
/* colonna di lettura allineata a sinistra (dentro .contenitore pieno) */
.stretto{max-width:820px}
/* accordion FAQ */
.faq{margin-top:20px; display:flex; flex-direction:column; gap:10px}
.faq details{background:var(--bianco); border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r); overflow:hidden; transition:box-shadow .16s ease}
.faq details[open]{box-shadow:0 10px 30px -20px rgba(199,20,20,.6)}
.faq summary{cursor:pointer; padding:15px 18px; font:600 16px/1.35 Barlow,sans-serif; color:var(--inchiostro); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; width:11px; height:11px; flex:0 0 auto; border-right:2px solid var(--rosso); border-bottom:2px solid var(--rosso); transform:rotate(45deg); transition:transform .18s ease; margin-top:-3px}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:3px}
.faq summary:hover{color:var(--rosso)}
.faq__a{padding:0 18px 16px}
.faq__a p{font-size:15px; line-height:1.55; color:var(--inchiostro-tenue)}
.faq__a ul{margin:4px 0 0; padding-left:18px; font-size:15px; line-height:1.5; color:var(--inchiostro-tenue)}
.faq__a li{margin-bottom:5px}
.azione span{font-size:14.5px; color:var(--inchiostro-tenue)}
@media (prefers-reduced-motion:reduce){.azione{transition:none}.azione:hover{transform:none}}

/* .suggerimento: pointer secondario, piu' leggero delle .azione (accompagna una scelta, non compete) */
.suggerimento{display:flex; align-items:center; gap:12px; padding:12px 18px; margin-top:14px;
  border:1px solid var(--linea); border-radius:var(--r); background:var(--linea-tenue);
  color:var(--inchiostro); text-decoration:none; font-size:15px; line-height:1.4;
  transition:border-color .15s, background .15s}
.suggerimento:hover{border-color:var(--rosso); background:var(--rosso-tenue)}
.suggerimento__ic{color:var(--rosso); flex:none; display:flex}
.suggerimento__ic svg{width:20px; height:20px}
.suggerimento b{font-weight:600}
.suggerimento__txt span{color:var(--inchiostro-tenue)}
.suggerimento .freccia{margin-left:auto; color:var(--rosso); flex:none; font-weight:700; font-size:18px}
@media (max-width:560px){.suggerimento{font-size:14px}.suggerimento .freccia{display:none}}

/* ---------- intestazione di sezione ---------- */
.intestazione{display:flex; flex-direction:column; gap:9px; margin-bottom:26px}
.intestazione .testo{font-size:16.5px}

/* ---------- cerca squadra ---------- */
.cerca-squadra .etichetta{display:block; margin:16px 0 14px}
.anni{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px}
.anni button{
  font:600 13px/1 "Barlow Condensed",sans-serif; letter-spacing:.08em; cursor:pointer;
  background:var(--bianco); border:1px solid var(--linea); color:var(--inchiostro);
  padding:10px 12px; border-radius:99px; font-variant-numeric:tabular-nums;
}
.anni button:hover{border-color:var(--rosso); color:var(--rosso)}
.anni button[aria-pressed="true"]{background:var(--nero); border-color:var(--nero); color:#fff}
.filtri{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px}
.filtri button{
  font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.13em; text-transform:uppercase; cursor:pointer;
  background:transparent; border:1px solid var(--linea); color:var(--inchiostro-tenue);
  padding:9px 13px; border-radius:99px;
}
.filtri button[aria-pressed="true"]{background:var(--rosso); border-color:var(--rosso); color:#fff}
.esito{font-size:14.5px; color:var(--inchiostro-tenue); margin-bottom:16px}

.squadre{display:grid; grid-template-columns:repeat(auto-fill,minmax(232px,1fr)); gap:12px; list-style:none; margin:0; padding:0}
.squadra{
  background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r);
  border-top:3px solid var(--tinta, var(--rosso)); overflow:hidden;
}
.squadra[data-settore="giovanili"]{--tinta:#111111}
.squadra[data-settore="minibasket"]{--tinta:#C71414}
.squadra[data-settore="femminile"]{--tinta:#8C0F14}
.squadra[data-settore="pregnana"]{--tinta:#A88C5A}
.squadra .cat{color:var(--tinta)}
.squadra[hidden]{display:none}
.squadra a{display:block; padding:17px 18px; text-decoration:none; color:inherit; height:100%}
.squadra{transition:transform .15s ease}
.squadra a{transition:background .15s ease, color .15s ease}
.squadra a:hover{background:var(--rosso); color:#fff}
.squadra a:hover .cat{color:rgba(255,255,255,.82)}
.squadra a:hover .annata{color:rgba(255,255,255,.86)}
.squadra:hover{transform:translateY(-2px)}
.squadra .cat{font:600 10.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase}
.squadra b{display:block; font-family:Graduate,sans-serif; font-weight:400; font-size:18.5px; line-height:1.15; margin:8px 0 5px}
.squadra .annata{font:500 14.5px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.06em; color:var(--inchiostro-tenue); font-variant-numeric:tabular-nums}
.squadra.evidenza{border-color:var(--rosso); box-shadow:0 0 0 2px var(--rosso-tenue)}

/* ---------- news ---------- */
.news{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; list-style:none; margin:0; padding:0}
.notizia{background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column}
.notizia[hidden]{display:none}
.notizia__img{
  aspect-ratio:16/10; display:grid; place-items:center;
  background:
    linear-gradient(115deg, transparent 46%, rgba(199,20,20,.9) 46%, rgba(199,20,20,.9) 52%, transparent 52%),
    linear-gradient(160deg,#1F1B18,#111);
}
.notizia__img span{font:600 10px/1 "Barlow Condensed",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.42)}
.foto-squadra{width:100%; height:auto; display:block; border:1px solid var(--linea); border-radius:var(--r)}
/* "Come scriverci" (contatti): lista con iconcina per canale */
.recapiti{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1px; background:var(--linea); border:1px solid var(--linea); border-radius:var(--r); overflow:hidden}
.recapiti li{display:flex; align-items:center; gap:14px; background:var(--bianco); padding:13px 16px}
.recapiti li>svg{color:var(--rosso); flex:0 0 auto}
.recapiti__txt{min-width:0}
.recapiti__lbl{display:block; font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue); margin-bottom:3px}
.recapiti a{font-size:15.5px; overflow-wrap:anywhere}
.pin-ic{color:var(--rosso); display:inline-flex; vertical-align:-5px; margin-right:5px}
.hoopers__logo{width:min(70%,220px); height:auto; align-self:center; filter:drop-shadow(0 14px 32px rgba(0,0,0,.22))}
.notizia__testo{padding:16px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1}
.notizia .data{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--inchiostro-tenue)}
.notizia h3{font-size:19px; line-height:1.2}
.notizia a{text-decoration:none; color:inherit}
.notizia a:hover h3{color:var(--rosso)}
.notizia .estratto{font-size:15px; color:var(--inchiostro-tenue)}

/* ---------- fascia rossa ---------- */
.fascia{background:var(--rosso); color:#fff}
.fascia__int{display:flex; align-items:center; justify-content:space-between; gap:26px; padding-block:clamp(26px,3.4vw,40px); flex-wrap:wrap}
.fascia h2{font-size:clamp(26px,3.8vw,42px); line-height:1.05; max-width:24ch}
.fascia p{color:rgba(255,255,255,.86); max-width:44ch; margin-top:8px}
.fascia .bottone{background:#fff; color:var(--rosso)}
.fascia .bottone:hover{background:var(--nero); color:#fff}

/* ---------- sponsor ---------- */
.sponsor{display:flex; flex-wrap:wrap; align-items:center; gap:14px}
.sponsor__casella{
  min-width:132px; height:64px; display:grid; place-items:center; padding:8px 16px;
  background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r);
  font:600 13px/1.2 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase;
  color:var(--inchiostro-tenue); text-align:center;
}
.sponsor__casella--libera{
  background:transparent; border:1.5px dashed var(--linea); color:#A2988A;
  font-size:11.5px; letter-spacing:.16em;
}
.partner{display:flex; align-items:center; gap:16px; padding:18px 20px; background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r)}
.partner b{font-family:Graduate,sans-serif; font-weight:400; font-size:17px}
.partner__logo{width:72px; height:auto; flex:0 0 auto}

/* ---------- pagina squadra ---------- */
.squadra-testa{background:var(--nero); color:#fff; padding-block:clamp(30px,4.4vw,52px)}
.squadra-testa .briciole{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px}
.squadra-testa .briciole a{color:rgba(255,255,255,.62); text-decoration:none}
.squadra-testa .briciole a:hover{color:#fff}
.squadra-testa h1{font-size:clamp(30px,5vw,50px); line-height:1.02}
.squadra-testa .sotto{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.pillola{
  font:600 11.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.3); border-radius:99px; padding:9px 13px; color:#fff;
}
.pillola--rossa{background:var(--rosso); border-color:var(--rosso)}
.scheda{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1px; background:var(--linea); border:1px solid var(--linea); border-radius:var(--r); overflow:hidden}
.scheda>div{background:var(--bianco); padding:18px 20px}
.scheda>.scheda__inizio{background:var(--rosso-tenue)}
.scheda__inizio dd{color:var(--rosso); font-weight:700; font-size:17px}
.scheda dt{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue); margin-bottom:7px}
.scheda dd{margin:0; font-size:16px; overflow-wrap:anywhere}
.scheda dd.scheda__nota{margin-top:8px; font-size:13px; line-height:1.45; color:var(--inchiostro-tenue)}
.scheda dt > svg{width:14px; height:14px; color:var(--rosso); vertical-align:-2px; margin-right:7px}
/* quiz sul regolamento */
.quiz-scelta{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 4px}
.quiz-scelta__b{font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--inchiostro); background:var(--bianco); border:1px solid var(--linea); border-radius:99px; padding:9px 15px; cursor:pointer; transition:color .15s ease, border-color .15s ease, background .15s ease}
.quiz-scelta__b:hover{border-color:var(--rosso); color:var(--rosso)}
.quiz-scelta__b[aria-pressed="true"]{background:var(--rosso); border-color:var(--rosso); color:#fff}
.quiz{border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r); background:var(--bianco); padding:20px 22px; margin-top:16px}
.quiz__prog{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue)}
.quiz__q{font-family:Graduate,sans-serif; font-weight:400; font-size:18px; line-height:1.3; margin:10px 0 16px}
.quiz__opz{display:flex; flex-direction:column; gap:10px}
.quiz__opz-b{text-align:left; padding:12px 15px; border:1px solid var(--linea); border-radius:var(--r); background:var(--carta); font-size:15.5px; color:var(--inchiostro); cursor:pointer; transition:border-color .15s ease, background .15s ease}
.quiz__opz-b:hover:not(:disabled){border-color:var(--rosso); color:var(--rosso)}
.quiz__opz-b:disabled{cursor:default}
.quiz__opz-b--ok{border-color:#1a7f37; background:#e9f6ec; color:#14682d; font-weight:600}
.quiz__opz-b--ko{border-color:var(--rosso); background:var(--rosso-tenue); color:var(--rosso)}
.quiz__fb{margin-top:14px; font-size:15px; line-height:1.55; color:var(--inchiostro-tenue)}
.quiz__fb--ok strong{color:#14682d}
.quiz__fb--ko strong{color:var(--rosso)}
.quiz__next{margin-top:16px}
.quiz__fine{text-align:center; padding:12px 0}
.quiz__punteggio{font-family:Graduate,sans-serif; font-size:44px; line-height:1; color:var(--rosso); margin:0}
.quiz__msg{font-size:17px; margin:10px 0 20px}
/* menu interno di pagina (ancore alle sezioni) */
.indice{display:flex; flex-wrap:wrap; gap:8px}
.indice a{font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--inchiostro); background:var(--bianco); border:1px solid var(--linea); border-radius:99px; padding:9px 14px; text-decoration:none; transition:color .15s ease, border-color .15s ease}
.indice a:hover{border-color:var(--rosso); color:var(--rosso)}
.sezione[id]{scroll-margin-top:90px}
/* valore copiabile in una scheda (IBAN, BIC, ecc.) */
.dd-copia{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.copia{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; padding:5px; background:none; border:1px solid var(--linea); border-radius:6px; color:var(--inchiostro-tenue); cursor:pointer; transition:color .15s ease, border-color .15s ease}
.copia:hover{color:var(--rosso); border-color:var(--rosso)}
.copia__i,.copia__ok{display:inline-flex}
.copia__ok{display:none}
.copia svg{width:15px; height:15px; display:block}
.copia--ok{color:#1a7f37; border-color:#1a7f37}
.copia--ok .copia__i{display:none}
.copia--ok .copia__ok{display:inline-flex}
/* card "Prossime gare" (Biglietti EA7) */
.eventi{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-top:16px}
.evento{background:var(--bianco); border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r); padding:16px 18px; display:flex; flex-direction:column; gap:8px}
.evento__top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.evento__stelle{font-size:13px; letter-spacing:1px; white-space:nowrap}
.evento__t{font-family:Graduate,sans-serif; font-weight:400; font-size:17px; line-height:1.15; margin:2px 0 2px}
.evento__t span{display:block; color:var(--rosso)}
.evento__riga{display:flex; align-items:center; gap:8px; margin:0; font-size:14.5px; color:var(--inchiostro-tenue)}
.evento__riga svg{width:16px; height:16px; flex:0 0 auto; color:var(--rosso)}
.evento__scad{font-weight:600; color:var(--inchiostro)}
.evento .bottone{margin-top:8px; text-align:center}
.evento__nobtn{margin-top:8px; font-size:13px; color:var(--inchiostro-tenue); font-style:italic}
/* calendario: lista compatta di partite (riga cliccabile che si espande nei dettagli) */
.cal-lista{list-style:none; margin:14px 0 0; padding:0; border:1px solid var(--linea); border-radius:var(--r); overflow:hidden; background:var(--bianco)}
.cal-lista>li+li{border-top:1px solid var(--linea)}
.cal-match>summary{display:grid; grid-template-columns:minmax(88px,auto) 1fr auto auto auto; align-items:center; gap:12px; padding:11px 14px; cursor:pointer; list-style:none}
.cal-match>summary::-webkit-details-marker{display:none}
.cal-match>summary:hover{background:var(--linea-tenue)}
.cal-data{font-size:13px; color:var(--inchiostro-tenue); white-space:nowrap; font-variant-numeric:tabular-nums}
.cal-sfida{min-width:0; font-size:15px; line-height:1.3}
.cal-team.noi{font-weight:700}
.cal-vs{color:var(--inchiostro-tenue); margin:0 7px}
.cal-ris{font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:16px; white-space:nowrap; font-variant-numeric:tabular-nums; text-align:right}
.cal-tag{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--rosso); white-space:nowrap}
.cal-chev{display:flex; color:var(--inchiostro-tenue); transition:transform .15s}
.cal-match[open] .cal-chev{transform:rotate(180deg)}
.cal-addcell{display:flex; justify-content:center; min-width:20px}
.cal-add{display:flex; color:var(--inchiostro-tenue); padding:2px; border-radius:6px}
.cal-add:hover{color:var(--rosso); background:var(--linea-tenue)}
.cal-dett{padding:2px 14px 12px; font-size:14px; color:var(--inchiostro-tenue)}
.cal-dett a{color:inherit; text-decoration:underline}
.cal-match--prossima>summary{background:var(--rosso-tenue); box-shadow:inset 4px 0 0 var(--rosso)}
.cal-match--passata{opacity:.5}
.cal-match--passata:hover{opacity:1}
.cal-sep{padding:8px 14px; font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--inchiostro-tenue); background:var(--linea-tenue)}
.partite__coda{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
/* colonna "aggiungi a Google Calendar" nella tabella allenamenti + hint sotto */
.orari-add{width:1%; text-align:center; white-space:nowrap}
.orari-add .cal-add{display:inline-flex}
.cal-hint{display:flex; align-items:center; gap:7px; margin:10px 0 0; font-size:13.5px; color:var(--inchiostro-tenue)}
.cal-hint svg{width:16px; height:16px; flex:0 0 auto; color:var(--rosso)}
/* feedback "sto caricando" sui pulsanti che scaricano dal foglio */
.is-loading{cursor:progress; pointer-events:none; opacity:.85}
.spinner{display:inline-block; width:14px; height:14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:spin .7s linear infinite; margin-right:8px; vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
/* box "Come compilare il foglio" (admin calendario) */
.nota-doc__t{font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:17px; letter-spacing:.02em; color:var(--inchiostro); margin:0}
.nota-doc__sub{margin:10px 0 6px; font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--inchiostro-tenue)}
.nota-doc__code{display:block; background:var(--linea-tenue); border:1px solid var(--linea); border-radius:6px; padding:9px 11px; font-size:13px; line-height:1.6; color:var(--inchiostro)}
@media (max-width:560px){
  .cal-match>summary{grid-template-columns:1fr auto auto auto; gap:6px 10px}
  .cal-data{grid-column:1 / -1; order:-1; font-size:12px}
  .cal-sfida{font-size:14px}
}
/* pagina calendario: raggruppamento per giorno */
.cal-giorno{margin-top:26px}
.cal-giorno[hidden]{display:none}
.cal-giorno__t{font-family:"Barlow Condensed",sans-serif; font-weight:600; font-size:20px; letter-spacing:.02em; color:var(--inchiostro); padding-bottom:6px; border-bottom:2px solid var(--linea); margin:0}
/* admin: gestione eventi EA7 */
.scegli-cal{display:block; margin:18px 0; font:600 13px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.04em; color:var(--inchiostro-tenue)}
.scegli-cal select{display:block; margin-top:8px; width:100%; padding:10px 12px; border:1px solid var(--linea); border-radius:var(--r); font-size:15px; background:var(--bianco)}
.cal-riga{display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin:18px 0}
.cal-riga .scegli-cal{margin:0; flex:1 1 320px}
.cal-riga .cal-aggiorna{margin:0; flex:0 0 auto; white-space:nowrap}
.stelle-radio{border:1px solid var(--linea); border-radius:var(--r); padding:12px 14px; margin:4px 0}
.stelle-radio legend{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue); padding:0 6px}
.stella-op{display:inline-flex; align-items:center; gap:6px; margin:4px 16px 4px 0; cursor:pointer}
.stella-op span{color:var(--inchiostro-tenue); font-variant-numeric:tabular-nums}
.lista-eventi{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:1px; background:var(--linea); border:1px solid var(--linea); border-radius:var(--r); overflow:hidden}
.lista-eventi li{display:flex; align-items:center; gap:14px; justify-content:space-between; background:var(--bianco); padding:13px 16px}
.lista-eventi__txt{display:flex; flex-direction:column; gap:2px}
.lista-eventi__txt b{font-size:15.5px}
.lista-eventi__txt span{font-size:13px; color:var(--inchiostro-tenue)}
.scheda dd .mappa-dd{color:inherit; text-decoration:none}
.scheda dd .mappa-dd:hover{color:var(--rosso)}
.scheda dd a{font-size:13.5px; line-height:1.35}
.orari{width:100%; border-collapse:collapse; font-size:16px}
.orari th,.orari td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--linea)}
.orari thead th{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue); border-bottom:2px solid var(--inchiostro)}
.orari td:first-child{font-weight:600}
.orari td{font-variant-numeric:tabular-nums}
.scorri{overflow-x:auto}
/* tabelle su schermi stretti: più compatte, orario su una riga, colonna Annate nascosta */
@media (max-width:560px){
  .orari{font-size:14px}
  .orari th,.orari td{padding:10px 9px}
  .orari td:first-child{white-space:nowrap}
  .orari--full th:nth-child(3),.orari--full td:nth-child(3){display:none}
}
.due-colonne{display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(24px,4vw,48px); align-items:start}
/* blocchi impilati con divisore (colonna di lettura) */
.blocco + .blocco{margin-top:clamp(24px,3.4vw,34px); border-top:1px solid var(--linea); padding-top:clamp(24px,3.4vw,34px)}
/* box documenti a fianco */
.aside-doc{background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r); padding:18px 20px; position:sticky; top:88px}
.aside-doc .etichetta{display:block; margin-bottom:8px}
.aside-doc h2{margin:0 0 14px}
.aside-doc .moduli-btn{flex-direction:column; gap:10px; margin-top:0}
.aside-doc .btn-doc{width:100%; justify-content:flex-start}

/* ---------- piede ---------- */
.piede{background:var(--nero); color:#CFC9C1; margin-top:clamp(40px,6vw,72px)}
.sponsor-strip{background:var(--bianco); padding:22px 0}
.piede .sponsor-strip h4{color:var(--inchiostro-tenue); font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.2em; text-transform:uppercase; text-align:center; margin:0 0 16px}
/* .piede in testa: batte per specificità .piede ul{flex-direction:column} e .piede img{width:120px} */
.piede .sponsor-loghi{list-style:none; margin:0; padding:0; display:flex; flex-flow:row wrap; align-items:center; justify-content:center; gap:16px 30px}
.piede .sponsor-loghi a{display:flex; align-items:center; justify-content:center; height:52px}
.piede .sponsor-loghi img{width:auto; height:auto; max-height:52px; max-width:150px; margin:0; object-fit:contain; transition:transform .16s ease}
.piede .sponsor-loghi a:hover img{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.piede .sponsor-loghi a:hover img{transform:none}}
.piede__griglia{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; padding-block:clamp(34px,4.6vw,54px)}
.piede img{width:120px; margin-bottom:16px}
.piede h4{color:#fff; font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.18em; text-transform:uppercase; margin-bottom:13px}
.piede ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:15px}
.piede a{color:#CFC9C1; text-decoration:none}
.piede a:hover{color:#fff; text-decoration:underline}
.piede .dati{font-size:14px; line-height:1.6; color:#8F8880}
.social{display:flex; gap:12px; margin-top:18px}
.social a{color:#CFC9C1; display:inline-flex; transition:color .16s ease}
.social a:hover{color:#fff; text-decoration:none}
.social svg{width:22px; height:22px; display:block}
.piede--admin .piede__coda{border-top:0}
.piede__coda{border-top:1px solid #2A2724; padding-block:18px; font-size:13.5px; color:#8F8880; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

/* ---------- adattamento ---------- */
@media (max-width:980px){
  .apertura__griglia{grid-template-columns:1fr}
  .apertura__marchio{justify-content:flex-start; order:-1}
  .apertura__marchio img{width:clamp(140px, 34vw, 210px)}
  .apertura__lettering{bottom:auto; top:8%; opacity:.14}
  .azioni{grid-template-columns:1fr}
  .news{grid-template-columns:1fr}
  .due-colonne{grid-template-columns:1fr}
  .piede__griglia{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16.5px}
  .menu{display:none}
  .menu--aperto{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:flex-start; gap:0; background:var(--nero); border-bottom:3px solid var(--rosso); padding:8px var(--gutter) 18px}
  .menu--aperto a{padding:14px 0; width:100%; border-bottom:1px solid #2A2724}
  .menu--aperto .bottone{margin-top:12px; width:100%}
  .menu__toggle{display:block}
  .testata__ea7{display:none}
  .testata__social{display:none}
  .menu--aperto .menu__social{display:flex; gap:20px; padding:16px 0 4px; width:100%; border-bottom:0}
  .menu--aperto .menu__social a{color:#CFC9C1; padding:0; width:auto; border-bottom:0}
  .menu--aperto .menu__social a:hover{color:#fff}
  .menu--aperto .menu__social svg{width:24px; height:24px; display:block}
  .testata__int{position:relative}
  .piede__griglia{grid-template-columns:1fr}
}

/* ---------- ingresso ---------- */
@media (prefers-reduced-motion:no-preference){
  @keyframes sali{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}
  @keyframes entra-stemma{from{opacity:0; transform:scale(.94) rotate(-4deg)} to{opacity:1; transform:none}}
  .apertura__testo>*{animation:sali .55s cubic-bezier(.2,.7,.3,1) backwards}
  .apertura__testo>*:nth-child(1){animation-delay:.04s}
  .apertura__testo>*:nth-child(2){animation-delay:.11s}
  .apertura__testo>*:nth-child(3){animation-delay:.19s}
  .apertura__testo>*:nth-child(4){animation-delay:.27s}
  .apertura__marchio img{animation:entra-stemma .7s cubic-bezier(.2,.7,.3,1) .1s backwards}
}

/* ---------- elementi introdotti con i dati di stagione ---------- */
.squadra .quando{
  display:block; margin-top:9px; padding-top:9px; border-top:1px solid var(--linea-tenue);
  font:500 13.5px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.07em;
  text-transform:uppercase; color:var(--inchiostro-tenue);
}
.squadra a:hover .quando{color:rgba(255,255,255,.9); border-top-color:rgba(255,255,255,.28)}
.squadra__sospesa{
  display:inline-block; margin-left:8px; vertical-align:middle;
  font:600 9.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.14em; text-transform:uppercase;
  color:#8A8177; border:1px solid var(--linea); border-radius:99px; padding:4px 7px;
}

.orari td sup{color:var(--rosso); font-weight:600; margin-left:2px}
.orari td .tbd{font-size:14.5px}
.orari a{text-decoration:none; font-weight:600; color:var(--inchiostro)}
.orari a:hover{color:var(--rosso); text-decoration:underline}
.orari .prezzo{font-family:Graduate,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap}
.orari tbody tr:hover{background:var(--rosso-tenue)}

.legenda{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:10px 22px;
  margin:22px 0 0; padding:18px 20px; background:var(--bianco);
  border:1px solid var(--linea); border-left:4px solid var(--rosso); border-radius:var(--r);
}
.legenda>div{display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:baseline}
.legenda dt{font-weight:700; color:var(--rosso); font-size:15px}
.legenda dd{margin:0; font-size:14.5px; color:var(--inchiostro-tenue)}

.scheda--verticale{grid-template-columns:1fr}
/* passi numerati (es. "Come concludere l'iscrizione") */
.passi{list-style:none; counter-reset:passo; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:22px; max-width:660px}
.passi>li{counter-increment:passo; position:relative; padding-left:56px}
.passi>li::before{content:counter(passo); position:absolute; left:0; top:0; width:36px; height:36px; display:grid; place-items:center; background:var(--rosso); color:#fff; border-radius:50%; font:400 17px/1 Graduate,sans-serif}
.passi>li>b{display:block; font-family:Graduate,sans-serif; font-weight:400; font-size:18px; line-height:1.15; padding-top:7px; margin-bottom:5px}
.passi>li>.testo{font-size:15.5px}
.passi .bottone{margin-top:12px}
/* iconcine inline nel testo (scarpa, manina "batti il cinque") */
.icona-testo{color:var(--rosso); vertical-align:-5px; margin-left:3px}
.azione--statica{cursor:default; border-left-color:var(--nero)}
.azione--statica:hover{transform:none; box-shadow:none; border-color:var(--linea); border-left-color:var(--nero)}
.azioni--due{grid-template-columns:1fr 1fr}
.azioni--due .azione span{display:block; margin-top:4px}

.elenco{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; font-size:15.5px}
.elenco li{padding-left:16px; position:relative; color:var(--inchiostro-tenue)}
.elenco li::before{content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; background:var(--rosso); border-radius:1px}

.avvertenza{
  margin-top:14px; padding:12px 14px; background:#FFF8E1; border:1px solid #E9D9A8;
  border-radius:var(--r); font-size:14px; color:#6B5A22;
}

@media (max-width:720px){
  .azioni--due{grid-template-columns:1fr}
}

/* ---------- allenamenti condivisi e note di gruppo ---------- */
.incomune{
  display:block; margin-top:3px; font:500 12.5px/1.35 "Barlow Condensed",sans-serif;
  letter-spacing:.05em; color:var(--rosso);
}
.orari tbody tr:hover .incomune{color:var(--rosso-scuro)}
.nota-gruppo{
  margin:14px 0 0; padding:13px 16px; background:var(--rosso-tenue);
  border-left:4px solid var(--rosso); border-radius:var(--r);
  font-size:15px; color:var(--inchiostro);
}

/* ---------- sottomenu di sezione ---------- */
.sottomenu{
  position:sticky; top:70px; z-index:40; background:var(--carta);
  border-bottom:1px solid var(--linea); overflow-x:auto;
}
.sottomenu{display:flex; gap:4px; padding:0 var(--gutter); max-width:var(--col); margin-inline:auto}
.sottomenu a{
  flex:0 0 auto; padding:15px 14px; text-decoration:none;
  font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.12em; text-transform:uppercase;
  color:var(--inchiostro-tenue); border-bottom:2px solid transparent; white-space:nowrap;
}
.sottomenu a:hover{color:var(--rosso)}
.sottomenu a[aria-current="page"]{color:var(--rosso); border-bottom-color:var(--rosso)}

/* ---------- linea del tempo (storia) ---------- */
.linea-tempo{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0}
.tappa{display:grid; grid-template-columns:150px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--linea); position:relative}
.tappa:last-child{border-bottom:0}
.tappa__anno{font-family:Graduate,sans-serif; font-size:22px; color:var(--rosso); font-variant-numeric:tabular-nums}
.tappa b{display:block; font-family:Graduate,sans-serif; font-size:17px; margin-bottom:6px}

/* ---------- staff tecnico ---------- */
.staff{display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:12px}
.staff-card{background:var(--bianco); border:1px solid var(--linea); border-top:3px solid var(--rosso); border-radius:var(--r); padding:18px 20px}
.staff-card[hidden]{display:none}
/* certificazione FIP Minibasket (home, chi siamo, footer) */
.cert{display:flex; gap:26px; align-items:center; flex-wrap:wrap; margin-top:8px}
.cert__badge{flex:0 0 auto; width:140px; height:auto; display:block}
.cert__txt{flex:1 1 300px; min-width:0}
.cert__txt>.etichetta{display:block; margin-bottom:6px}
.cert__txt .testo{max-width:60ch}
@media (max-width:560px){.cert{gap:16px}.cert__badge{width:100px}}
.piede__marchio{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:14px}
.piede__cert{display:inline-block; background:#fff; padding:5px; border-radius:9px; line-height:0}
.piede__cert img{width:64px; height:auto; display:block}
.staff-card__nome{font-family:Graduate,sans-serif; font-size:19px}
.staff-card__ruolo{font:600 11px/1.3 "Barlow Condensed",sans-serif; letter-spacing:.13em; text-transform:uppercase; color:var(--inchiostro-tenue); margin:5px 0 12px}
.staff-card__mail{display:inline-flex; margin-top:12px; color:var(--rosso); transition:transform .16s ease}
.staff-card__mail:hover{transform:translateY(-1px)}
.staff-card__mail svg{width:20px; height:20px; display:block}
.mini-tags{display:flex; flex-wrap:wrap; gap:6px}
.mini-tag{font:500 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.05em; text-decoration:none; color:var(--inchiostro); background:var(--linea-tenue); border-radius:99px; padding:6px 10px}
.mini-tag:hover{background:var(--rosso); color:#fff}

/* ---------- galleria ---------- */
.galleria{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.tessera{aspect-ratio:4/3; display:grid; place-items:center; border-radius:var(--r);
  background:linear-gradient(115deg, transparent 46%, rgba(199,20,20,.85) 46% 52%, transparent 52%), linear-gradient(160deg,#1F1B18,#111)}
.tessera span{font:600 10px/1 "Barlow Condensed",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.4)}

@media (max-width:720px){
  .sottomenu{top:58px}
  .tappa{grid-template-columns:1fr; gap:6px}
  .galleria{grid-template-columns:1fr 1fr}
}

/* ---------- ruoli staff ---------- */
.staff-card__ruoli{list-style:none; margin:6px 0 12px; padding:0; display:flex; flex-direction:column; gap:3px}
.staff-card__ruoli li{font:600 13px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.04em; color:var(--inchiostro-tenue)}

/* ---------- modulo area riservata (aggiorna.php) ---------- */
.modulo{display:flex; flex-direction:column; gap:16px; max-width:100%; margin-top:20px}
.modulo input[type=password]{max-width:360px}
.modulo label{font:600 13px/1.5 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--inchiostro-tenue)}
.modulo input[type=password], .modulo input[type=file],
.modulo input[type=text], .modulo input[type=date]{
  width:100%; margin-top:6px; padding:11px 12px; border:1px solid var(--linea);
  border-radius:var(--r); background:var(--bianco); color:var(--inchiostro); font:400 16px/1.4 Barlow,sans-serif;
}
.modulo input[type=date]{max-width:220px}
.modulo .bottone{align-self:flex-start; margin-top:6px}
.ok-box{background:#E9F7EC; border:1px solid #B7E0C0; border-left:4px solid #2E9E4F; border-radius:var(--r); padding:14px 16px; color:#1F6B37; margin-bottom:20px}
.avvertenza ul{margin:10px 0 6px; padding-left:20px}
.avvertenza li{margin-bottom:5px}

/* ---------- link palestra -> Google Maps ---------- */
.mappa{color:inherit; text-decoration:none; border-bottom:1px dashed var(--linea); white-space:nowrap}
.mappa:hover{color:var(--rosso); border-bottom-color:var(--rosso)}
.orari .mappa{border-bottom-color:color-mix(in srgb, var(--inchiostro) 20%, transparent)}
.piede .mappa{color:#CFC9C1; border-bottom-color:#2A2724}
.piede .mappa:hover{color:#fff; border-bottom-color:#fff}
.scheda .mappa{border-bottom:0; color:var(--rosso); font-weight:600}

/* ---------- foto notizia ---------- */
.notizia__img{overflow:hidden}
.notizia__img img{width:100%; height:100%; object-fit:cover; display:block}

/* ---------- redazione news ---------- */
.modulo textarea, .modulo select{
  width:100%; margin-top:6px; padding:11px 12px; border:1px solid var(--linea);
  border-radius:var(--r); background:var(--bianco); color:var(--inchiostro);
  font:400 16px/1.5 Barlow,sans-serif;
}
.modulo textarea{resize:vertical; min-height:150px}
.lista-redazione{list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:8px}
.lista-redazione li{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r)}
.lista-redazione b{font-family:Graduate,sans-serif; font-weight:400; font-size:15px; display:block}
.lista-redazione span{font:400 12.5px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.06em; color:var(--inchiostro-tenue); text-transform:uppercase}
.lista-foto{list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:8px}
.lista-foto li{display:flex; align-items:center; gap:14px; padding:10px 12px; background:var(--bianco); border:1px solid var(--linea); border-radius:var(--r)}
.lista-foto[data-ordina-sponsor] li{cursor:grab}
.lista-foto[data-ordina-sponsor] li:active{cursor:grabbing}
.lista-foto li.trascino{opacity:.4; border-color:var(--rosso)}
.drag-maniglia{flex:0 0 auto; display:inline-flex; align-items:center; color:var(--inchiostro-tenue)}
.drag-maniglia svg{width:20px; height:20px; display:block}
.lista-foto img{width:88px; height:56px; object-fit:cover; border-radius:6px; flex:0 0 auto; background:#eee}
.lista-foto__nome{flex:1; min-width:0}
.lista-foto__nome b{font-family:Graduate,sans-serif; font-weight:400; font-size:15px; display:block}
.lista-foto__nome span{font:400 12.5px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.06em; color:var(--inchiostro-tenue)}
.azioni-news{display:flex; align-items:center; gap:14px; flex:0 0 auto}
.azioni-news a{font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--inchiostro-tenue); text-decoration:none}
.azioni-news a:hover{color:var(--rosso)}
.azioni-news form{margin:0}
.azioni-news .elimina{background:none; border:0; cursor:pointer; font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#B23}
.azioni-news .elimina:hover{color:var(--rosso); text-decoration:underline}

/* ---------- segnaposto categoria (news senza foto) ---------- */
.notizia__img.segnaposto{position:relative; display:grid; place-items:center; overflow:hidden}
.notizia__img.segnaposto::before{   /* palla stilizzata, sfumata */
  content:""; position:absolute; width:130px; height:130px; right:-34px; bottom:-42px;
  border:16px solid rgba(255,255,255,.10); border-radius:50%;
}
.notizia__img.segnaposto::after{    /* riga campo */
  content:""; position:absolute; left:0; right:0; bottom:26%; height:2px; background:rgba(255,255,255,.14);
}
.notizia__img .segnaposto__cat{
  position:relative; z-index:1; padding:7px 15px; max-width:90%; text-align:center;
  font:500 clamp(13px,1.5vw,16px)/1.1 "Barlow Condensed", sans-serif;
  letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.45); border-radius:2px;
  background:transparent;
}
/* un colore per categoria */
.cat-news{background:linear-gradient(140deg,#D2202A,#8E0F14)}
.cat-eventi{background:linear-gradient(140deg,#E4562A,#A5151E)}
.cat-avvisi{background:linear-gradient(140deg,#D08A2C,#8A5410)}
.cat-sponsor{background:linear-gradient(140deg,#3A3430,#141210)}
.cat-segreteria{background:linear-gradient(140deg,#8C0F14,#4E070A)}
.cat-generica{background:linear-gradient(140deg,#2A2622,#111)}

/* ── Kit e risorse (area riservata) ─────────────────────────────────────── */
.ris-h{display:flex; align-items:center; gap:10px; margin-top:44px}
.ris-h__ic{display:inline-flex; color:var(--rosso)}
.ris-h__ic svg{width:22px; height:22px}

/* download logo */
.ris-griglia{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; margin-top:8px}
.ris-card{display:flex; flex-direction:column; text-decoration:none; color:var(--inchiostro);
  border:1px solid var(--linea); border-radius:var(--r); background:var(--bianco); overflow:hidden; transition:border-color .15s ease, box-shadow .15s ease}
.ris-card:hover{border-color:var(--rosso); box-shadow:var(--ombra)}
.ris-card__prev{display:flex; align-items:center; justify-content:center; height:120px;
  background:repeating-conic-gradient(#F3EEE6 0% 25%, #FBF8F3 0% 50%) 0 0/22px 22px; padding:14px}
.ris-card__prev img{max-height:92px; max-width:92px; object-fit:contain}
.ris-card>b{font-family:Graduate,sans-serif; font-weight:400; font-size:15px; padding:12px 14px 2px}
.ris-card__d{font-size:12.5px; color:var(--inchiostro-tenue); padding:0 14px 12px; line-height:1.4; flex:1}
.ris-card__dl{display:flex; align-items:center; gap:7px; padding:10px 14px;
  font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.12em; text-transform:uppercase;
  color:var(--rosso); border-top:1px solid var(--linea-tenue)}
.ris-card__dl svg{width:15px; height:15px}

/* colori */
.ris-colori{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; margin-top:8px}
.ris-colore{position:relative; text-align:left; cursor:pointer; border:1px solid var(--linea);
  border-radius:var(--r); background:var(--bianco); padding:0 0 12px; overflow:hidden; transition:border-color .15s ease}
.ris-colore:hover{border-color:var(--rosso)}
.ris-colore__sw{display:block; height:64px}
.ris-colore--bordo .ris-colore__sw{box-shadow:inset 0 0 0 1px var(--linea)}
.ris-colore>b{display:block; font-family:Graduate,sans-serif; font-weight:400; font-size:14px; padding:11px 13px 1px}
.ris-colore__hex{display:block; font:600 12.5px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em;
  color:var(--inchiostro-tenue); padding:0 13px; font-variant-numeric:tabular-nums}
.ris-colore__d{display:block; font-size:12px; color:var(--inchiostro-tenue); padding:4px 13px 0}
.ris-colore::after{content:"Copiato ✓"; position:absolute; top:8px; right:8px;
  font:600 10px/1 "Barlow Condensed",sans-serif; letter-spacing:.1em; text-transform:uppercase;
  background:var(--rosso); color:#fff; padding:5px 8px; border-radius:99px; opacity:0; transition:opacity .15s ease}
.ris-colore--ok::after{opacity:1}

/* font */
.ris-font{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:8px}
.ris-font__card{border:1px solid var(--linea); border-radius:var(--r); background:var(--bianco); padding:18px}
.ris-font__demo{display:block; font-size:38px; line-height:1; color:var(--inchiostro); margin-bottom:10px}
.ris-font__card>b{display:block; font-family:Graduate,sans-serif; font-weight:400; font-size:15px; margin-bottom:2px}
.ris-font__card .btn-doc{margin-top:12px}

/* generatore locandine */
.loc{display:grid; grid-template-columns:1fr 340px; gap:26px; margin-top:14px; align-items:start}
.loc__form{display:flex; flex-direction:column; gap:14px}
.loc__gruppo{display:flex; flex-direction:column; gap:7px}
.loc__lbl{font:600 11px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--inchiostro-tenue)}
.loc__scelte{display:flex; gap:8px; flex-wrap:wrap}
.loc__scelta{font:600 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.08em; text-transform:uppercase;
  color:var(--inchiostro); background:var(--bianco); border:1px solid var(--linea); border-radius:99px;
  padding:9px 15px; cursor:pointer; transition:color .15s ease, border-color .15s ease, background .15s ease}
.loc__scelta[aria-pressed="true"]{background:var(--rosso); border-color:var(--rosso); color:#fff}
.loc [hidden]{display:none !important}   /* [hidden] deve vincere su .loc__campo/.loc__due (display flex/grid) */
.loc__campo{display:flex; flex-direction:column; gap:5px; font:600 13px/1.3 Barlow,sans-serif; color:var(--inchiostro)}
.loc__campo input, .loc__campo select{font:400 15px/1.4 Barlow,sans-serif; padding:9px 11px;
  border:1px solid var(--linea); border-radius:var(--r); background:var(--bianco); color:var(--inchiostro); width:100%}
.loc__campo input:focus, .loc__campo select:focus{outline:none; border-color:var(--rosso)}
.loc__due{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.loc__preview{position:sticky; top:20px; display:flex; flex-direction:column; gap:12px}
.loc__tela{border:1px solid var(--linea); border-radius:var(--r); overflow:hidden; background:var(--scuro,#1A1713); line-height:0}
.loc__tela canvas{display:block; width:100%; height:auto}
.loc__hint{font-size:12.5px; color:var(--inchiostro-tenue); margin:0}

@media (max-width:720px){
  .loc{grid-template-columns:1fr}
  .loc__preview{position:static; order:-1; max-width:360px; margin:0 auto; width:100%}
}

/* Zona "Strumenti e risorse" nell'hub admin: pannello distinto dalle pagine di gestione */
.strumenti{margin-top:38px; padding:22px 22px 24px; background:var(--linea-tenue);
  border:1px solid var(--linea); border-radius:calc(var(--r) + 2px)}
.strumenti__t{font-family:Graduate,sans-serif; font-weight:400; font-size:20px; margin:0}
.strumenti__d{font-size:13.5px; color:var(--inchiostro-tenue); margin:5px 0 16px}
.strumenti .azioni{margin-top:0}
.strumenti .azione{background:var(--bianco)}

/* Hub admin: gruppi di box con titolo (organizzati per attività) */
.admin-gruppo{margin-top:32px}
.admin-gruppo:first-of-type{margin-top:22px}
.admin-gruppo__t{display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none;
  margin:0; padding:12px 16px; border-radius:var(--r); color:#fff;
  font:700 14px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; text-transform:uppercase;
  box-shadow:var(--ombra); user-select:none}
.admin-gruppo__t::-webkit-details-marker{display:none}
.admin-gruppo__t::after{content:""; width:9px; height:9px; margin-left:auto; margin-right:3px;
  border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg);
  transition:transform .18s ease}                                   /* aperto = freccia giù */
.admin-gruppo:not([open]) .admin-gruppo__t::after{transform:rotate(-45deg)} /* chiuso = freccia destra */
.admin-gruppo[open] .admin-gruppo__t{border-bottom-left-radius:0; border-bottom-right-radius:0}
.admin-gruppo .azioni{margin-top:14px}
