/* ══════════════════════════════════════════════════════════════════════
   COLORI E STILE
   Avanzato: qui sotto puoi cambiare i colori del sito in un punto solo.
═══════════════════════════════════════════════════════════════════════ */
:root{
  --ardesia:    #596770;   /* grigio del logo (testi e struttura) */
  --ardesia-700:#46535b;
  --ardesia-900:#2c343a;   /* footer scuro */
  --brace:      #e65206;   /* arancione del logo (accenti, pulsanti) */
  --brace-700:  #c4460a;   /* arancione più scuro (passaggio del mouse) */
  --calce:      #fbfbfa;   /* sfondo chiaro principale */
  --nebbia:     #eef2f4;   /* sfondo sezioni alternate / schede */
  --bianco:     #ffffff;
  --testo:      #3d474d;   /* colore del testo dei paragrafi */
  --testo-soft: #6b757b;   /* testo secondario */
  --linea:      rgba(89,103,112,.14);  /* linee sottili / griglia */
  --ombra:      0 1px 2px rgba(44,52,58,.05), 0 12px 28px -14px rgba(44,52,58,.22);
  --raggio:     16px;
  --max:        1140px;
  --fluido:     clamp(1.15rem, 4vw, 2.2rem); /* margini laterali */
}

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

body{
  font-family:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  color:var(--testo);
  background:var(--calce);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--fluido)}

/* ---- Stella segnavia (il marchio ricorrente) ---- */
.star{display:inline-block;width:1em;height:1em;fill:var(--brace);vertical-align:-.12em;flex:none}

/* ---- Etichette / occhielli ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brace);
}
.eyebrow .star{width:.95em;height:.95em}

/* ---- Titoli ---- */
h1,h2,h3{color:var(--ardesia);line-height:1.08;letter-spacing:-.015em;font-weight:800}
h2.titolo{font-size:clamp(1.85rem,3.6vw,2.6rem);margin:.5rem 0 1rem}
.lead{font-size:clamp(1.1rem,2.2vw,1.28rem);color:var(--ardesia-700);max-width:62ch}

/* ---- Pulsanti ---- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;
  padding:.85em 1.5em;border-radius:999px;border:2px solid transparent;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
}
.btn-primario{background:var(--brace);color:#fff;box-shadow:0 10px 22px -10px rgba(230,82,6,.7)}
.btn-primario:hover{background:var(--brace-700);transform:translateY(-2px)}
.btn-secondario{background:transparent;color:var(--ardesia);border-color:var(--linea)}
.btn-secondario:hover{border-color:var(--ardesia);transform:translateY(-2px)}
@media (prefers-reduced-motion: reduce){.btn:hover{transform:none}}

/* ════════════ HEADER / NAVIGAZIONE ════════════ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,251,250,.88);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--linea);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:38px;width:auto}
.nav-links{display:flex;align-items:center;gap:1.6rem;list-style:none}
.nav-links a{text-decoration:none;color:var(--ardesia);font-weight:600;font-size:.97rem;position:relative;padding:.2rem 0}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--brace);transition:right .25s ease}
.nav-links a:not(.btn):hover::after{right:0}
.nav-links .btn{padding:.55em 1.1em;font-size:.95rem}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem;color:var(--ardesia)}
.nav-toggle svg{width:28px;height:28px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round}

/* ---- Avviso chiusura estiva (banner in header — index.html) ---- */
.avviso-ferie-bar{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5em;
  flex:1 1 auto;
  font-size:.85rem;font-weight:600;color:var(--ardesia-700);
  text-align:center;
}
.avviso-ferie-bar .star{width:.95em;height:.95em}
.avviso-ferie-bar a{color:var(--brace);font-weight:700;text-decoration:none;white-space:nowrap}
.avviso-ferie-bar a:hover{text-decoration:underline}

@media (max-width:860px){
  .nav{flex-wrap:wrap}
  .nav-toggle{display:block}
  .brand{order:1}
  .nav-toggle{order:2}
  .avviso-ferie-bar{order:3;flex:1 1 100%;font-size:.8rem;padding-top:.3rem}
  .nav-links{
    order:4;
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bianco);border-bottom:1px solid var(--linea);
    padding:.5rem var(--fluido) 1.1rem;
    box-shadow:var(--ombra);
    display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:.85rem 0;border-bottom:1px solid var(--linea)}
  .nav-links a:not(.btn)::after{display:none}
  .nav-links .btn{margin-top:.8rem;justify-content:center}
}

/* ════════════ HERO ════════════ */
.hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6.5rem)}
/* trama "graticolato": griglia sottile che richiama gli assi romani e le mappe */
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(var(--linea) 1px, transparent 1px),
    linear-gradient(90deg, var(--linea) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 100% at 70% 0%, #000 35%, transparent 78%);
          mask-image:radial-gradient(120% 100% at 70% 0%, #000 35%, transparent 78%);
}
/* grande stella filigrana */
.hero-star{position:absolute;z-index:0;right:-4%;top:6%;width:min(46vw,520px);opacity:.06;color:var(--ardesia)}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.5rem);max-width:16ch;margin:.7rem 0 1.1rem}
.hero h1 .accent{color:var(--brace)}
.hero .lead{margin-bottom:1.9rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.4rem}
.trust{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;font-size:.9rem;color:var(--testo-soft)}
.trust b{color:var(--ardesia)}
.trust .dot{width:5px;height:5px;border-radius:50%;background:var(--brace);display:inline-block;margin-right:.9rem}

/* ════════════ SEZIONI ════════════ */
section{padding-block:clamp(3.5rem,7vw,5.8rem)}
.bg-nebbia{background:var(--nebbia)}
.sec-head{max-width:64ch;margin-bottom:2.6rem}
.sec-head .lead{margin-top:.4rem}

/* ---- Chi siamo (due colonne) ---- */
.due-col{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(1.5rem,4vw,3.2rem);align-items:start}
.due-col p+p{margin-top:1rem}
.nome-card{
  background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);
  padding:1.7rem;box-shadow:var(--ombra);position:relative;
}
.nome-card .star{width:1.7rem;height:1.7rem;margin-bottom:.6rem}
.nome-card h3{font-size:1.15rem;margin-bottom:.6rem}
.nome-card p{font-size:.98rem;color:var(--testo)}
.partner{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font-size:.82rem;font-weight:600;color:var(--ardesia-700);background:var(--nebbia);border:1px solid var(--linea);border-radius:999px;padding:.35em .9em}
.bg-nebbia .chip{background:var(--bianco)}

/* ---- A chi è rivolto (elenco con stelle) ---- */
.rivolto{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem 2rem;margin-top:.5rem}
.rivolto li{list-style:none;display:flex;gap:.85rem;align-items:flex-start;padding:.4rem 0}
.rivolto .star{margin-top:.28em;width:1.05rem;height:1.05rem}

/* ---- Benefici (schede) ---- */
.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.card{
  background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);
  padding:1.6rem;box-shadow:var(--ombra);
  transition:transform .18s ease, box-shadow .18s ease;
}
.bg-nebbia .card{background:var(--bianco)}
.card:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(44,52,58,.05),0 20px 40px -18px rgba(44,52,58,.32)}
@media (prefers-reduced-motion: reduce){.card:hover{transform:none}}
.card .ico{font-size:1.7rem;line-height:1;margin-bottom:.7rem;display:block}
.card h3{font-size:1.12rem;margin-bottom:.4rem}
.card p{font-size:.97rem}

/* ---- Offerta (due pacchetti) ---- */
.offerte{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;align-items:start}
.pacchetto{
  background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);
  padding:1.9rem;box-shadow:var(--ombra);position:relative;overflow:hidden;
}
.pacchetto.evidenza{border-color:var(--brace);box-shadow:0 1px 2px rgba(44,52,58,.05),0 22px 44px -18px rgba(230,82,6,.4)}
.pacchetto .top-bar{position:absolute;inset:0 0 auto 0;height:5px}
.pacchetto.welcome .top-bar{background:#5aa469}
.pacchetto.stay .top-bar{background:var(--brace)}
.pacchetto .tag{display:inline-flex;align-items:center;gap:.5em;font-weight:800;letter-spacing:.04em;font-size:.95rem;color:var(--ardesia);margin-bottom:.2rem}
.pacchetto .pallino{width:.7em;height:.7em;border-radius:50%;display:inline-block}
.welcome .pallino{background:#5aa469}.stay .pallino{background:var(--brace)}
.pacchetto h3{font-size:1.4rem;margin:.2rem 0 .2rem}
.pacchetto .sotto{font-style:italic;color:var(--testo-soft);margin-bottom:1rem}
.pacchetto p{font-size:.98rem;margin-bottom:1rem}
.prezzi{border-top:1px dashed var(--linea);padding-top:1rem;margin-top:.4rem}
.prezzo-riga{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.35rem 0}
.prezzo-riga .euro{font-weight:800;color:var(--ardesia);white-space:nowrap}
.prezzo-riga .euro s{color:var(--testo-soft);font-weight:600;margin-right:.4em}
.evidenziato{background:#fff4ec;border:1px solid #f6c9ac;border-radius:12px;padding:.7rem .9rem;margin:.4rem 0 1rem;font-weight:600;color:var(--ardesia-700)}
.evidenziato b{color:var(--brace)}
.ponte{text-align:center;font-style:italic;color:var(--testo-soft);margin:.4rem 0}

/* ---- Garanzia ---- */
.garanzia{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem 2rem}
.garanzia .punto{display:flex;gap:1rem;align-items:flex-start}
.garanzia .star{flex:none;width:1.4rem;height:1.4rem;margin-top:.2rem}
.garanzia h3{font-size:1.08rem;margin-bottom:.25rem}
.garanzia p{font-size:.96rem}

/* ---- Contatti ---- */
.contatti{position:relative;overflow:hidden}
.contatti::before{
  content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(90% 120% at 20% 100%,#000 30%,transparent 75%);
          mask-image:radial-gradient(90% 120% at 20% 100%,#000 30%,transparent 75%);
}
.contatti .wrap{position:relative;z-index:1}
.contatti-box{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.contatti-info{display:flex;flex-direction:column;gap:1rem;margin-top:1.4rem}
.contatti-info a,.contatti-info .voce{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--ardesia);font-weight:600;font-size:1.05rem}
.contatti-info a:hover{color:var(--brace)}
.contatti-info .ico-c{width:42px;height:42px;flex:none;border-radius:12px;background:var(--bianco);border:1px solid var(--linea);display:grid;place-items:center;font-size:1.2rem}
.contatti-cta{background:var(--ardesia);color:#fff;border-radius:var(--raggio);padding:2rem;box-shadow:var(--ombra)}
.contatti-cta h3{color:#fff;font-size:1.4rem;margin-bottom:.6rem}
.contatti-cta p{color:rgba(255,255,255,.85);margin-bottom:1.4rem;font-size:1rem}
.contatti-cta .btn-primario{width:100%;justify-content:center}

/* ════════════ FOOTER ════════════ */
.site-footer{background:var(--ardesia-900);color:rgba(255,255,255,.8);padding-block:2.6rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center}
.site-footer .star{width:1.4rem;height:1.4rem}
.site-footer .f-brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.04em;color:#fff;font-size:1.1rem}
.site-footer .f-info{font-size:.9rem;line-height:1.7}
.site-footer a{color:rgba(255,255,255,.9)}

/* ---- Animazione di comparsa (solo se JS attivo) ---- */
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html.js .reveal{opacity:1;transform:none;transition:none}
}

/* ════════════ ADATTAMENTO MOBILE ════════════ */
@media (max-width:820px){
  .due-col,.offerte,.contatti-box{grid-template-columns:1fr}
  .hero-star{opacity:.05;right:-12%}
}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA ALLENAMENTI
═══════════════════════════════════════════════════════════════════════ */
/* --- Hero compatto di pagina interna --- */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(2.8rem,6vw,4.5rem)}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 120% at 85% 0%,#000 30%,transparent 75%);
          mask-image:radial-gradient(120% 120% at 85% 0%,#000 30%,transparent 75%);
}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.3rem);margin:.6rem 0 .9rem}
.page-hero .lead{margin-bottom:.2rem}

/* --- Colori per tipologia (usati nei chip e nelle schede) --- */
.t-teknica{--c:var(--ardesia)}
.t-fit{--c:var(--brace)}
.t-basic{--c:#5aa469}

/* --- Calendario settimanale (schede per giorno) --- */
.settimana{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem}
.day-card{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);overflow:hidden;display:flex;flex-direction:column}
.day-card .day-name{background:var(--ardesia);color:#fff;font-weight:800;letter-spacing:.04em;padding:.7rem 1.1rem;font-size:1rem;text-transform:capitalize}
.day-card .sessioni{padding:.4rem 1.1rem 1rem;display:flex;flex-direction:column}
.sessione{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem;padding:.75rem 0;border-bottom:1px solid var(--linea)}
.sessione:last-child{border-bottom:0}
.sessione .ora{font-weight:800;color:var(--ardesia);font-size:1.05rem;font-variant-numeric:tabular-nums}
.sessione .luogo{flex-basis:100%;color:var(--testo-soft);font-size:.9rem;display:flex;align-items:center;gap:.4rem}
.sessione .luogo::before{content:"📍";font-size:.85em}
.day-card.riposo .sessioni{color:var(--testo-soft);font-style:italic;padding-top:1rem}
.day-card.uscite .day-name{background:var(--brace)}

/* chip della tipologia */
.tipo-chip{display:inline-flex;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--c,var(--ardesia));border-radius:999px;padding:.2em .75em}

/* legenda */
.legenda{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:1.6rem;font-size:.9rem;color:var(--testo-soft)}
.legenda span{display:inline-flex;align-items:center;gap:.5rem}
.legenda .pt{width:.85rem;height:.85rem;border-radius:50%;background:var(--c,var(--ardesia));flex:none}

/* --- Schede tipologie di allenamento --- */
.tipo-card{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);padding:1.7rem;position:relative;overflow:hidden;border-top:4px solid var(--c,var(--ardesia))}
.tipo-card .tipo-chip{margin-bottom:.8rem}
.tipo-card h3{font-size:1.25rem;margin-bottom:.5rem}
.tipo-card p{font-size:.97rem}

/* --- Riquadro neo praticanti --- */
.nota-neo{display:flex;gap:1rem;align-items:flex-start;background:#fff4ec;border:1px solid #f6c9ac;border-radius:var(--raggio);padding:1.2rem 1.4rem;margin-top:1.4rem}
.nota-neo .star{flex:none;width:1.5rem;height:1.5rem;margin-top:.15rem}
.nota-neo p{font-size:.97rem;color:var(--ardesia-700)}
.nota-neo b{color:var(--ardesia)}

/* --- Regole / segreteria --- */
.segreteria{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;background:var(--ardesia);color:#fff;border-radius:var(--raggio);padding:1.2rem 1.5rem;margin-top:1.8rem;box-shadow:var(--ombra)}
.segreteria strong{font-size:1.05rem}
.segreteria a{color:#fff;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;gap:.5rem;background:var(--brace);padding:.55em 1.1em;border-radius:999px;margin-left:auto}
.segreteria a:hover{background:var(--brace-700)}
@media (max-width:560px){.segreteria a{margin-left:0;width:100%;justify-content:center}}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA EVENTI E USCITE
═══════════════════════════════════════════════════════════════════════ */
/* --- Colori delle categorie (riprendono la legenda del calendario) --- */
.cat-mirano{--cat:#d23f7d}   /* eventi a Mirano, aperti a tutti */
.cat-cowalk{--cat:#2f80b5}   /* co-walking con le associazioni del Veneto */
.cat-fuori {--cat:#5aa469}   /* fuoriporta / camminate sociali */
.cat-altri {--cat:#7c878d}   /* altri eventi e collaborazioni */

.cat-chip{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--cat,var(--ardesia));border-radius:999px;padding:.25em .8em}

/* --- Sezione di rilievo: 100 km per Gianca --- */
.highlight{
  background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);
  box-shadow:var(--ombra);overflow:hidden;border-top:5px solid var(--brace);
}
.highlight .hl-banner{width:100%;display:block;border-bottom:1px solid var(--linea)}
.highlight .hl-body{padding:clamp(1.4rem,3.5vw,2.4rem)}
.badge-solidale{display:inline-flex;align-items:center;gap:.5em;background:#fff4ec;color:var(--brace);border:1px solid #f6c9ac;border-radius:999px;padding:.3em .9em;font-weight:700;font-size:.82rem;letter-spacing:.02em}
.highlight h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:.7rem 0 .3rem}
.highlight .hl-sub{font-size:1.05rem;color:var(--ardesia-700);font-weight:600;margin-bottom:1rem}
.hl-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;margin-top:1.2rem}
.hl-grid p{font-size:.99rem;margin-bottom:.8rem}
.hl-fatti{list-style:none;display:flex;flex-direction:column;gap:.7rem;background:var(--nebbia);border-radius:12px;padding:1.2rem 1.3rem}
.hl-fatti li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem}
.hl-fatti .star{flex:none;width:1.1rem;height:1.1rem;margin-top:.2em}
.hl-fatti b{color:var(--ardesia)}
.hl-due-strade{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:1.1rem 0}
.strada{border:1px solid var(--linea);border-radius:12px;padding:1rem 1.1rem;border-left:4px solid var(--cat,var(--ardesia))}
.strada h4{color:var(--ardesia);font-size:1rem;margin-bottom:.2rem;display:flex;align-items:center;gap:.4rem}
.strada p{font-size:.9rem;color:var(--testo-soft);margin:0}
.strada.nw{--cat:var(--ardesia)}.strada.gravel{--cat:var(--brace)}
.hl-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem;align-items:center}
.hl-percorso{margin-top:1.4rem}
.hl-percorso img{width:100%;border:1px solid var(--linea);border-radius:12px;display:block}
.hl-percorso figcaption{font-size:.85rem;color:var(--testo-soft);margin-top:.5rem;text-align:center}
@media (max-width:760px){.hl-grid,.hl-due-strade{grid-template-columns:1fr}}

/* --- Calendario eventi --- */
.eventi-lista{display:flex;flex-direction:column;gap:.9rem}
.evento{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);padding:1.1rem 1.3rem;border-left:5px solid var(--cat,var(--ardesia))}
.evento .ev-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px;background:var(--nebbia);border-radius:12px;padding:.6rem .4rem;line-height:1.05;text-align:center}
.evento .ev-giorno{font-size:1.5rem;font-weight:800;color:var(--ardesia)}
.evento .ev-mese{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--cat,var(--ardesia))}
.evento .ev-range{font-size:.95rem;font-weight:800;color:var(--ardesia)}
.evento .ev-info h3{font-size:1.12rem;margin:.35rem 0 .25rem}
.evento .ev-meta{font-size:.88rem;color:var(--testo-soft);margin-bottom:.15rem}
.evento .ev-note{font-size:.93rem;margin:0}
.evento.is-highlight{border-color:var(--brace);background:#fffaf6}
.evento .ev-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--brace);text-decoration:none;font-size:.9rem;margin-top:.4rem}
.evento .ev-link:hover{text-decoration:underline}

/* --- Legenda categorie --- */
.cat-legenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem 1.6rem;margin-top:1.8rem;background:var(--nebbia);border-radius:var(--raggio);padding:1.3rem 1.5rem}
.cat-legenda .voce{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--testo)}
.cat-legenda .pt{width:.95rem;height:.95rem;border-radius:50%;background:var(--cat,var(--ardesia));flex:none;margin-top:.25em}
.cat-legenda b{color:var(--ardesia)}
.nota-calendario{font-size:.9rem;color:var(--testo-soft);font-style:italic;margin-top:1.2rem;display:flex;align-items:center;gap:.5rem}

/* ══════════════════════════════════════════════════════════════════════
   RICHIAMO EVENTO IN HOME (100 km per Gianca)
═══════════════════════════════════════════════════════════════════════ */
.home-evento{background:var(--ardesia-900);color:#fff}
.he-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.he-img{display:block;border-radius:var(--raggio);overflow:hidden;box-shadow:var(--ombra);line-height:0}
.he-img img{width:100%;display:block;transition:transform .4s ease}
.he-img:hover img{transform:scale(1.03)}
.he-text .eyebrow{color:#ffb380}
.he-text h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.6rem);margin:.5rem 0 .3rem}
.he-text .he-data{color:#ffb380;font-weight:700;font-size:1rem;margin-bottom:.7rem}
.he-text p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:1.4rem;max-width:54ch}
.he-cta{display:flex;flex-wrap:wrap;gap:.8rem}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:#fff;transform:translateY(-2px)}
@media (max-width:760px){.he-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════════════════
   SOCIAL NEL FOOTER
═══════════════════════════════════════════════════════════════════════ */
.site-footer .f-left{display:flex;flex-direction:column;gap:1rem}
.social{display:flex;gap:.6rem}
.social a{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;transition:background .15s ease, transform .15s ease}
.social a:hover{background:var(--brace);transform:translateY(-2px)}
.social svg{width:20px;height:20px;fill:currentColor}

@media (prefers-reduced-motion: reduce){
  .he-img:hover img{transform:none}
  .social a:hover,.btn-ghost:hover{transform:none}
}

/* ══════════════════════════════════════════════════════════════════════
   HERO A DUE COLONNE: testo + card evento (100 km per Gianca)
═══════════════════════════════════════════════════════════════════════ */
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:center}
.hero-grid .hero-main h1{margin-top:.7rem}
.hero-card{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);overflow:hidden;border-top:4px solid var(--brace);align-self:start}
.hc-img{display:block;line-height:0;border-bottom:1px solid var(--linea)}
.hc-img img{width:100%;display:block;transition:transform .4s ease}
.hc-img:hover img{transform:scale(1.04)}
.hc-body{padding:1.2rem 1.3rem 1.4rem}
.hc-badge{display:inline-flex;align-items:center;gap:.45em;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brace);background:#fff4ec;border:1px solid #f6c9ac;border-radius:999px;padding:.28em .75em}
.hc-badge .star{width:.85em;height:.85em}
.hero-card h2{font-size:1.3rem;margin:.65rem 0 .2rem;color:var(--ardesia);line-height:1.15}
.hc-data{font-size:.9rem;font-weight:700;color:var(--brace);margin-bottom:.5rem}
.hc-desc{font-size:.93rem;color:var(--testo);margin-bottom:1.1rem}
.hc-btn{font-size:.92rem;padding:.62em 1.15em;width:100%;justify-content:center}
@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr}
  .hero-card{max-width:440px;margin-top:.6rem}
}
@media (prefers-reduced-motion: reduce){.hc-img:hover img{transform:none}}

/* ══════════════════════════════════════════════════════════════════════
   MENU A TENDINA (per raggruppare le pagine "Attività")
═══════════════════════════════════════════════════════════════════════ */
.has-sub{position:relative}
.sub-toggle{display:inline-flex;align-items:center;gap:.35em;background:none;border:0;cursor:pointer;font:inherit;color:var(--ardesia);font-weight:600;font-size:.97rem;padding:.2rem 0}
.sub-toggle .chev{width:.7em;height:.7em;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .2s ease}
.sub-menu{list-style:none;min-width:220px;background:var(--bianco);border:1px solid var(--linea);border-radius:12px;box-shadow:var(--ombra);padding:.4rem;position:absolute;top:calc(100% + .6rem);left:0;z-index:60;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease, transform .18s ease, visibility .18s}
.has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu,.has-sub.open .sub-menu{opacity:1;visibility:visible;transform:none}
.has-sub:hover .sub-toggle .chev,.has-sub.open .sub-toggle .chev{transform:rotate(180deg)}
.sub-menu a{display:block;padding:.6rem .85rem;border-radius:8px;text-decoration:none;color:var(--ardesia);font-weight:600;font-size:.95rem}
.sub-menu a::after{display:none !important}
.sub-menu a:hover{background:var(--nebbia);color:var(--brace)}

@media (max-width:860px){
  /* Nel menu mobile il gruppo è sempre espanso, con sotto-voci rientrate */
  .has-sub{width:100%}
  .sub-toggle{width:100%;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--linea);font-weight:700;color:var(--testo-soft);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}
  .sub-toggle .chev{display:none}
  .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0;min-width:0;background:transparent}
  .sub-menu a{padding:.85rem 0 .85rem 1rem;border-bottom:1px solid var(--linea);border-radius:0}
  .sub-menu a:hover{background:transparent}
}

/* ══════════════════════════════════════════════════════════════════════
   BOX DOWNLOAD MODULO DI ISCRIZIONE
═══════════════════════════════════════════════════════════════════════ */
.modulo-box{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);padding:1.5rem 1.7rem;border-left:5px solid var(--brace)}
.modulo-box .m-ico{flex:none;width:52px;height:52px;border-radius:12px;background:#fff4ec;border:1px solid #f6c9ac;display:grid;place-items:center;font-size:1.5rem}
.modulo-box .m-text{flex:1 1 240px}
.modulo-box h3{font-size:1.15rem;margin-bottom:.2rem}
.modulo-box p{font-size:.93rem;color:var(--testo-soft);margin:0}
.modulo-box .btn{flex:none}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA TARIFFE
═══════════════════════════════════════════════════════════════════════ */
.tariffe-blocco{margin-bottom:2rem}
.tariffe-blocco h3{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;color:var(--ardesia);margin-bottom:.9rem}
.tariffe-blocco h3 .star{width:1.1rem;height:1.1rem}
.tariffe-tab{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);overflow:hidden}
.tariffa{display:grid;grid-template-columns:1fr auto;gap:.4rem 1.2rem;padding:1rem 1.3rem;border-bottom:1px solid var(--linea)}
.tariffa:last-child{border-bottom:0}
.tariffa .t-nome{font-weight:700;color:var(--ardesia);font-size:1rem}
.tariffa .t-prezzo{font-weight:800;color:var(--brace);font-size:1.05rem;white-space:nowrap;text-align:right;align-self:center}
.tariffa .t-prezzo.gratis{color:#5aa469}
.tariffa .t-desc{grid-column:1/-1;font-size:.9rem;color:var(--testo-soft)}
.pagamento{background:var(--ardesia);color:#fff;border-radius:var(--raggio);padding:1.6rem 1.8rem;margin-top:.5rem;box-shadow:var(--ombra)}
.pagamento h3{color:#fff;font-size:1.2rem;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
.pagamento .star{width:1.1rem;height:1.1rem;fill:#ffb380}
.pagamento p{color:rgba(255,255,255,.88);font-size:.96rem;margin:.25rem 0}
.pagamento .iban{font-weight:700;color:#fff;letter-spacing:.02em;font-size:1.02rem}
.pagamento a{color:#fff}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA CORSI — FAQ a fisarmonica (usa <details>, niente JS necessario)
═══════════════════════════════════════════════════════════════════════ */
.faq details{background:var(--bianco);border:1px solid var(--linea);border-radius:12px;box-shadow:var(--ombra);margin-bottom:.7rem;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.3rem;font-weight:700;color:var(--ardesia);font-size:1.02rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;font-weight:400;color:var(--brace);line-height:1;flex:none;transition:transform .2s ease}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--brace)}
.faq .faq-body{padding:0 1.3rem 1.2rem;font-size:.97rem;color:var(--testo)}
.faq .faq-body ul{margin:.4rem 0 0 1.1rem}
.faq .faq-body li{margin:.25rem 0}

/* listini corso compatti */
.corso-prezzi{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:.4rem}
.corso-prezzo{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);padding:1.4rem;border-top:4px solid var(--brace)}
.corso-prezzo .cp-euro{font-size:1.8rem;font-weight:800;color:var(--brace);line-height:1}
.corso-prezzo h3{font-size:1.05rem;margin:.5rem 0 .25rem}
.corso-prezzo p{font-size:.9rem;color:var(--testo-soft);margin:0}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA NORDIC E SALUTE
═══════════════════════════════════════════════════════════════════════ */
.tema{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);overflow:hidden;border-top:5px solid var(--tema-c,var(--ardesia));margin-bottom:1.3rem}
.tema-park{--tema-c:#2f80b5}
.tema-csm{--tema-c:#7a5bbd}
.tema .tema-body{padding:clamp(1.4rem,3.5vw,2.2rem)}
.tema .tema-tag{display:inline-flex;align-items:center;gap:.5em;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--tema-c,var(--ardesia));border-radius:999px;padding:.28em .85em}
.tema h2{font-size:clamp(1.5rem,3vw,2rem);margin:.7rem 0 .2rem}
.tema .tema-sub{font-style:italic;color:var(--testo-soft);margin-bottom:1rem}
.tema-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;margin-top:1rem}
.tema-grid h4{color:var(--ardesia);font-size:1.05rem;margin-bottom:.4rem}
.tema-offerta{list-style:none;background:var(--nebbia);border-radius:12px;padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.7rem}
.tema-offerta li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem}
.tema-offerta .star{flex:none;width:1.05rem;height:1.05rem;margin-top:.2em;fill:var(--tema-c,var(--brace))}
.tema .nota-fam{font-style:italic;color:var(--testo-soft);font-size:.93rem;margin-top:1rem}
@media (max-width:760px){.tema-grid{grid-template-columns:1fr}}

/* Box documenti impilati (modulo + informativa privacy) */
.modulo-box + .modulo-box{margin-top:1rem}
.modulo-box.doc-privacy{border-left-color:var(--ardesia)}
.modulo-box.doc-privacy .m-ico{background:var(--nebbia);border-color:var(--linea)}

/* ══════════════════════════════════════════════════════════════════════
   PAGINA PRIVACY & COOKIE POLICY
═══════════════════════════════════════════════════════════════════════ */
.policy{max-width:780px}
.policy .aggiornamento{font-size:.9rem;color:var(--testo-soft);margin-bottom:2rem}
.policy h3{font-size:1.2rem;color:var(--ardesia);margin:2rem 0 .6rem;display:flex;align-items:center;gap:.55rem}
.policy h3 .star{width:1rem;height:1rem;flex:none}
.policy h3:first-of-type{margin-top:0}
.policy p{margin-bottom:.9rem}
.policy ul{margin:.2rem 0 1rem 1.2rem}
.policy li{margin:.35rem 0}
.policy a{color:var(--brace);font-weight:600}
.policy .riquadro{background:var(--nebbia);border:1px solid var(--linea);border-radius:var(--raggio);padding:1.2rem 1.4rem;margin:1.2rem 0}
.policy .riquadro p:last-child{margin-bottom:0}

/* ══════════════════════════════════════════════════════════════════════
   FILA DI FOTO (pagina Corsi)
═══════════════════════════════════════════════════════════════════════ */
.foto-fila{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.foto-fila img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--raggio);box-shadow:var(--ombra);display:block;transition:transform .3s ease}
.foto-fila img:hover{transform:translateY(-4px)}
.foto-didascalia{text-align:center;font-style:italic;color:var(--testo-soft);margin-top:1.1rem;font-size:1.05rem}
@media (prefers-reduced-motion: reduce){.foto-fila img:hover{transform:none}}

/* ══════════════════════════════════════════════════════════════════════
   GALLERIA A 4 FOTO (pagina Eventi) — quadrate e uniformi
═══════════════════════════════════════════════════════════════════════ */
.galleria{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.galleria img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;box-shadow:var(--ombra);display:block;transition:transform .3s ease}
.galleria img:hover{transform:translateY(-4px)}
@media (max-width:640px){.galleria{grid-template-columns:repeat(2,1fr);gap:.6rem}}
@media (prefers-reduced-motion: reduce){.galleria img:hover{transform:none}}

