/* ============ Navigazione: intestazione, menu PC, menu telefono, porte della home ============ */
html{scroll-padding-top:104px}

/* ---- intestazione ---- */
.header,.has-hero .header{top:0;padding-top:14px}
.header .wrap{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:16px;min-height:64px;max-width:min(calc(var(--max) - 40px),calc(100% - 28px));margin:0 auto;padding:0 8px 0 20px;background:#0c0c0c;border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 10px 40px rgba(0,0,0,.18);pointer-events:auto}
[dir=rtl] .header .wrap{padding:0 20px 0 8px}
.header .logo{flex:none}
.header-right{flex:none;display:flex;align-items:center;gap:8px;margin-inline-start:auto}

.nav{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.nav-voci{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;width:max-content;flex:none}
.nv{position:relative}
.nv-btn{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:0;border-radius:999px;background:none;color:#d8d4cc;font-family:var(--font-testo);font-weight:700;font-size:13.5px;letter-spacing:.02em;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .18s,color .18s}
.nv-btn:hover,.nv.aperto>.nv-btn{background:rgba(255,255,255,.09);color:#fff}
.nv-btn.att{color:var(--oro)}
.nv-btn.att::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--oro)}
.nv-btn .chev{width:11px;height:11px;flex:none;opacity:.65;transition:transform .2s ease,opacity .2s}
.nv.aperto>.nv-btn .chev{transform:rotate(180deg);opacity:1}
.nv-iscriviti{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;background:var(--oro);color:var(--nero);font-family:var(--font-testo);font-weight:800;font-size:13.5px;letter-spacing:.02em;white-space:nowrap;transition:background-color .18s}
.nv-iscriviti:hover{background:var(--oro-chiaro)}
.lang>button{display:inline-flex;align-items:center;justify-content:center;height:42px;min-width:42px;padding:0 12px}
.header a:focus-visible,.header button:focus-visible,.mnav a:focus-visible,.mnav button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}

/* ---- tendine del menu (PC): elenchi semplici sotto la voce ---- */
.mm{position:absolute;top:calc(100% + 20px);left:0;z-index:60;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
[dir=rtl] .mm{left:auto;right:0}
/* ponte invisibile tra la voce e la tendina: il mouse non la chiude passando nello spazio vuoto */
.mm::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:22px}
.nv.aperto>.mm{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease,transform .16s ease,visibility 0s}
html:not(.js) .nv:hover>.mm,html:not(.js) .nv:focus-within>.mm{opacity:1;visibility:visible;transform:none}
.mm-in{width:310px;padding:8px;background:#0c0c0c;border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 30px 70px -24px rgba(0,0,0,.6);max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain}
.mm-in.mm-due{width:470px}
.mm-colonne{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0 6px}
.mm-in a{display:block;padding:8px 12px;border-radius:10px;color:#e9e5dd;font-size:14.5px;font-weight:600;line-height:1.3;transition:background-color .15s,color .15s}
.mm-in a small{display:block;margin-top:2px;font-size:12px;font-weight:600;color:#8f8a80}
.mm-in a:hover{background:#1a1a1a;color:#fff}
.mm-in a[aria-current]{color:var(--oro)}
.mm-gruppo{margin:2px 0 4px}
.mm-in a.mm-capo{margin-top:2px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--oro)}
.mm-in a.mm-capo[aria-current]{text-decoration:underline;text-underline-offset:3px}
.mm-gruppo>a:not(.mm-capo){margin-inline-start:12px;padding-inline-start:14px;border-inline-start:1px solid #2a2a2a;border-radius:0 10px 10px 0}
[dir=rtl] .mm-gruppo>a:not(.mm-capo){border-radius:10px 0 0 10px}
.mm-sep{height:1px;margin:8px 6px;background:#1f1f1f}
.mm-fondo{display:flex;flex-wrap:wrap}
.mm-in .mm-fondo a{color:#fff;font-weight:800}
.mm-in .mm-fondo a[aria-current]{color:var(--oro)}

/* ---- pulsante menu: compare quando le voci non stanno nella barra ---- */
.burger{display:none;position:relative;flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#222;color:#fff;cursor:pointer;transition:background-color .18s}
.burger:hover{background:#2e2e2e}
.burger span{position:absolute;left:14px;width:16px;height:2px;border-radius:2px;background:currentColor}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:26px}
@media (max-width:1100px){.nav{display:none}.burger{display:inline-flex}}
html.nav-stretta .nav{display:none}
html.nav-stretta .burger{display:inline-flex}
/* testata del telefono troppo stretta per il nome (parole lunghe o schermi piccoli): resta la M */
html.testata-stretta .header .brand{display:none}
@media (max-width:339px){.header .brand{display:none}}
/* ebraico e arabo: niente spaziatura tra le lettere, in arabo spezzerebbe le legature */
[dir=rtl] .mm-capo,[dir=rtl] .mn-capo,[dir=rtl] .nv-btn,[dir=rtl] .nv-iscriviti,[dir=rtl] .porta .kicker,[dir=rtl] .porta-vai,[dir=rtl] .mn-lingue a{letter-spacing:0}

@media (max-width:640px){
  .header,.has-hero .header{padding-top:10px}
  .header .wrap{min-height:58px;max-width:calc(100% - 20px);padding:0 7px 0 14px;gap:8px}
  [dir=rtl] .header .wrap{padding:0 14px 0 7px}
  .header .lang{display:none}
  .nv-iscriviti{height:40px;padding:0 14px;font-size:13px}
  .burger{width:42px;height:42px}
  .burger span{left:13px}
  .burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:25px}
}

/* ---- menu telefono ---- */
.mnav{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:#0a0a0a;color:#fff;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.mnav.open{opacity:1;visibility:visible;transition:opacity .2s ease,visibility 0s}
.mn-testa{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 28px);max-width:calc(var(--max) - 40px);min-height:64px;margin:14px auto 0;padding:0 8px 0 20px;border-radius:999px;background:#141414;border:1px solid rgba(255,255,255,.08)}
[dir=rtl] .mn-testa{padding:0 20px 0 8px}
.mn-testa .chiudi{position:relative;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--oro);cursor:pointer}
.mn-testa .chiudi span{position:absolute;left:13px;top:21px;width:18px;height:2px;border-radius:2px;background:var(--nero)}
.mn-testa .chiudi span:nth-child(1){transform:rotate(45deg)}.mn-testa .chiudi span:nth-child(2){transform:rotate(-45deg)}
.mn-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mn-corpo-in{max-width:620px;margin:0 auto;padding:12px 22px calc(28px + env(safe-area-inset-bottom,0px))}
.mn-voce,.mn-link{border-bottom:1px solid #1c1c1c}
.mn-apri,.mn-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:0 2px;border-top:0;border-left:0;border-right:0;background:none;color:#fff;font-family:var(--font-titoli);font-weight:800;font-stretch:112.5%;font-size:20px;letter-spacing:-.01em;line-height:1.15;text-align:start;cursor:pointer}
.mn-apri{border-bottom:0}
.mn-apri .chev{width:16px;height:16px;flex:none;color:#8f8a80;transition:transform .25s ease}
.mn-voce.aperta>.mn-apri .chev{transform:rotate(180deg);color:var(--oro)}
.mn-voce.qui>.mn-apri,.mn-link.qui{color:var(--oro)}
.mn-sotto{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}
.mn-voce.aperta>.mn-sotto{grid-template-rows:1fr}
.mn-sotto-in{min-height:0;overflow:hidden}
.mn-sotto-in>:last-child{margin-bottom:12px}
.mn-gruppo{margin:4px 0 2px}
.mn-sotto a.mn-capo{padding:10px 2px 6px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--oro)}
.mn-sotto a.mn-capo[aria-current]{text-decoration:underline;text-underline-offset:3px}
.mn-gruppo>a:not(.mn-capo){margin-inline-start:4px;padding-inline-start:14px;border-inline-start:1px solid #2a2a2a}
.mn-sotto a{display:block;padding:9px 2px;color:#d9d4cb;font-size:16px;font-weight:600;line-height:1.3}
.mn-sotto a small{display:block;margin-top:1px;font-size:12.5px;color:#8f8a80}
.mn-sotto a[aria-current]{color:var(--oro)}
.mn-sotto .mn-sep{height:1px;background:#1c1c1c;margin:8px 0 2px}
.mn-sotto a.mn-extra{color:#fff;font-weight:700}
.mn-sotto a.mn-extra[aria-current]{color:var(--oro)}
.mn-cta{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:22px;padding:0 18px;border-radius:999px;background:var(--oro);color:var(--nero);font-weight:800;font-size:15px;text-align:center;line-height:1.2}
.mn-contatti{display:flex;gap:8px;margin-top:10px}
.mn-contatti a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;border-radius:16px;background:#151515;border:1px solid #242424;color:#e9e5dd;font-size:12.5px;font-weight:700}
.mn-contatti svg{width:20px;height:20px;color:var(--oro)}
.mn-piede{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-top:20px}
.mn-lingue{display:flex;flex-wrap:wrap;gap:4px}
.mn-lingue a{padding:7px 8px;border:1px solid #2a2a2a;border-radius:999px;color:#aaa;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.mn-lingue a.att{background:var(--oro);border-color:var(--oro);color:var(--nero)}
.mn-social{display:flex;gap:14px}
.mn-social a{color:#aaa;font-size:13px;font-weight:700}
html.menu-aperto,html.menu-aperto body{overflow:hidden}
@media (max-width:640px){
  .mn-testa{width:calc(100% - 20px);min-height:58px;margin-top:10px;padding:0 7px 0 14px}
  [dir=rtl] .mn-testa{padding:0 14px 0 7px}
  .mn-testa .chiudi{width:42px;height:42px}
  .mn-testa .chiudi span{left:12px;top:20px}
  .mn-corpo-in{padding:8px 20px calc(24px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.mm,.mnav,.mn-sotto,.nv-btn .chev,.mn-apri .chev{transition:none}}

/* apertura sul telefono: la colonna non deve allargarsi oltre lo schermo, se no i tasti sbordano */
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero h1{overflow-wrap:break-word}}

/* ---- home: porte d'ingresso ---- */
.porte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.porta{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--raggio);overflow:hidden;color:var(--testo);box-shadow:0 1px 0 rgba(0,0,0,.04);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.porta:hover{transform:translateY(-4px);box-shadow:0 24px 50px -20px rgba(0,0,0,.35)}
.porta-img{display:block;aspect-ratio:4/3;background:var(--nero-3);overflow:hidden}
.porta-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.porta:hover .porta-img img{transform:scale(1.05)}
.porta-testo{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 20px 20px}
.porta .kicker{margin:0;font-size:11px;letter-spacing:.16em}
.porta h3{margin:0;font-size:22px;line-height:1.1}
.porta p{margin:0;color:var(--grigio);font-size:14.5px;line-height:1.45}
.porta-vai{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px;color:var(--oro-scuro);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.porta-vai svg{width:15px;height:15px;flex:none;transition:transform .3s}
.porta:hover .porta-vai svg{transform:translateX(3px)}
[dir=rtl] .porta-vai svg{transform:scaleX(-1)}
[dir=rtl] .porta:hover .porta-vai svg{transform:scaleX(-1) translateX(3px)}
.porta.evidenza{background:var(--nero);color:#fff}
.porta.evidenza .kicker,.porta.evidenza .porta-vai{color:var(--oro)}
.porta.evidenza p{color:#bdb8ae}
[dir=rtl] .porta h3,[dir=rtl] .porta p{unicode-bidi:plaintext;text-align:start}
.porte.porte-due{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
@media (max-width:1000px){.porte{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .porte{grid-template-columns:1fr;gap:12px}
  /* le foto dei riquadri sono grafiche col titolo scritto al centro: sul telefono vanno intere sopra al testo,
     una miniatura laterale da 104 px tagliava le parole (ISCRIZIONI, RECLUTAMENTO) */
  .porta-img{aspect-ratio:2/1}
  .porta-img img{object-position:center}
  .porta-testo{gap:4px;padding:14px 16px 16px}
  .porta h3{font-size:18px}
  .porta p{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .porta-vai{display:none}
}

/* ---- attivita' concluse ---- */
.tag.grigio{background:var(--grigio-chiaro);color:var(--grigio)}
.card.passata .img img{filter:grayscale(.55)}
.avviso.concluso{margin:0 0 26px}


/* ---- home: quattro tasti in apertura su due righe (22/09) ---- */
.hero .azioni.azioni-quattro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px}
.hero .azioni.azioni-quattro .btn{justify-content:center;text-align:center;margin:0;width:100%}
@media (max-width:640px){.hero .azioni.azioni-quattro{gap:8px}.hero .azioni.azioni-quattro .btn{padding-left:10px;padding-right:10px;font-size:12px;line-height:1.2;min-height:48px;white-space:normal}}

/* ---- pagina Acquisto kit (testo del club a sinistra, codice e shop a destra) ---- */
.kit-pagina{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
.kit-testo ol{padding-left:1.3em}.kit-testo ol li{margin:0 0 10px}
.kit-lato{position:sticky;top:110px;display:grid;gap:16px}
.kit-codice,.kit-shop{background:var(--nero);color:#fff;border-radius:var(--raggio);padding:24px 26px;display:grid;gap:12px;justify-items:start}
.kit-codice .kicker,.kit-shop .kicker{color:var(--oro);margin:0}
.kit-codice b{font-family:var(--font-titoli);font-size:clamp(26px,3.2vw,34px);letter-spacing:.02em;word-break:break-all;user-select:all}
.kit-codice .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.kit-shop .btn{display:inline-flex;align-items:center;gap:10px}
.kit-shop .btn svg{width:16px;height:16px}
@media (max-width:860px){.kit-pagina{grid-template-columns:minmax(0,1fr);gap:24px}.kit-lato{position:static}}
