/* =========================================================================
   Montecatini Marathon ASD — stile del sito
   Scelto il 06/10/2026 dal provino: tema «Pettorale», Big Shoulders + Figtree,
   arancio «deciso» (una campitura forte in apertura, poi carta e nero).
   Regola fissa: sul arancio il testo è SEMPRE nero (il bianco non passa il contrasto).
   ========================================================================= */
*{margin:0;padding:0;box-sizing:border-box}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:9.5rem}
button{font:inherit;color:inherit;cursor:pointer}

:root{
  --o:#f76201;          /* arancio sociale */
  --o-ink:#141414;      /* testo su arancio */
  --o-deep:#b54600;     /* arancio usato come testo su chiaro (5:1) */
  --bg:#fcfbfa; --bg2:#f1ede6; --card:#fff;
  --ink:#141414; --text:#3d3a36; --muted:#6e6a65; --line:#ddd6cb;
  --hl:var(--o-deep);
  --r:6px;
  --display:"Big Shoulders Display",sans-serif;
  --body:"Figtree",system-ui,sans-serif;
  --maxw:1180px; --pad:clamp(1rem,4.5vw,3.5rem);
}
body{font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}
::selection{background:var(--o);color:var(--o-ink)}
:focus-visible{outline:2px solid var(--o);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#141414;color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}

/* campitura arancio */
.fld{background:var(--o);color:#1f1a16;--ink:#141414;--text:#1f1a16;--muted:#2e2620;--line:rgba(20,20,20,.28);--hl:#141414;--card:#fcfbfa}
.fld .btn{background:#141414;color:#fcfbfa}
.fld .btn:hover{background:#fcfbfa;color:#141414}

/* ================= BASE ================= */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
h1,h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.005em;color:var(--ink);line-height:.98;text-wrap:balance}
h2{font-size:clamp(2.5rem,6vw,4.9rem);margin-bottom:1.6rem}
h3{font-size:1.6rem;line-height:1.05;margin-bottom:.55rem}
p{max-width:68ch}
p+p{margin-top:.9rem}
.o{color:var(--hl)}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem)}
.btn{display:inline-flex;align-items:center;gap:.55em;background:var(--o);color:var(--o-ink);font-weight:700;font-size:.95rem;padding:.95em 1.5em;border-radius:var(--r);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,color .2s}
.btn:hover{transform:translateY(-2px);background:#141414;color:#fcfbfa}
.btn-line{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.95rem;padding:.85em 1.2em;border:2px solid var(--ink);color:var(--ink);border-radius:var(--r);transition:background .2s,color .2s}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sec.alt{background:var(--bg2)}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.inline-link{color:var(--hl);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.inline-link:hover{color:var(--ink)}
.note{font-size:.92rem;color:var(--muted)}

/* ================= BARRA HALF MARATHON ================= */
.racebar{position:sticky;top:0;z-index:50;background:#141414;color:#f6f3ee}
.racebar .wrap{display:flex;align-items:center;gap:clamp(.7rem,2.5vw,2rem);padding-top:.55rem;padding-bottom:.55rem}
.rb-name{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.rb-name b{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.18rem;letter-spacing:.01em}
.rb-name span{font-size:.8rem;color:#b9b2a8}
.clock{display:flex;gap:.35rem;margin-left:auto;font-variant-numeric:tabular-nums}
.clock div{display:flex;flex-direction:column;align-items:center;min-width:2.7rem}
.clock b{font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:1;color:var(--o)}
.clock small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b9b2a8;margin-top:2px}
.clock.done{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.3rem;color:var(--o)}
.rb-cta{flex:none;min-height:44px;display:inline-flex;align-items:center;background:var(--o);color:var(--o-ink);font-weight:700;font-size:.85rem;padding:.6rem 1rem;border-radius:var(--r);white-space:nowrap;transition:background .2s}
.rb-cta:hover{background:#fcfbfa}

/* ================= TESTATA ================= */
.site-head{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:var(--rb,56px);z-index:45;transition:background .3s ease,border-color .3s ease}
/* barra nera (come quella della Half) quando si scorre: il menu non sparisce mai */
.site-head.solid{background:#141414;border-bottom-color:#141414}
.site-head.solid .nav a{color:#fcfbfa}
.site-head.solid .nav a:hover{background:rgba(252,251,250,.14)}
.site-head.solid .nav .btn{color:#141414}
.site-head.solid .nav .btn:hover{background:#fcfbfa;color:#141414}
.site-head.solid .burger{color:#fcfbfa;border-color:#fcfbfa}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:78px}
.logo{flex:none}
.logo img{height:62px;width:auto}
.nav{display:flex;gap:.2rem;margin-left:auto;align-items:center}
.nav a{font-weight:600;font-size:.97rem;padding:.55rem .85rem;border-radius:var(--r);color:var(--ink);transition:background .2s}
.nav a:hover{background:var(--bg2)}
.nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--o)}
.nav .btn{margin-left:.6rem;padding:.7em 1.15em;font-size:.92rem}
.nav .btn:hover{background:#141414;color:#fcfbfa}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:var(--r);min-width:46px;min-height:46px;align-items:center;justify-content:center;color:var(--ink)}

/* ================= PETTORALE (il motivo del sito) ================= */
.bib{background:#fff;color:#141414;padding:1rem 1.4rem 1.05rem;border-radius:6px;box-shadow:0 18px 40px -18px rgba(20,20,20,.45),0 2px 6px rgba(20,20,20,.08);position:relative}
.bib::before,.bib::after{content:"";position:absolute;top:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--bg2);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.bib::before{left:.55rem}.bib::after{right:.55rem}
.bib .bib-top{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--o-deep);text-align:center;border-bottom:2px solid #141414;padding-bottom:.35rem;margin-bottom:.35rem}
.bib b{display:block;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:2.9rem;line-height:1;text-align:center;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.bib .bib-sub{display:block;text-align:center;font-size:.85rem;font-weight:600;margin-top:.3rem}

/* ================= HERO HOME ================= */
.hero{position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(3rem,7vw,5.5rem)}
.hero h1{font-size:clamp(3.4rem,9.6vw,8rem);margin-bottom:1.3rem}
.hero .lead{margin-bottom:1.9rem}
.hero-media{position:relative}
.hero-media img{width:100%;aspect-ratio:4/3.1;object-fit:cover;object-position:50% 70%;border-radius:var(--r)}
.hero-media .bib{position:absolute;left:-1.5rem;bottom:-1.5rem;min-width:15rem;transform:rotate(-2.5deg)}

/* ================= HERO PAGINE INTERNE ================= */
.page-hero .wrap{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end}
.page-hero h1{font-size:clamp(3.6rem,10vw,8.5rem);margin:0}
.page-hero .lead{margin-bottom:1.4rem}

/* ================= MOTTO ================= */
.motto{background:#141414;color:#f6f3ee;overflow:hidden;white-space:nowrap;padding:1.6rem 0 1.3rem;position:relative;z-index:2}
.motto .track{display:inline-flex;gap:2.5rem;animation:slide 38s linear infinite;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3.8vw,2.9rem);line-height:1}
.motto .track span:nth-child(even){color:var(--o)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.motto .track{animation:none}html{scroll-behavior:auto}}

/* ================= ORARIO / SCHEDE A RIGHE ================= */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.split .intro p{font-size:1.15rem;margin-bottom:1.6rem}
.sched{list-style:none;border-top:2px solid var(--ink)}
.sched li{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line)}
.sched .k{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.4rem;color:var(--hl);line-height:1.1}
.sched .v{color:var(--ink);font-weight:600;font-size:1.05rem}
.sched .v small{display:block;font-weight:400;color:var(--muted);font-size:.93rem;margin-top:.15rem}
.sched .v a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--o)}
.sched .v a:hover{color:var(--o-deep)}

/* ================= FILOSOFIA ================= */
.phil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.phil article{background:var(--card);border-radius:6px;padding:1.9rem 1.6rem 1.7rem;position:relative}
.phil article::before,.phil article::after{content:"";position:absolute;top:.6rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--o);box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}
.phil article::before{left:.6rem}.phil article::after{right:.6rem}

/* ================= STORIA ================= */
.story-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;align-items:end;margin-bottom:2.6rem}
.story-head h2{margin:0}
.story-head blockquote{font-family:var(--display);font-weight:800;font-size:1.75rem;line-height:1.12;color:var(--ink)}
.story-head blockquote::before{content:"";display:block;width:3rem;height:4px;background:var(--o);margin-bottom:.9rem}
.tl{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:2.35rem;height:3px;background:var(--o)}
.tl li{padding-right:1.4rem}
.tl .yr{display:block;font-family:var(--display);font-weight:900;font-size:2.4rem;line-height:1;color:var(--ink);margin-bottom:1.35rem;font-variant-numeric:tabular-nums}
.tl .yr::after{content:"";display:block;width:.95rem;height:.95rem;border-radius:50%;background:var(--bg);border:3px solid var(--o);margin-top:.35rem;position:relative;z-index:1}
.tl h3{font-size:1.3rem}
.tl p{font-size:.94rem}
.facts{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);align-items:baseline}
.facts b{font-family:var(--display);font-weight:900;font-size:1.95rem;color:var(--hl);margin-right:.35rem;font-variant-numeric:tabular-nums}
.results{margin-top:2.4rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.results img{border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;width:100%}

/* ================= CARD GARE (home) ================= */
.races{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.race{background:var(--card);border-radius:var(--r);overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 18px 40px -26px rgba(20,20,20,.4)}
.race img{width:100%;aspect-ratio:16/9;object-fit:cover}
.race .body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.7rem}
.when{font-weight:700;color:var(--hl);font-size:.97rem}
.race h3{font-size:2.2rem;margin:0}
.race .btn{align-self:flex-start;margin-top:auto}
.dist{display:flex;flex-wrap:wrap;gap:.4rem}
.dist span{font-weight:700;font-size:.87rem;padding:.3rem .65rem;border:1.5px solid var(--ink);border-radius:var(--r);color:var(--ink);font-variant-numeric:tabular-nums}
.more{margin-top:2rem;display:flex;justify-content:flex-end}

/* ================= SOCIAL + SPONSOR ================= */
.social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.social img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
.social p{font-size:1.1rem;margin-bottom:1.6rem}
.sponsor{margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);padding-top:2.6rem}
.sponsor h3{font-size:1.25rem;text-align:center;color:var(--muted);margin-bottom:1.6rem}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.6rem 2.8rem}
.logos img{height:46px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.7;mix-blend-mode:multiply;transition:filter .3s,opacity .3s}
.logos img:hover{filter:none;opacity:1}

/* ================= PAGINA GARE ================= */
.event{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.event + .event{margin-top:clamp(3.5rem,7vw,5.5rem);padding-top:clamp(3.5rem,7vw,5.5rem);border-top:2px solid var(--ink)}
.event h2{margin-bottom:.6rem}
.event .when{font-size:1.1rem;margin-bottom:1.4rem;display:block}
.event-side{display:flex;flex-direction:column;gap:1.4rem;position:sticky;top:5.5rem}
.event-side .bib b{font-size:4rem}
.flyer{display:block;border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px -24px rgba(20,20,20,.45);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.flyer:hover{transform:translateY(-3px)}
.flyer img{width:100%}
.flyer-cap{font-size:.9rem;font-weight:600;color:var(--muted);text-align:center}
.prices{width:100%;border-collapse:collapse;margin:1.4rem 0 1.6rem;font-variant-numeric:tabular-nums}
.prices th,.prices td{text-align:left;padding:.85rem .6rem .85rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.prices thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;border-bottom:2px solid var(--ink)}
.prices td:first-child{font-family:var(--display);font-weight:900;font-size:1.6rem;color:var(--ink);line-height:1.1;white-space:nowrap}
.prices td small{display:block;color:var(--muted);font-size:.88rem}
.prices .eur{font-weight:700;color:var(--ink);white-space:nowrap}
.prices .tier{display:block}
.prices .tier+.tier{margin-top:.45rem}
.infolist{list-style:none;border-top:2px solid var(--ink);margin:1.4rem 0}
.infolist li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.infolist .k{font-weight:700;color:var(--ink)}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 2rem;list-style:none;margin:.6rem 0 1rem}
.cols2 li{padding:.25rem 0;border-bottom:1px dashed var(--line)}
.callout{background:var(--bg2);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1.4rem 0}
.callout strong{color:var(--ink)}
.parkrun{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.parkrun img{width:180px;border-radius:var(--r);background:#fff}
.cal{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.cal th,.cal td{text-align:left;padding:1rem .8rem 1rem 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.cal thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;border-bottom:2px solid var(--ink)}
.cal td:first-child{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.35rem;color:var(--ink);line-height:1.1}
.cal td:nth-child(2){font-weight:700;color:var(--hl);white-space:nowrap}
.cal tr.ours td:first-child::after{content:"Organizziamo noi";display:inline-block;margin-left:.6rem;vertical-align:middle;font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--o);color:#141414;padding:.2rem .45rem;border-radius:4px}

/* ================= PAGINA SCUOLA ================= */
.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.5rem)}
.group{background:var(--card);border-radius:var(--r);padding:0 1.8rem 1.8rem;box-shadow:0 18px 40px -28px rgba(20,20,20,.4)}
.group .bib{box-shadow:none;margin:0 -1.8rem 1.4rem;border-radius:6px 6px 0 0;background:#141414;color:#fcfbfa;padding:1.1rem 1.4rem 1.2rem}
.group .bib::before,.group .bib::after{background:var(--o)}
.group .bib .bib-top{color:var(--o);border-color:#3a3734}
.group .bib b{font-size:3.4rem}
.courses{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--ink)}
.courses li{padding:1.4rem 1.6rem 1.5rem 0;border-bottom:1px solid var(--line)}
.courses li:nth-child(odd){border-right:1px solid var(--line)}
.courses li:nth-child(even){padding-left:1.6rem}
.courses h3{font-size:1.75rem}
.who{display:flex;flex-wrap:wrap;gap:.8rem}
.person{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r);padding:1rem 1.2rem;min-width:13rem;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.person:hover{transform:translateY(-2px)}
.person b{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.35rem;color:#141414;line-height:1.1}
.person span{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}

/* ================= PAGINA CONTATTI ================= */
.topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.topic{border-top:3px solid var(--ink);padding-top:1.2rem}
.topic h3{font-size:1.75rem}
.topic p{margin-bottom:1rem}
.topic ul{list-style:none}
.topic li{border-bottom:1px solid var(--line)}
.topic li a{display:flex;align-items:center;gap:.6rem;padding:.75rem 0;font-weight:600;color:var(--ink);transition:color .2s}
.topic li a:hover{color:var(--o-deep)}
.topic li a svg{color:var(--o-deep)}
.map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4rem);align-items:stretch}
.map iframe{width:100%;min-height:420px;height:100%;border:0;border-radius:var(--r);filter:grayscale(.3)}

/* ================= FOOTER ================= */
.foot{background:#141414;color:#cfc9c0;padding:3.5rem 0 2rem}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.foot .fh{font-family:var(--display);font-weight:900;text-transform:uppercase;color:#fff;font-size:1.3rem;margin-bottom:.8rem;letter-spacing:.02em}
.foot a{display:flex;align-items:center;gap:.5rem;padding:.2rem 0;color:#e6e0d7;transition:color .2s}
.foot a:hover{color:var(--o)}
.foot .flogo{height:70px;width:auto;margin-bottom:.9rem}
.foot .legal{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #2c2a27;font-size:.85rem;color:#8d877e;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.foot .legal a{display:inline;color:#8d877e;padding:0}
.foot .legal a:hover{color:var(--o)}

/* ================= RESPONSIVE ================= */
@media (max-width:980px){
  .tl{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .tl::before{left:.42rem;right:auto;top:0;bottom:0;width:3px;height:auto}
  .tl li{padding-left:2.2rem;position:relative}
  .tl .yr::after{position:absolute;left:0;top:.7rem;margin:0}
  .tl .yr{margin-bottom:.5rem}
  .foot .cols{grid-template-columns:1fr 1fr}
  .topics{grid-template-columns:minmax(0,1fr)}
  .event{grid-template-columns:minmax(0,1fr)}
  .event-side{position:static;flex-direction:row;align-items:flex-start}
  .event-side>*{flex:1}
}
@media (max-width:820px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:2px solid var(--ink);padding:.6rem var(--pad) 1rem}
  .nav.open{display:flex}
  .nav a{padding:.8rem .6rem}
  .nav .btn{margin:.5rem 0 0;justify-content:center}
  .burger{display:inline-flex}
  .site-head.solid .nav{background:#141414;border-bottom-color:var(--o)}
  .site-head.solid .nav a:hover{background:#262422}
  .hero .wrap,.page-hero .wrap,.split,.story-head,.results,.races,.social,.map,.groups{grid-template-columns:minmax(0,1fr)}
  .hero-media{margin-bottom:1.5rem}
  .hero-media .bib{left:.6rem;bottom:-1.2rem}
  .phil{grid-template-columns:minmax(0,1fr)}
  .social img{aspect-ratio:4/3}
  .rb-name span{display:none}
  .clock div{min-width:2.1rem}
  .clock div:last-child{display:none}
  .courses{grid-template-columns:minmax(0,1fr)}
  .courses li:nth-child(odd){border-right:0}
  .courses li:nth-child(even){padding-left:0}
  .map iframe{min-height:320px}
  .cols2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .rb-name b{font-size:1rem}
  .rb-cta{padding:.55rem .8rem;font-size:.82rem}
  .clock b{font-size:1.45rem}
  .sched li,.infolist li{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .foot .cols{grid-template-columns:1fr}
  .logo img{height:50px}
  .logos img{height:36px}
  .event-side{flex-direction:column}
  .parkrun{grid-template-columns:minmax(0,1fr)}
  .cal thead{display:none}
  .cal,.cal tbody,.cal tr,.cal td{display:block}
  .cal tr{padding:.9rem 0;border-bottom:1px solid var(--line)}
  .cal td{border:0;padding:.1rem 0}
  .prices thead{display:none}
  .prices,.prices tbody,.prices tr,.prices td{display:block}
  .prices tr{padding:.9rem 0;border-bottom:1px solid var(--line)}
  .prices td{border:0;padding:.1rem 0;white-space:normal}
  .prices td:first-child{font-size:1.5rem;white-space:normal}
  .prices .eur{margin-top:.3rem;white-space:normal}
  .prices .tier small{display:inline;margin-left:.3rem}
}

/* Pagina Privacy */
.prose{max-width:46rem}
.prose h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:2.8rem 0 .9rem;scroll-margin-top:10rem}
.prose h3{font-size:1.25rem;margin:1.6rem 0 .4rem}
.prose p{margin-bottom:1rem}

/* Mappa Contatti: si carica solo dopo il clic (niente dati a Google senza consenso) */
.map-box{min-height:420px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.map-box iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.3)}
.map-ask{max-width:24rem;padding:2rem 1.5rem;text-align:center;display:grid;justify-items:center;gap:.8rem}
.map-ask .map-pin{width:2.6rem;height:2.6rem;color:var(--o)}
.map-ask .note{margin:0}
@media (max-width:900px){.map-box,.map-box iframe{min-height:320px}}
.map-ask .btn{border:0;cursor:pointer;font-family:inherit}
