/* =====================================================================
   LA CILIEGIA MTB – FOGLIO DI STILE
   Per cambiare colori e font basta modificare le variabili qui sotto.
   ===================================================================== */

@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:400;font-style:italic;font-display:swap;src:url("../fonts/poppins-400i.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/poppins-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/poppins-700.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:700;font-style:italic;font-display:swap;src:url("../fonts/poppins-700i.woff2") format("woff2")}

:root{
  --rosso:#A30D2D;        /* rosso ciliegia */
  --rosso-scuro:#7E0922;
  --notte:#0F1C24;        /* antracite */
  --verde:#2E6B1F;        /* verde foglia */
  --bianco:#FFFFFF;
  --crema:#FBF4F0;
  --testo:#1E2A31;
  --font:"Poppins","Helvetica Neue",Arial,sans-serif;
  --larghezza:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font-family:var(--font);color:var(--testo);background:var(--bianco);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
main{overflow-x:clip}
.wrap{width:min(var(--larghezza),100% - 2.5rem);margin-inline:auto}

.topbar{position:sticky;top:0;z-index:50;background:var(--notte);color:var(--bianco);border-bottom:4px solid var(--rosso)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.02em}
.brand b{color:#ff6d86}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav a{text-decoration:none;font-weight:500;font-size:.95rem;opacity:.92}
.nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--rosso);text-decoration-thickness:3px}
.nav__cta{background:var(--rosso);padding:.45rem 1.1rem;opacity:1!important;font-weight:700!important;font-style:italic;text-transform:uppercase;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer}
.burger span{display:block;width:26px;height:3px;background:var(--bianco);margin:5px 0;transition:.2s}

.hero{position:relative;overflow:hidden;background:var(--rosso);color:var(--bianco);padding:2.5rem 0 3.5rem;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;background:var(--rosso-scuro)}
.hero::before{left:-10%;right:40%;top:12%;height:34px;transform:rotate(-12deg);clip-path:polygon(0 60%,100% 0,85% 100%)}
.hero::after{right:-10%;left:45%;bottom:18%;height:44px;transform:rotate(-12deg);clip-path:polygon(15% 0,100% 40%,0 100%)}
.hero__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;position:relative;z-index:2}
.presenta{font-weight:700;font-style:italic;font-size:1.05rem;letter-spacing:.04em}
.hero__logo{width:min(640px,100%);height:auto;filter:drop-shadow(0 8px 0 rgba(0,0,0,.18))}
.hero__data{width:min(440px,86%);height:auto}
.hero__luogo{font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em}
.countdown{font-weight:700;font-style:italic;font-size:1.05rem;background:var(--notte);padding:.35rem 1.4rem;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}
.countdown:empty{display:none}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-top:.6rem}
.hero__mascotte{position:absolute;z-index:1;pointer-events:none}
.hero__mascotte--sx{left:max(.5rem,calc(50% - 700px));bottom:-1rem;width:clamp(150px,19vw,270px)}
.hero__mascotte--dx{right:max(.5rem,calc(50% - 700px));bottom:-1rem;width:clamp(130px,16vw,230px)}

.btn{display:inline-block;font:inherit;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;cursor:pointer;border:3px solid transparent;padding:.75rem 1.7rem;transition:transform .15s, box-shadow .15s;box-shadow:0 5px 0 rgba(0,0,0,.28)}
.btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(0,0,0,.28)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.28)}
.btn--bianco{background:var(--bianco);color:var(--rosso)}
.btn--bordo{background:transparent;color:var(--bianco);border-color:var(--bianco)}
.btn--rosso{background:var(--rosso);color:var(--bianco)}
.btn.is-off{opacity:.55;cursor:not-allowed;pointer-events:none}

.sezione{padding:4.5rem 0}
.sezione--crema{background:var(--crema)}
.sezione--rosso{background:var(--rosso);color:var(--bianco)}
.sezione--notte{background:var(--notte);color:var(--bianco)}
.sezione--partner{padding:2.2rem 0;border-top:4px solid var(--rosso);background:var(--bianco)}

.titolo{display:inline-block;margin-bottom:2rem;padding:.45rem 2.2rem .7rem 1.6rem;color:var(--bianco);font-size:clamp(1.25rem,3.2vw,1.9rem);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.2;
  background:linear-gradient(var(--notte) 0 80%,var(--rosso) 80% 100%);clip-path:polygon(0 0,100% 0,96% 100%,2% 100%)}
.titolo--rosso{background:linear-gradient(var(--rosso) 0 80%,var(--rosso-scuro) 80% 100%)}
.lead{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:700;font-style:italic;color:var(--rosso);line-height:1.3;margin-bottom:.8rem}
.lead--chiaro{color:var(--bianco)}
.testo{font-size:1.1rem;max-width:34em}
.testo--chiaro{color:rgba(255,255,255,.9);margin-bottom:1.6rem}
.chip{display:inline-block;margin-top:1.4rem;padding:.55rem 1.3rem;background:var(--verde);color:var(--bianco);font-weight:700;font-style:italic;font-size:1.05rem;transform:rotate(-2deg);box-shadow:0 5px 0 rgba(0,0,0,.2)}

.due-col{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.figura img{width:min(400px,100%);margin-inline:auto}

.griglia-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.8rem}
.card{background:var(--bianco);border:4px solid var(--notte);padding:1.8rem 1.6rem;text-align:center;box-shadow:8px 8px 0 var(--rosso)}
.card__icona{width:150px;margin:0 auto 1rem}
.card h3{font-size:1.25rem;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--rosso);line-height:1.3;margin-bottom:.6rem}
.trofeo{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:center;margin-top:3.2rem;background:var(--notte);color:var(--bianco);padding:1.6rem 2rem;border-bottom:8px solid var(--rosso)}
.trofeo img{width:180px;margin:-3rem auto -1rem}
.trofeo h3{font-size:1.35rem;font-weight:700;font-style:italic;text-transform:uppercase;color:#ff8da1;margin-bottom:.5rem}
.trofeo strong{color:var(--bianco)}

.programma-wrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2.6rem;align-items:start}
.programma-wrap__img{position:sticky;top:96px}
.programma{display:grid;gap:1.4rem}
.riga{display:grid;grid-template-columns:150px 1fr;gap:1.6rem;align-items:center;padding:1rem 1.4rem 1rem 1rem;background:var(--bianco);border:3px solid var(--notte);box-shadow:6px 6px 0 var(--rosso)}
.riga__ora{width:150px}
.riga__corpo{display:flex;align-items:center;gap:1.3rem}
.riga__icona{width:84px;flex:none}
.riga__icona--grande{width:104px;margin-block:-.8rem}
.riga h3{font-size:1.2rem;font-weight:700;font-style:italic;color:var(--rosso);line-height:1.3}
.riga p{margin-top:.2rem}

.due-col--menu{grid-template-columns:.8fr 1.2fr}
.figura--menu img{width:min(380px,100%)}
.menu-card{background:var(--bianco);color:var(--testo);border:5px solid var(--notte);border-radius:28px;padding:2rem 2.2rem;box-shadow:10px 10px 0 rgba(0,0,0,.28)}
.menu-titolo{font-size:2.4rem;font-weight:700;font-style:italic;color:var(--rosso);line-height:1;margin-bottom:1rem}
.menu-gruppo{margin:1.4rem 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:var(--verde);font-weight:700}
.menu-lista li{display:flex;align-items:baseline;gap:.6rem;padding:.3rem 0;font-weight:500}
.menu-lista li::after{content:none}
.menu-nome{flex:0 1 auto}
.menu-lista li::before{content:"";order:1;flex:1;border-bottom:2px dotted #c9b9b9;transform:translateY(-4px)}
.menu-prezzo{order:2;font-weight:700;color:var(--rosso);white-space:nowrap}

.dove{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.4rem;align-items:center}
.dove__pin{width:100px;margin-bottom:.6rem}
.dove__info .testo{margin-bottom:1.5rem}
.dove__mappa{border:5px solid var(--notte);box-shadow:10px 10px 0 var(--rosso);background:#e9e9e9;aspect-ratio:4/3;min-height:280px}
.dove__mappa iframe{width:100%;height:100%;border:0;display:block}

.iscr{display:grid;grid-template-columns:200px 1fr;gap:2.4rem;align-items:center}
.iscr__icona{width:190px}

.partner{display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;justify-content:center;align-items:center}
.partner img{height:80px;width:auto;object-fit:contain}

.footer{background:var(--rosso);color:var(--bianco);padding:2.4rem 0;text-align:center;border-top:6px solid var(--notte)}
.footer__in{display:grid;gap:.3rem}
.footer__nome{font-size:1.3rem;font-weight:700;font-style:italic;text-transform:uppercase}
.footer a{text-underline-offset:4px}

@media (max-width:1000px){
  .programma-wrap{grid-template-columns:1fr}
  .programma-wrap__img{display:none}
}
@media (max-width:860px){
  .burger{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--notte);border-bottom:4px solid var(--rosso);max-height:0;overflow:hidden;transition:max-height .25s}
  .nav.is-open{max-height:420px}
  .nav a{padding:.95rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}
  .nav__cta{clip-path:none;margin:.8rem 1.5rem 1.1rem;text-align:center}
  .topbar{position:sticky}
  .due-col,.due-col--menu,.dove,.iscr,.trofeo{grid-template-columns:1fr}
  .trofeo{text-align:center;padding-top:0}
  .trofeo img{margin:-2.4rem auto 0}
  .iscr{text-align:center}
  .iscr__icona{margin-inline:auto;width:130px}
  .iscr .testo{margin-inline:auto}
  .riga{grid-template-columns:104px 1fr;gap:1rem;padding:.8rem}
  .riga__ora{width:104px}
  .riga__corpo{gap:.8rem}
  .riga__icona{width:58px}
  .riga__icona--grande{width:72px}
  .riga h3{font-size:1.02rem}
  .hero__mascotte{display:none}
  .programma-wrap{grid-template-columns:1fr}
  .programma-wrap__img{display:none}
  .sezione{padding:3.2rem 0}
  .menu-card{padding:1.5rem 1.3rem}
}

.brand img{width:48px;height:48px;object-fit:contain}

.sezione--crema .lead{margin-bottom:2rem}
.lead strong{color:var(--notte)}
.card .btn--piccolo{margin-top:1rem}
.btn--piccolo{padding:.5rem 1.2rem;font-size:.85rem}
.sottotitolo{margin:3.4rem 0 .4rem;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;font-style:italic;text-transform:uppercase;color:var(--rosso);text-align:center}
.testo--centro{margin:0 auto 2rem;text-align:center}
.podi{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.podio{background:var(--bianco);border:3px solid var(--notte);padding:1.1rem .8rem 1.2rem;text-align:center;box-shadow:5px 5px 0 var(--rosso)}
.podio img{width:118px;margin:0 auto .4rem}
.podio h4{margin:0;font-size:1.05rem;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--notte);line-height:1.25}
.podio p{margin:.2rem 0 0;font-weight:700;color:var(--rosso)}

.req{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:.2rem 0 1.6rem;max-width:780px}
.req li{display:flex;align-items:center;gap:.9rem;background:var(--bianco);color:var(--testo);padding:.8rem 1rem;border-left:6px solid var(--rosso);font-weight:700;line-height:1.3}
.req img{width:56px;flex:none}

.hero--piccola{padding:2.2rem 0 2.6rem}
.titolo-pagina{font-size:clamp(2rem,6vw,3.4rem);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.1;background:var(--notte);padding:.3rem 2.4rem .5rem;clip-path:polygon(2% 0,100% 0,98% 100%,0 100%);border-bottom:0;box-shadow:inset 0 -8px 0 var(--rosso)}
.tracce-intro{max-width:46em;margin-bottom:2.6rem}
.traccia{margin-bottom:4.2rem;scroll-margin-top:90px}
.traccia__testa{display:flex;align-items:center;gap:1.6rem;margin-bottom:1.2rem}
.traccia__testa .titolo{margin-bottom:.8rem}
.traccia__icona{width:110px;flex:none}
.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin:1.4rem 0}
.chips li{background:var(--notte);color:var(--bianco);padding:.8rem 1rem;border-bottom:5px solid var(--rosso);display:grid;line-height:1.25}
.chips b{font-size:1.4rem;font-weight:700;font-style:italic}
.chips span{font-size:.8rem;opacity:.85}
.mappa{border:4px solid var(--notte);border-radius:22px;box-shadow:8px 8px 0 var(--rosso);overflow:hidden;background:#FBF4F0}
.mappa-svg,.profilo-svg{display:block;width:100%;height:auto}
.suggerimento{margin:1.8rem 0 .6rem;font-style:italic;font-weight:500;color:#6b5a55}
.profilo{border:4px solid var(--notte);border-radius:22px;box-shadow:8px 8px 0 var(--rosso);overflow:hidden;background:#FBF4F0}
.legenda{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin:1.2rem 0 0;font-size:.85rem;font-weight:500}
.legenda li{display:flex;align-items:center;gap:.4rem}
.legenda i{display:inline-block;width:22px;height:10px;border-radius:3px;border:2px solid var(--notte)}
.traccia__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.6rem}
.traccia__nota{font-size:.88rem;color:#6b5a55;max-width:30em}

@media (max-width:860px){
  .req__dl{display:none}
  .podi{grid-template-columns:repeat(2,1fr)}
  .traccia__testa{flex-direction:column;align-items:flex-start}
  .traccia__icona{width:84px}
}

.cta-reg{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.8rem 1.4rem;margin:0 0 2.6rem}
.btn--racing{--ocra:#F2A900;position:relative;color:var(--notte);font-size:clamp(1.05rem,2.6vw,1.4rem);padding:1rem 2.2rem;border:4px solid var(--notte);
  background:repeating-linear-gradient(135deg,var(--ocra) 0 16px,#FFC72C 16px 32px);transform:skewX(-9deg);box-shadow:7px 7px 0 var(--notte);letter-spacing:.04em}
.btn--racing>span{display:inline-flex;align-items:center;gap:.8rem;transform:skewX(9deg)}
.btn--racing:hover{transform:skewX(-9deg) translate(-2px,-2px);box-shadow:10px 10px 0 var(--notte)}
.btn--racing:active{transform:skewX(-9deg) translate(3px,3px);box-shadow:3px 3px 0 var(--notte)}
.btn__flag{flex:none}
.btn__arr{flex:none;transition:transform .15s}
.btn--racing:hover .btn__arr{transform:translateX(5px)}
.btn--grande{padding:1rem 2.8rem;font-size:1.25rem}
.cta-reg__nota{font-weight:700;font-style:italic;color:var(--rosso)}

.scadenza{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.2rem .7rem;margin:0 0 1.4rem;padding:.6rem 1.5rem .6rem 1.2rem;background:#F2A900;color:var(--notte);font-weight:700;font-style:italic;clip-path:polygon(0 0,100% 0,97% 100%,0 100%)}
.scadenza__g{font-size:1.15em;background:var(--notte);color:#FFC72C;padding:.05rem .7rem;font-style:italic}
.scadenza__g:empty{display:none}
.scadenza.is-chiusa{background:#8a8f93;color:#fff}
.req--btn{padding:0!important;border-left:0!important;background:none!important}
.req--btn a{display:flex;align-items:center;gap:.9rem;width:100%;height:100%;background:var(--bianco);color:var(--testo);text-decoration:none;padding:.8rem 1rem;border-left:6px solid #F2A900;transition:transform .15s, box-shadow .15s;box-shadow:0 5px 0 rgba(0,0,0,.35)}
.req--btn a:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(0,0,0,.35)}
.req--btn small{display:block;font-weight:500;font-size:.78rem;color:#6b5a55;margin-top:.15rem}
.req__dl{margin-left:auto;flex:none;background:#F2A900;color:var(--notte);padding:.25rem .7rem;font-style:italic;font-size:.82rem;text-transform:uppercase;white-space:nowrap}

.wrap--stretto{width:min(860px,100% - 2.5rem)}
.articoli{display:grid;gap:1.4rem}
.art{background:var(--bianco);border:3px solid var(--notte);padding:1.3rem 1.6rem;box-shadow:6px 6px 0 var(--rosso)}
.art h3{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--rosso)}
.art p{max-width:none}
.art a{color:var(--rosso);font-weight:600;text-underline-offset:3px}
.reg-link{margin-top:2.2rem}
.footer__link{margin-top:.3rem}

.modulo{margin-top:2rem}
.sez{border:0;margin:0 0 2.4rem;padding:0;min-width:0}
.sez .titolo{margin-bottom:1.4rem}
.campi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1.8rem}
.campo{display:flex;flex-direction:column;border:0;margin:0;padding:0;min-width:0}
.campo--full{grid-column:1/-1}
.campo>label{display:flex;flex-direction:column;gap:.1rem}
.lab{font-size:.8rem;font-weight:600;color:#6b5a55;padding:0}
.obbl>label>.lab::after,.obbl>.lab::after{content:" *";color:var(--rosso);font-weight:700}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo textarea{font:inherit;font-size:1.05rem;color:var(--notte);background:transparent;border:0;border-bottom:2px solid var(--notte);border-radius:0;padding:.6rem .15rem;width:100%;transition:background .15s,border-color .15s}
.campo textarea{resize:vertical;border:2px solid var(--notte);padding:.6rem .7rem;background:var(--bianco)}
.campo input:focus,.campo textarea:focus{outline:0;border-color:var(--rosso);background:#FFF6D8}
.opzioni{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem}
.opzioni--colonna{flex-direction:column}
.opz{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem 1rem;background:var(--bianco);border:2px solid var(--notte);cursor:pointer;font-weight:500;line-height:1.35;transition:border-color .15s,background .15s}
.opz input{accent-color:var(--rosso);width:1.15rem;height:1.15rem;margin-top:.15rem;flex:none}
.opz:hover{border-color:var(--rosso)}
.opz:has(input:checked){border-color:var(--rosso);background:#FFF1F4;font-weight:600}
.modulo__nota{font-size:.88rem;color:#6b5a55;margin-top:.9rem;max-width:none}
.modulo__nota a{color:var(--rosso);font-weight:600;text-underline-offset:3px}
.modulo__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1rem}
.modulo__msg{margin:1rem 0 0;padding:.8rem 1rem;background:#FFF1C9;border-left:5px solid #F2A900;font-weight:600}
.trappola{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.modulo-ok,.modulo-alt{margin-top:2rem;padding:2rem;background:var(--bianco);border:4px solid var(--notte);box-shadow:8px 8px 0 var(--rosso)}
.modulo-ok .lead,.modulo-alt .lead{margin-bottom:.6rem}
.modulo-ok .btn,.modulo-alt .btn{margin-top:1rem}
.callout-ocra{margin:1.4rem 0 0;padding:.9rem 1.2rem;background:#FFF1C9;border-left:5px solid #F2A900}
.callout-ocra p{margin:0}
.footer__link a+a{margin-left:.2rem}

@media (max-width:860px){
  .campi{grid-template-columns:1fr}
}

[hidden]{display:none!important}
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
.topbar{top:env(safe-area-inset-top,0px)}
.dove__mappa{aspect-ratio:auto;min-height:0;background:none;border:4px solid var(--notte);border-radius:22px;overflow:hidden}
.dove__mappa .mappa-svg{display:block;width:100%;height:auto}
.traccia__nota[data-nodl]{color:var(--rosso);font-weight:600}

/* Aggiornamento 2026: percorso, regolamento e localizzazione */
.route-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:1.5rem 0}
.route-stats>div{background:#f6f4ed;border:1px solid #e2e4db;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:5px}
.route-stats strong{font-size:clamp(1.35rem,3vw,2rem);color:#c9233b;line-height:1.1}
.route-stats span,.route-caption{font-size:.9rem;color:#5e675f;line-height:1.55}
.route-card{background:#fff;border:1px solid #e6e6df;border-radius:20px;padding:clamp(12px,2vw,22px);margin:1.25rem 0;box-shadow:0 10px 28px rgba(25,45,33,.06)}
.route-graphic{display:block;width:100%;height:auto;border-radius:12px}
.route-card--gp{background:#fffaf0;border-color:#f2d8a8}
.route-note{border-left:4px solid #c9233b;padding:14px 18px;background:#f8f6f0;border-radius:0 12px 12px 0;margin:1.5rem 0}
.route-note p{margin:.4rem 0 0}
.regolamento-premessa{font-size:1.1rem;line-height:1.8;padding:22px 24px;background:#f6f4ed;border-radius:16px;margin-bottom:1.4rem}
.art ul{padding-left:1.25rem;display:grid;gap:.7rem;line-height:1.7}
.art li::marker{color:#c9233b}
.regolamento-footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem}
.programma-dettaglio{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 1.25rem}
.dove--rinnovato{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:26px;align-items:stretch}
.proloco-logo{display:block;width:min(220px,70%);height:auto;object-fit:contain;margin:0 auto 1.4rem;border-radius:12px;background:#fff}
.dove__info h3,.dove__mappa h3{margin:.4rem 0 1rem}
.dove__mappa iframe{width:100%;height:430px;border:0;border-radius:16px;display:block}
@media(max-width:760px){.route-stats{grid-template-columns:1fr}.dove--rinnovato{grid-template-columns:1fr}.dove__mappa iframe{height:330px}.regolamento-premessa{padding:16px}}

.proloco-logo{width:150px;height:auto;border-radius:0;background:none;filter:drop-shadow(0 6px 0 rgba(15,28,36,.12))}
.traccia--gp{margin-top:1rem}
.gp-hero{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.8rem;align-items:center;padding:2rem 2.2rem;margin:0 0 1.8rem;color:var(--notte);border:4px solid var(--notte);box-shadow:9px 9px 0 var(--notte);background:repeating-linear-gradient(135deg,#F2A900 0 18px,#FFC72C 18px 36px)}
.gp-hero__icona{width:150px;filter:drop-shadow(0 5px 0 rgba(15,28,36,.25))}
.gp-kicker{display:inline-block;background:var(--notte);color:#FFC72C;font-weight:800;font-size:.74rem;letter-spacing:.14em;padding:.25rem .8rem}
.gp-hero h2{margin:.7rem 0 .5rem;font-size:clamp(1.8rem,4.6vw,2.8rem);font-style:italic;font-weight:800;text-transform:uppercase;line-height:1.05}
.gp-hero p{margin:.5rem 0;max-width:62ch;font-weight:600;font-size:1.04rem}
.gp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.3rem;margin:2.4rem 0 2rem}
.gp-step{position:relative;background:#fff;border:3px solid var(--notte);padding:1.5rem 1.3rem 1.3rem;box-shadow:6px 6px 0 var(--rosso)}
.gp-step .num{position:absolute;top:-20px;left:16px;background:var(--rosso);color:#fff;font-style:italic;font-weight:800;font-size:1.2rem;padding:.05rem .9rem;border:3px solid var(--notte)}
.gp-step h3{margin:.3rem 0 .45rem;color:var(--rosso);font-style:italic;text-transform:uppercase;font-size:1.08rem}
.gp-step p{margin:0;font-size:.98rem}
.gp-sottotitolo{margin:2.4rem 0 1.2rem;font-style:italic;text-transform:uppercase;color:var(--rosso);font-size:1.4rem}
.gp-scheda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.8rem 0 1.4rem;border:3px solid var(--notte);background:#fff}
.gp-scheda div{padding:.85rem 1.15rem;border-bottom:1px solid #e4d3cb}
.gp-scheda div:nth-child(odd){border-right:1px solid #e4d3cb}
.gp-scheda div:nth-last-child(-n+2){border-bottom:0}
.gp-scheda dt{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#95610b}
.gp-scheda dd{margin:.15rem 0 0;font-weight:600}
.gp-fonte{margin-top:1.2rem}
.btn--racing{background:repeating-linear-gradient(135deg,#F2A900 0 16px,#FFC72C 16px 32px);color:var(--notte);border:4px solid var(--notte);transform:skewX(-9deg);box-shadow:7px 7px 0 var(--notte)}
.btn--racing>span{display:inline-block;transform:skewX(9deg)}
@media (max-width:760px){
  .gp-hero{grid-template-columns:1fr;padding:1.5rem}
  .gp-hero__icona{width:110px}
  .gp-steps{grid-template-columns:1fr}
  .gp-scheda{grid-template-columns:1fr}
  .gp-scheda div:nth-child(odd){border-right:0}
  .gp-scheda div:nth-last-child(2){border-bottom:1px solid #e4d3cb}
}

.route-official-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.5rem 0 1rem;padding:1.4rem 1.5rem;border-radius:18px;background:linear-gradient(120deg,#10251f,#19372c);color:#fff;box-shadow:0 12px 30px #071a1520}
.route-official-head .titolo{margin:.25rem 0;color:#fff}.route-official-head .testo{color:#e7eee9;max-width:680px;margin:.4rem 0 0}.route-kicker{display:inline-block;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#b32443}.route-official-head .route-kicker{color:#f3b2c0}
.route-embed-card{overflow:hidden;border:1px solid #d9ded8;border-radius:18px;background:#fff;box-shadow:0 10px 28px #17251d12}.route-embed-top{display:flex;align-items:center;gap:.65rem;padding:1rem 1.2rem;background:#f4f6f2;border-bottom:1px solid #e2e6df}.route-live-dot{width:10px;height:10px;border-radius:50%;background:#b32443;box-shadow:0 0 0 4px #b3244318}.route-embed-tag{margin-left:auto;font-size:.68rem;letter-spacing:.08em;font-weight:800;color:#59685e}.route-komoot-embed{display:block;width:100%;height:680px;border:0;background:#f7f7f2}.route-embed-card .route-caption{padding:0 1.2rem 1rem}.route-gp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:1rem;margin:1.2rem 0}.route-gp-card,.route-gp-side{border:1px solid #e0e3dc;border-radius:16px;padding:1.35rem;background:#fff}.route-gp-card{display:flex;gap:1rem;align-items:flex-start}.route-gp-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#b32443;color:#fff;font-size:1.5rem}.route-gp-card .titolo{margin:.25rem 0 .6rem}.route-gp-card .testo,.route-gp-side p{margin:.35rem 0}.route-gp-side{background:#fff7e9;border-color:#f0d7a7}.route-gp-side h3{margin:.45rem 0;font-size:1.1rem}.route-gp-side .route-kicker{color:#95610b}.route-note{margin-top:1.2rem;padding:1rem 1.2rem;border-left:4px solid #b32443;border-radius:0 12px 12px 0;background:#f5f5f0}.route-note p{margin:.35rem 0 0}.route-caption{font-size:.84rem;color:#626c65;line-height:1.5}
@media(max-width:760px){.route-official-head{align-items:flex-start;flex-direction:column}.route-komoot-embed{height:620px}.route-gp-grid{grid-template-columns:1fr}.route-gp-card{flex-direction:column}.route-embed-tag{font-size:.58rem}}

picture{display:contents}
picture>source{display:none!important}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:.5rem;top:-5rem;z-index:1000;background:#fff;color:var(--notte);padding:.75rem 1.1rem;font-weight:700;border:3px solid var(--notte);text-decoration:none;transition:top .15s}
.skip-link:focus{top:.5rem}
:focus-visible{outline:3px solid #F2A900;outline-offset:3px}
.topbar :focus-visible,.hero :focus-visible,.footer :focus-visible,.sezione--rosso :focus-visible,.sezione--notte :focus-visible{outline-color:#FFC72C}
@media (max-width:860px),(pointer:coarse){.burger{min-width:44px;min-height:44px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.art h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--rosso);line-height:1.3}
.art h3.art__sub{margin:1.2rem 0 .3rem;font-size:1rem;font-weight:700;font-style:italic;text-transform:none;color:var(--notte)}
.art h2+h3,.art h2+p{margin-top:.2rem}
.art p+p{margin-top:.65rem}
.reg-lista{margin:.5rem 0 .9rem 1.2rem;padding:0;list-style:disc}
.reg-lista li{margin:.3rem 0}
.reg-programma{list-style:none;margin:.7rem 0 1rem;padding:0;display:grid;gap:.7rem}
.reg-programma li{display:grid;grid-template-columns:minmax(130px,190px) 1fr;gap:.2rem 1rem;padding:.75rem .95rem;background:#FBF4F0;border-left:5px solid var(--rosso)}
.reg-ora{color:var(--rosso);font-style:italic}
@media (max-width:640px){.reg-programma li{grid-template-columns:1fr}}

.documenti{margin-top:3.2rem}
.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:1.6rem}
@media (max-width:640px){.doc-grid{grid-template-columns:1fr}}
.doc-card{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;background:#fff;border:3px solid var(--notte);padding:1.3rem 1.3rem 1.4rem;box-shadow:6px 6px 0 var(--rosso)}
.doc-card img{width:64px;height:auto}
.doc-card h3{margin:.2rem 0 0;color:var(--rosso);font-style:italic;text-transform:uppercase;font-size:1.02rem;line-height:1.25}
.doc-card p{margin:0 0 .6rem;font-size:.95rem;flex:1}
