/*
Theme Name: GT Karting
Theme URI: https://www.gtkarting.it/
Author: GT Karting
Description: Tema WordPress personalizzato per GT Karting Bologna.
Version: 1.0.49
Text Domain: gt-karting
*/

@import url('https://fonts.googleapis.com/css2?family=Oxanium:wght@500;600;700;800&display=swap');

:root{--bg:#08090b;--panel:#11141a;--panel2:#171a21;--text:#fff;--muted:#a9adb4;--red:#ed1b24;--green:#008c45;--line:rgba(255,255,255,.11);--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(8,9,11,.95);border-bottom:2px solid var(--red);backdrop-filter:blur(12px)}.header-inner{height:84px;width:min(var(--max),calc(100% - 44px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{background:#fff;padding:7px 12px 10px;position:relative;display:flex}.brand:after{content:"";height:4px;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(90deg,var(--green) 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%)}.brand img{width:125px;height:auto}.desktop-nav{display:flex;gap:20px;align-items:center}.desktop-nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#ddd}.desktop-nav a:hover,.desktop-nav a.active{color:var(--red)}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--red);border:1px solid var(--red);color:#fff;padding:14px 22px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:skew(-7deg);box-shadow:6px 6px 0 rgba(237,27,36,.17);transition:.2s}.btn:hover{background:#fff;border-color:#fff;color:#090a0c;transform:skew(-7deg) translateY(-2px)}.btn-outline{background:transparent;border-color:rgba(255,255,255,.55);box-shadow:none}.btn-small{padding:10px 14px;font-size:10px}.btn-block{width:100%}.menu-btn,.mobile-nav{display:none}.hero{position:relative;min-height:720px;display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden}.hero-home{background-image:url('assets/pista.png')}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.98) 0%,rgba(5,6,8,.84) 48%,rgba(5,6,8,.2) 100%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.85))}.hero-content{position:relative;z-index:1;padding:100px 0}.kicker{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px}h1,h2,h3{font-family:'Oxanium',Impact,'Arial Narrow',sans-serif;font-weight:800;letter-spacing:-.035em;line-height:.94;margin:0 0 22px;text-transform:uppercase}h1{font-size:clamp(58px,7.4vw,102px);max-width:980px}h1 span{color:var(--red)}h2{font-size:clamp(40px,4.6vw,66px)}h3{font-size:28px;letter-spacing:-.02em}.hero-lead,.subhero p{max-width:720px;font-size:19px;color:#d7d9dd}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:55px}.stats div{border-left:4px solid var(--red);padding-left:12px;display:flex;flex-direction:column}.stats strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:30px}.stats span{font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.race-strip{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;padding:15px;background:var(--red);font-size:13px;font-weight:900;letter-spacing:.1em}.section{padding:110px 0}.section-dark{background:#0d0f13}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.reverse>div:first-child{order:2}.image-frame{border:1px solid var(--line);box-shadow:18px 18px 0 rgba(237,27,36,.14);overflow:hidden}.image-frame img{width:100%;height:440px;object-fit:cover;display:block}.image-frame.contain img{object-fit:contain;background:#11141a}.ticks{list-style:none;padding:0;margin:28px 0}.ticks li{padding:10px 0;border-bottom:1px solid var(--line)}.ticks li:before{content:'✓';color:var(--red);font-weight:900;margin-right:10px}.text-link{color:var(--red);font-weight:900;font-size:12px;letter-spacing:.06em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head>p{max-width:460px;color:var(--muted)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{background:var(--panel);border:1px solid var(--line);border-top:4px solid #343941;padding:32px}.price-card.featured{border-color:var(--red);transform:translateY(-10px);box-shadow:12px 12px 0 rgba(237,27,36,.13)}.card-label{color:var(--red);font-size:11px;font-weight:900;letter-spacing:.13em}.price{font-family:Impact,'Arial Narrow',sans-serif;font-size:50px;margin:14px 0}.price-card p,.price-card li{color:var(--muted)}.price-card ul{padding-left:18px}.center{text-align:center;margin-top:35px}.made-italy{background:linear-gradient(120deg,rgba(0,140,69,.06),transparent 30%,rgba(205,33,42,.06)),#090b0e}.tricolor{height:6px;background:linear-gradient(90deg,var(--green) 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%);margin-bottom:35px}.wide{max-width:820px;color:#d0d3d7;font-size:18px}.pillars,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:42px}.pillars article,.feature-grid article{background:#0c0e12;padding:34px}.pillars b,.feature-grid span{color:var(--red);font-family:Impact;font-size:22px}.pillars p,.feature-grid p{color:var(--muted)}.app-grid,.app-full{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.phone-showcase{width:260px;margin:auto;padding:12px;background:#030405;border:2px solid #454a54;border-radius:38px;box-shadow:22px 22px 0 rgba(237,27,36,.13)}.phone-showcase img{display:block;width:100%;border-radius:26px}.store-row{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.store{display:flex;align-items:center;gap:10px;background:#fff;color:#08090b;padding:10px 15px;min-width:200px;font-weight:900}.store span{display:flex;flex-direction:column;line-height:1.05}.store small{font-size:9px;text-transform:uppercase}.social-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.social-tile{height:340px;background-size:cover;background-position:center;position:relative;border:1px solid var(--line)}.social-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9))}.social-tile span{position:absolute;left:24px;bottom:20px;z-index:1;font-family:Impact;font-size:38px}.social-tile small{font:700 12px Arial;color:var(--red)}.tile1{background-image:url('assets/pista.png')}.tile2{background-image:url('assets/kart-eventi.png');background-color:#171a20;background-size:contain;background-repeat:no-repeat}.tile3{background-image:url('assets/manager-pilota.png');background-color:#171a20;background-size:contain;background-repeat:no-repeat}.social-buttons{display:flex;justify-content:center;gap:14px}.partners{background:#f2f2f2;color:#111}.center-text{text-align:center}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:820px;margin:45px auto 0}.partner-grid a{background:#fff;border:1px solid #ddd;padding:30px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.partner-grid img{max-width:190px;max-height:115px;object-fit:contain}.partner-grid span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.cta{text-align:center;padding:85px 0;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.8)),url('assets/pista.png') center/cover}.cta div div{display:flex;justify-content:center;gap:14px}.subhero{padding:120px 0 90px;background:linear-gradient(120deg,rgba(237,27,36,.12),transparent 40%),#101319;border-bottom:1px solid var(--line)}.subhero-pista{background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.4)),url('assets/pista-hero.jpg') center/cover no-repeat,#0d1015}.subhero-corp{background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.35)),url('assets/manager-pilota.png') right center/contain no-repeat,#0d1015}.spec-grid,.requirements{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.spec-grid div,.requirements div{background:var(--panel);border-left:4px solid var(--red);padding:18px;display:flex;flex-direction:column}.spec-grid strong,.requirements strong{font-family:Impact;font-size:25px}.spec-grid span,.requirements span{font-size:11px;color:var(--muted);text-transform:uppercase}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.service-grid article{padding:22px;background:var(--panel);border-top:3px solid var(--red);font-weight:900;text-align:center;font-size:12px}.service-card{display:flex;align-items:center;justify-content:center;min-height:110px}.service-photo{position:relative;padding:0 !important;overflow:hidden;align-items:flex-end;justify-content:flex-start;min-height:210px;border:1px solid var(--line);border-top:3px solid var(--red)}.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.service-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.10) 42%,rgba(0,0,0,.72) 74%,rgba(0,0,0,.96) 100%)}.service-photo span{position:relative;z-index:1;display:block;width:100%;padding:20px 16px 16px;text-align:left;font-size:12px;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.75)}.requirements{grid-template-columns:repeat(3,1fr);margin:40px 0}.hours{width:100%;border-collapse:collapse}.hours td{padding:14px;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right;font-weight:900}.note{color:var(--muted);font-size:13px}.corp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.corp-grid article{background:var(--panel);border-top:4px solid var(--red);padding:26px}.corp-grid strong{color:var(--red)}.corp-grid p{color:var(--muted)}.steps{list-style:none;padding:0}.steps li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.steps b{font-family:Impact;font-size:30px;color:var(--red)}.steps h3{font-size:24px;margin-bottom:7px}.steps p{margin:0;color:var(--muted)}.registration-card{background:var(--panel);border-top:5px solid var(--red);padding:35px}.carousel{width:310px;margin:auto;position:relative;padding:12px;background:#030405;border:2px solid #444a55;border-radius:40px;box-shadow:22px 22px 0 rgba(237,27,36,.13)}.carousel-window{overflow:hidden;border-radius:27px}.carousel-track{display:flex;transition:transform .35s}.carousel-track img{width:100%;flex:0 0 100%;display:block}.carousel-prev,.carousel-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.75);color:#fff;font-size:25px;cursor:pointer}.carousel-prev{left:20px}.carousel-next{right:20px}.carousel-dots{display:flex;justify-content:center;gap:7px;padding:12px}.carousel-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#555}.carousel-dots button.active{background:var(--red)}.app-list{list-style:none;padding:0}.app-list li{padding:13px;border-bottom:1px solid var(--line)}.app-list b{color:var(--red);margin-right:10px}.leaderboard{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.scoreboard{background:#0d1014;border:1px solid var(--line);padding:12px}.scoreboard>div{display:grid;grid-template-columns:60px 1fr 120px;gap:10px;padding:15px;border-bottom:1px solid var(--line);font-family:monospace}.score-head{font-size:10px;color:var(--muted)}.scoreboard b{color:var(--red)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-cards a{padding:20px;background:var(--panel);border-left:4px solid var(--red);display:flex;flex-direction:column}.contact-cards small{color:var(--red);font-weight:900}.map-card{min-height:400px;background:#12151b;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:22px}.map-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:35px 35px;transform:rotate(12deg) scale(1.3)}.map-card span,.map-card a{position:relative}.site-footer{background:#050608;border-top:2px solid var(--red);padding:60px 0 20px}.footer-grid{width:min(var(--max),calc(100% - 44px));margin:auto;display:grid;grid-template-columns:2fr 1.25fr 1fr 1fr;gap:35px}.footer-grid>div{display:flex;flex-direction:column;gap:7px}.footer-grid h4{margin:0 0 10px;text-transform:uppercase}.footer-grid a,.footer-grid p{color:var(--muted);font-size:13px}.footer-logo{width:180px;background:#fff;padding:9px}.social-row{display:flex;gap:8px}.social-row a,.floating-socials a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line);color:#fff;font-weight:900}.footer-bottom{width:min(var(--max),calc(100% - 44px));margin:35px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777;font-size:11px}.floating-socials{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:7px}.floating-socials a:hover{background:var(--red)}
@media(max-width:1050px){.desktop-nav{display:none}.header-inner>.btn{display:none}.menu-btn{display:block;background:none;border:0;color:#fff;font-size:27px}.mobile-nav{display:none;padding:15px 22px;background:#0b0d10}.mobile-nav.open{display:grid}.mobile-nav a{padding:11px;border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase;font-size:12px}.split,.app-grid,.app-full,.leaderboard,.contact-grid{grid-template-columns:1fr}.price-grid,.corp-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:650px}.reverse>div:first-child{order:0}}
@media(max-width:680px){.container,.header-inner,.footer-grid,.footer-bottom{width:min(100% - 30px,var(--max))}.section{padding:75px 0}.hero-content{padding:75px 0}.hero{min-height:620px}h1{font-size:55px}h2{font-size:42px}.stats{gap:20px}.section-head{display:block}.price-grid,.pillars,.feature-grid,.partner-grid,.corp-grid,.requirements,.contact-cards{grid-template-columns:1fr}.price-card.featured{transform:none}.social-gallery{grid-template-columns:1fr}.social-tile{height:280px}.service-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.floating-socials{top:auto;bottom:12px;transform:none;flex-direction:row}.carousel{width:270px}.app-grid{gap:50px}.subhero{padding:90px 0 65px}.hero-actions,.cta div div{flex-direction:column;align-items:stretch}.btn{width:100%}}


/* Variante titoli racing: Oxanium */
.hero h1,
.subhero h1{
  text-shadow:0 5px 0 rgba(0,0,0,.24);
}
.hero h1 span,
.subhero h1 span{
  display:inline-block;
}
@media(max-width:520px){
  h1{font-size:clamp(48px,15vw,68px);letter-spacing:-.045em}
  h2{font-size:clamp(36px,11vw,52px)}
}


/* Partner dettagliati */
.detailed-partners{
  background:
    linear-gradient(120deg,rgba(0,140,69,.045),transparent 34%,rgba(205,33,42,.045)),
    #f2f2f2;
  color:#111;
}
.partner-section-head{
  align-items:end;
}
.partner-section-head h2{
  color:#111;
}
.partner-section-head>p{
  color:#555;
}
.partner-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.partner-detail-card{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid #d9d9d9;
  border-top:5px solid var(--red);
  padding:28px;
  box-shadow:12px 12px 0 rgba(0,0,0,.06);
}
.partner-logo-panel{
  min-height:190px;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #e0e0e0;
  position:relative;
  overflow:hidden;
}
.partner-logo-panel:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  background:linear-gradient(90deg,var(--green) 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%);
}
.partner-logo-panel img{
  width:100%;
  max-width:165px;
  max-height:125px;
  object-fit:contain;
}
.partner-detail-copy h3{
  color:#111;
  margin-bottom:12px;
}
.partner-detail-copy>p:not(.partner-role){
  color:#555;
  margin-top:0;
}
.partner-role{
  color:var(--red);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
  margin:0 0 9px;
}
.partner-points{
  margin:18px 0 20px;
  padding:0;
  list-style:none;
}
.partner-points li{
  padding:8px 0;
  border-bottom:1px solid #ececec;
  color:#333;
  font-size:14px;
}
.partner-points li:before{
  content:"✓";
  color:var(--green);
  font-weight:900;
  margin-right:9px;
}

@media(max-width:980px){
  .partner-detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .partner-detail-card{
    grid-template-columns:1fr;
    gap:20px;
  }
  .partner-logo-panel{
    min-height:145px;
  }
}


/* Riduzione dimensioni titoli */
h1,.hero-title{
  font-size:clamp(52px,6.2vw,88px) !important;
  line-height:.92 !important;
}

h2,.page-title,.section-title{
  font-size:clamp(38px,4.2vw,58px) !important;
  line-height:.96 !important;
}

h3,.card-title{
  font-size:28px !important;
  line-height:1 !important;
}

@media(max-width:900px){
  h1,.hero-title{
    font-size:clamp(44px,7vw,64px) !important;
  }

  h2,.page-title,.section-title{
    font-size:clamp(33px,5.6vw,46px) !important;
  }

  h3,.card-title{
    font-size:25px !important;
  }
}

@media(max-width:520px){
  h1,.hero-title{
    font-size:40px !important;
  }

  h2,.page-title,.section-title{
    font-size:31px !important;
  }

  h3,.card-title{
    font-size:23px !important;
  }
}


/* Classifiche Apex Timing */
.apex-leaderboard-section{
  overflow:hidden;
}
.apex-iframe-wrap{
  position:relative;
  width:100%;
  min-height:720px;
  background:#0d1014;
  border:1px solid var(--line);
  border-top:5px solid var(--red);
  box-shadow:14px 14px 0 rgba(237,27,36,.12);
  overflow:hidden;
}
.apex-iframe{
  display:block;
  width:100%;
  min-height:720px;
  border:0;
  background:#fff;
}
.apex-noscript{
  margin-top:18px;
  padding:16px;
  background:var(--panel);
  border-left:4px solid var(--red);
  color:var(--muted);
}
@media(max-width:900px){
  .apex-iframe-wrap,
  .apex-iframe{
    min-height:820px;
  }
}
@media(max-width:520px){
  .apex-iframe-wrap,
  .apex-iframe{
    min-height:900px;
  }
}


/* Pagina classifiche semplificata */
.classifiche-intro{
  padding:95px 0 65px;
  background:
    linear-gradient(120deg,rgba(237,27,36,.10),transparent 42%),
    #101319;
  border-bottom:1px solid var(--line);
}
.classifiche-intro h1{
  margin-bottom:18px;
}
.classifiche-intro p:last-child{
  max-width:760px;
  margin:0;
  color:#d1d4d9;
  font-size:18px;
}
.apex-leaderboard-section{
  padding-top:75px;
}
@media(max-width:680px){
  .classifiche-intro{
    padding:70px 0 45px;
  }
  .classifiche-intro p:last-child{
    font-size:16px;
  }
}


/* Riduzione spazio tra intestazione e classifiche */
.classifiche-intro{
  padding-bottom:35px !important;
}

.apex-leaderboard-section{
  padding-top:40px !important;
}

@media(max-width:680px){
  .classifiche-intro{
    padding-bottom:28px !important;
  }

  .apex-leaderboard-section{
    padding-top:30px !important;
  }
}


/* Homepage più compatta */
body.home .section,
.home .section{
  padding-top:78px !important;
  padding-bottom:78px !important;
}

.home .section-head{
  margin-bottom:32px !important;
}

.home .hero-content{
  padding-top:82px !important;
  padding-bottom:82px !important;
}

.home .stats{
  margin-top:38px !important;
}

.home .split{
  gap:56px !important;
}

.home .price-grid,
.home .feature-grid,
.home .pillars,
.home .partner-detail-grid{
  margin-top:28px !important;
}

.home .app-grid,
.home .app-full{
  gap:62px !important;
}

.home .cta{
  padding-top:62px !important;
  padding-bottom:62px !important;
}

@media(max-width:900px){
  body.home .section,
  .home .section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }

  .home .split,
  .home .app-grid,
  .home .app-full{
    gap:38px !important;
  }

  .home .hero-content{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
}

@media(max-width:520px){
  body.home .section,
  .home .section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  .home .section-head{
    margin-bottom:24px !important;
  }

  .home .hero-content{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
}


/* Registrazione Apex Timing */
.registration-iframe-section{
  padding-top:70px;
  padding-bottom:85px;
}
.registration-iframe-wrap{
  width:100%;
  min-height:760px;
  background:#0d1014;
  border:1px solid var(--line);
  border-top:5px solid var(--red);
  box-shadow:14px 14px 0 rgba(237,27,36,.12);
  overflow:hidden;
}
.registration-iframe{
  display:block;
  width:100%;
  min-height:760px;
  border:0;
  background:#fff;
}
.registration-noscript{
  margin-top:18px;
  padding:16px;
  background:var(--panel);
  border-left:4px solid var(--red);
  color:var(--muted);
}
@media(max-width:900px){
  .registration-iframe-wrap,
  .registration-iframe{
    min-height:860px;
  }
}
@media(max-width:520px){
  .registration-iframe-section{
    padding-top:48px;
    padding-bottom:58px;
  }
  .registration-iframe-wrap,
  .registration-iframe{
    min-height:940px;
  }
}


/* Sezione Come funziona nella pagina Registrati */
.registration-how{
  padding-top:72px;
  padding-bottom:48px;
}
.registration-steps{
  margin-top:8px;
}
.registration-steps li:last-child{
  border-bottom:0;
}
@media(max-width:680px){
  .registration-how{
    padding-top:52px;
    padding-bottom:36px;
  }
}


/* Registrati - stile precedente più semplice */
.registration-how{
  padding-top:72px;
  padding-bottom:42px;
}

.registration-how .section-head{
  margin-bottom:22px;
}

.registration-steps{
  margin-top:0;
}

.simple-minor-section{
  padding-top:26px;
  padding-bottom:42px;
}

.simple-minor-box{
  max-width:860px;
  background:var(--panel);
  border:1px solid var(--line);
  border-left:5px solid var(--red);
  padding:24px 26px;
}

.simple-minor-list{
  margin:0;
  padding-left:20px;
}

.simple-minor-list li{
  margin:0 0 12px;
  color:#d2d5da;
}

.simple-minor-note{
  margin:18px 0 0;
  color:#aeb4bc;
}

.registration-iframe-section{
  padding-top:40px;
}

@media(max-width:680px){
  .registration-how{
    padding-top:52px;
    padding-bottom:28px;
  }

  .simple-minor-section{
    padding-top:14px;
    padding-bottom:32px;
  }

  .simple-minor-box{
    padding:20px 18px;
  }

  .registration-iframe-section{
    padding-top:28px;
  }
}


/* Pagina Registrati - layout come riferimento */
.registration-showcase{
  padding-top:74px;
  padding-bottom:46px;
  background:#05070a;
}

.registration-showcase-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.95fr);
  gap:52px;
  align-items:start;
}

.registration-showcase-main .kicker{
  margin-bottom:18px;
}

.registration-showcase-main h1{
  margin:0 0 38px;
  max-width:780px;
  font-size:clamp(56px,6.8vw,104px);
  line-height:.90;
}

.registration-step-list{
  border-top:1px solid rgba(255,255,255,.08);
}

.registration-step-row{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:16px;
  align-items:start;
  padding:26px 0 26px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.registration-step-number{
  font-family:"Oxanium",Arial,sans-serif;
  font-size:clamp(34px,3vw,48px);
  font-weight:800;
  line-height:1;
  color:var(--red);
}

.registration-step-copy h3{
  margin:0 0 8px;
  font-size:clamp(24px,2vw,34px);
  line-height:1;
}

.registration-step-copy p{
  margin:0;
  max-width:620px;
  color:#bcc2cb;
  font-size:17px;
}

.registration-minor-card{
  background:#0b0f17;
  border:1px solid rgba(255,255,255,.06);
  border-top:6px solid var(--red);
  padding:34px 42px 28px;
}

.registration-minor-card h2{
  margin:0 0 28px;
  font-size:clamp(30px,2.5vw,42px);
  line-height:1;
}

.registration-minor-list{
  list-style:none;
  margin:0;
  padding:0;
}

.registration-minor-list li{
  position:relative;
  padding:14px 0 14px 30px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:16px;
}

.registration-minor-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:14px;
  color:var(--red);
  font-weight:900;
  font-size:16px;
}

.registration-minor-note{
  margin:26px 0 0;
  color:#b4bac3;
  font-size:15px;
}

.registration-iframe-section{
  padding-top:26px !important;
}

.registration-iframe-section .section-head{
  margin-bottom:24px;
}

@media(max-width:980px){
  .registration-showcase-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .registration-showcase-main h1{
    margin-bottom:28px;
  }
}

@media(max-width:680px){
  .registration-showcase{
    padding-top:52px;
    padding-bottom:26px;
  }

  .registration-step-row{
    grid-template-columns:58px 1fr;
    gap:14px;
    padding:22px 0;
  }

  .registration-step-number{
    font-size:32px;
  }

  .registration-step-copy h3{
    font-size:24px;
  }

  .registration-step-copy p{
    font-size:15px;
  }

  .registration-minor-card{
    padding:24px 20px 22px;
  }

  .registration-minor-list li{
    font-size:15px;
  }
}


/* Registrati - titoli proporzionati come riferimento */
.registration-showcase-main h1{
  font-size:clamp(50px,5.4vw,78px) !important;
  line-height:.92 !important;
  letter-spacing:-1.5px;
  max-width:720px;
}

.registration-step-copy h3{
  font-size:clamp(22px,1.7vw,30px) !important;
  line-height:1.02 !important;
}

.registration-minor-card h2{
  font-size:clamp(28px,2vw,36px) !important;
  line-height:1.05 !important;
}

.registration-iframe-section h2{
  font-size:clamp(34px,3.2vw,48px) !important;
}

@media(max-width:900px){
  .registration-showcase-main h1{
    font-size:clamp(46px,7vw,64px) !important;
  }
}

@media(max-width:520px){
  .registration-showcase-main h1{
    font-size:42px !important;
    letter-spacing:-1px;
  }

  .registration-step-copy h3{
    font-size:22px !important;
  }

  .registration-minor-card h2{
    font-size:27px !important;
  }

  .registration-iframe-section h2{
    font-size:32px !important;
  }
}


/* Riduzione ulteriore titolo Registrati in pochi passi */
.registration-showcase-main h1{
  font-size:clamp(42px,4.6vw,66px) !important;
  line-height:.94 !important;
  max-width:650px;
}

@media(max-width:900px){
  .registration-showcase-main h1{
    font-size:clamp(40px,6vw,54px) !important;
  }
}

@media(max-width:520px){
  .registration-showcase-main h1{
    font-size:36px !important;
    line-height:.96 !important;
  }
}


/* Ulteriore lieve riduzione titolo Registrati in pochi passi */
.registration-showcase-main h1{
  font-size:clamp(38px,4.1vw,60px) !important;
  line-height:.95 !important;
  max-width:620px;
}

@media(max-width:900px){
  .registration-showcase-main h1{
    font-size:clamp(37px,5.5vw,50px) !important;
  }
}

@media(max-width:520px){
  .registration-showcase-main h1{
    font-size:33px !important;
  }
}


/* Prima sezione Registrati più compatta */
.registration-hero,
.registrati-hero,
.subhero.registration,
body:not(.home) .subhero:first-of-type{
  padding-top:48px !important;
  padding-bottom:38px !important;
  min-height:auto !important;
}

.registration-hero .subhero-content,
.registrati-hero .subhero-content,
.subhero.registration .subhero-content,
body:not(.home) .subhero:first-of-type .subhero-content{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:680px){
  .registration-hero,
  .registrati-hero,
  .subhero.registration,
  body:not(.home) .subhero:first-of-type{
    padding-top:36px !important;
    padding-bottom:30px !important;
  }
}


/* Video originale pagina Pista e Kart */
.pista-video-section{
  padding-top:58px !important;
  padding-bottom:58px !important;
  background:#080b10;
}
.pista-video-head{
  margin-bottom:26px !important;
}
.pista-video-frame{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#000;
  border:1px solid var(--line);
  border-top:5px solid var(--red);
  box-shadow:14px 14px 0 rgba(237,27,36,.12);
}
.pista-video-frame video{
  display:block;
  width:100%;
  height:auto;
  max-height:78vh;
  object-fit:contain;
  background:#000;
}
@media(max-width:680px){
  .pista-video-section{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .pista-video-head{
    margin-bottom:20px !important;
  }
}


/* Layout generale più ampio e responsive */
:root{
  --max:1600px;
}

.container,
.header-inner{
  width:min(var(--max),calc(100% - 64px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

section,
.site-footer,
.subhero,
.hero{
  width:100%;
}

img,
video,
iframe{
  max-width:100%;
}

img{
  height:auto;
}

.split,
.app-grid,
.app-full,
.feature-grid,
.price-grid,
.partner-detail-grid,
.pillars{
  width:100%;
}

/* Elementi visuali estesi senza deformazioni */
.hero-media img,
.split-media img,
.card img,
.media-card img,
.pista-video-frame video{
  width:100%;
  object-fit:cover;
}

/* Iframe Apex sempre adattabili */
.apex-iframe-wrap,
.registration-iframe-wrap{
  width:100%;
  max-width:none;
}

/* Tablet */
@media(max-width:1100px){
  .container,
  .header-inner{
    width:calc(100% - 40px) !important;
  }
}

/* Smartphone: margini minimi ma presenti */
@media(max-width:680px){
  .container,
  .header-inner{
    width:calc(100% - 28px) !important;
  }

  .split,
  .app-grid,
  .app-full,
  .feature-grid,
  .price-grid,
  .partner-detail-grid,
  .pillars,
  .registration-showcase-grid{
    grid-template-columns:1fr !important;
  }

  .section,
  section{
    overflow-x:hidden;
  }

  img,
  video,
  iframe{
    width:100%;
  }
}

@media(max-width:380px){
  .container,
  .header-inner{
    width:calc(100% - 20px) !important;
  }
}




/* Classifiche intro rigenerata con struttura subhero */
.classifiche-intro{
  background:
    linear-gradient(120deg,rgba(237,27,36,.10),transparent 42%),
    #101319;
}

.classifiche-intro .kicker{
  /* eredita esattamente lo stile globale usato in pista.html */
}

.classifiche-intro h1{
  /* eredita esattamente lo stile globale della subhero */
}

@media(max-width:680px){
  .classifiche-intro{
    padding-top:70px;
    padding-bottom:45px;
  }
}


/* Modulo contatti */
.contact-form-section{background:#080b10;padding-top:72px;padding-bottom:82px}.contact-form-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start}.contact-form-intro{position:sticky;top:110px}.contact-form-intro h2{margin-bottom:18px}.contact-form-intro>p:last-of-type{max-width:520px;color:var(--muted)}.contact-form-note{margin-top:30px;padding:20px 22px;border-left:4px solid var(--red);background:var(--panel);display:grid;gap:7px}.contact-form-note span{color:var(--muted);font-size:15px}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:32px;background:#0d1118;border:1px solid var(--line);border-top:5px solid var(--red);box-shadow:14px 14px 0 rgba(237,27,36,.10)}.form-field{display:grid;gap:8px}.form-field-full{grid-column:1/-1}.form-field label,.contact-form>label{font-family:"Oxanium",Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.form-field label span,.privacy-check b{color:var(--red)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#070a0f;color:#fff;padding:14px 15px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,27,36,.12)}.contact-form input.invalid,.contact-form select.invalid,.contact-form textarea.invalid{border-color:#ff6067}.company-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.company-fields[hidden]{display:none}.privacy-check{display:flex;align-items:flex-start;gap:12px;color:#c9ced6;font-size:14px;line-height:1.45;text-transform:none!important;letter-spacing:0!important}.privacy-check input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--red)}.privacy-check a{color:#fff;text-decoration:underline}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-actions .btn{border:0;cursor:pointer}.form-status{margin:0;color:var(--muted);font-size:14px}.form-status.error{color:#ff7c82}.form-status.success{color:#a9efb0}@media(max-width:980px){.contact-form-layout{grid-template-columns:1fr;gap:34px}.contact-form-intro{position:static}.contact-form{padding:26px}}@media(max-width:680px){.contact-form-section{padding-top:52px;padding-bottom:58px}.contact-form{grid-template-columns:1fr;padding:20px;gap:16px;box-shadow:8px 8px 0 rgba(237,27,36,.10)}.company-fields{grid-template-columns:1fr}.form-field,.form-field-full{grid-column:1/-1}.form-actions{align-items:flex-start;flex-direction:column}}


/* Aziende - integrazione foto reali */
.aziende-hero{
  background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.42)),url('assets/azienda-evento-wide.jpg') center/cover no-repeat,#0d1015;
}
.aziende-split-top .image-frame img,
.aziende-hospitality .image-frame img,
.aziende-bottom-split .image-frame img{
  height:470px;
}
.aziende-mini-pillars{
  grid-template-columns:repeat(3,1fr);
  margin-top:26px;
}
.azienda-gallery-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:22px;
  align-items:start;
}
.azienda-gallery-card{
  background:var(--panel);
  border:1px solid var(--line);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.azienda-gallery-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
.azienda-gallery-card.wide img{
  height:340px;
}
.azienda-gallery-card div{
  padding:22px 22px 24px;
}
.azienda-gallery-card small{
  display:block;
  color:var(--red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.azienda-gallery-card h3{
  margin-bottom:10px;
}
.azienda-gallery-card p{
  margin:0;
  color:var(--muted);
}
.aziende-cta-band{
  background:linear-gradient(120deg,rgba(237,27,36,.05),transparent 35%),#090b0e;
}
.aziende-bottom-split{
  gap:56px;
}
.aziende-bottom-split .feature-grid{
  margin:24px 0 28px;
}
@media(max-width:1050px){
  .azienda-gallery-grid,
  .aziende-mini-pillars{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .azienda-gallery-card img,
  .azienda-gallery-card.wide img,
  .aziende-split-top .image-frame img,
  .aziende-hospitality .image-frame img,
  .aziende-bottom-split .image-frame img{
    height:250px;
  }
  .azienda-gallery-grid{
    gap:16px;
  }
}


/* Gallery Aziende ampliata a quattro immagini */
.azienda-gallery-grid{
  grid-template-columns:1.15fr .85fr .85fr .85fr;
}
@media(max-width:1280px){
  .azienda-gallery-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .azienda-gallery-grid{
    grid-template-columns:1fr;
  }
}


.classifiche-hero-photo img{
  height:420px;
  object-fit:cover;
}
@media(max-width:680px){
  .classifiche-hero-photo{
    margin-top:24px;
  }
  .classifiche-hero-photo img{
    height:260px;
  }
}


/* Hero classifiche con sfondo fotografico stile Corporate & Team Building */
.classifiche-intro{
  background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.42)),url('assets/classifiche-photo.jpg') center/cover no-repeat,#0d1015 !important;
  border-bottom:1px solid var(--line);
}
.classifiche-intro .container{
  position:relative;
  z-index:1;
}
.classifiche-intro h1,
.classifiche-intro .kicker,
.classifiche-intro p:last-child{
  max-width:760px;
}


/* Hero registrati con sfondo fotografico stile Corporate & Team Building */
.registrati-intro{
  background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.42)),url('assets/registrati-photo.jpg') center/cover no-repeat,#0d1015 !important;
  border-bottom:1px solid var(--line);
}
.registrati-intro .container{
  position:relative;
  z-index:1;
}
.registrati-intro h1,
.registrati-intro .kicker,
.registrati-intro p:last-child{
  max-width:760px;
}


/* Hero fotografico pagina App */
.app-intro{
  background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.42)),url('assets/app-ufficiale-photo.png') center/cover no-repeat,#0d1015 !important;
  border-bottom:1px solid var(--line);
}
.app-intro .container{
  position:relative;
  z-index:1;
}
.app-intro h1,
.app-intro .kicker,
.app-intro p:last-child{
  max-width:760px;
}


/* Hero fotografico pagina Tariffe */
.tariffe-intro{
  background:linear-gradient(90deg,rgba(5,6,8,.95),rgba(5,6,8,.42)),url('assets/tariffe-photo.png') center/cover no-repeat,#0d1015 !important;
  border-bottom:1px solid var(--line);
}
.tariffe-intro .container{
  position:relative;
  z-index:1;
}
.tariffe-intro h1,
.tariffe-intro .kicker,
.tariffe-intro p:last-child{
  max-width:760px;
}


/* Hero contatti con sfondo fotografico e sfumatura nera */
.contatti-intro{
  background:linear-gradient(90deg,rgba(5,6,8,.96),rgba(5,6,8,.48)),url('assets/contatti-hero.png') center/cover no-repeat,#0d1015 !important;
  border-bottom:1px solid var(--line);
}
.contatti-intro .container{
  position:relative;
  z-index:1;
}
.contatti-intro h1,
.contatti-intro .kicker,
.contatti-intro p:last-child{
  max-width:760px;
}


/* Immagine premi sezione Extra su richiesta */
.aziende-bottom-split .image-frame img{
  object-position:center;
}


/* Foto premi ingrandita mantenendo medaglia e trofei ben visibili */
.aziende-bottom-split .extra-premi-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:470px;
  padding:4px;
  background:#0c0f14;
}
.aziende-bottom-split .extra-premi-frame img{
  width:100% !important;
  height:468px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:auto;
}
@media(max-width:680px){
  .aziende-bottom-split .extra-premi-frame{
    min-height:auto;
    padding:6px;
  }
  .aziende-bottom-split .extra-premi-frame img{
    width:100% !important;
    height:auto !important;
    max-height:440px;
  }
}


/* Gallery evento: immagini tutte della stessa dimensione */
.azienda-gallery-grid{
  align-items:stretch;
}
.azienda-gallery-card{
  height:100%;
}
.azienda-gallery-card img,
.azienda-gallery-card.wide img{
  width:100%;
  height:280px;
  object-fit:cover;
  object-position:center;
}
@media(max-width:1280px){
  .azienda-gallery-card img,
  .azienda-gallery-card.wide img{
    height:300px;
  }
}
@media(max-width:680px){
  .azienda-gallery-card img,
  .azienda-gallery-card.wide img{
    height:240px;
  }
}


/* Gallery evento: card tutte uguali anche in larghezza */
.azienda-gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:1280px){
  .azienda-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .azienda-gallery-grid{
    grid-template-columns:1fr !important;
  }
}

/* Site header bianco */
.site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:0 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);
}
.site-header::after{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,var(--green) 0 33.33%,#f4f4f4 33.33% 66.66%,#cd212a 66.66%);
}
.brand{
  background:#fff !important;
  padding:5px 10px 7px !important;
}
.brand::after{
  display:none !important;
}
.desktop-nav a{
  color:#17191d !important;
}
.desktop-nav a:hover,
.desktop-nav a.active{
  color:var(--red) !important;
}
.menu-btn{
  color:#17191d !important;
}
.mobile-nav{
  background:#fff !important;
  border-top:1px solid #e4e4e4;
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}
.mobile-nav a{
  color:#17191d !important;
  border-bottom:1px solid #e8e8e8 !important;
}
.mobile-nav a:hover,
.mobile-nav a.active{
  color:var(--red) !important;
}
@media(max-width:680px){
  .site-header::after{
    height:3px;
  }
}


/* Secondo passaggio logo: proporzioni e resa responsive */
.header-inner{
  min-height:88px;
  height:88px;
}
.brand{
  width:154px;
  height:72px;
  padding:4px 7px !important;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.brand img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:148px;
  max-height:66px;
  object-fit:contain;
}
.footer-logo{
  display:block;
  width:220px !important;
  max-width:100%;
  height:auto;
  padding:10px !important;
  object-fit:contain;
}
@media(max-width:1050px){
  .header-inner{
    min-height:82px;
    height:82px;
  }
  .brand{
    width:142px;
    height:66px;
  }
  .brand img{
    max-width:136px;
    max-height:60px;
  }
}
@media(max-width:680px){
  .header-inner{
    min-height:74px;
    height:74px;
  }
  .brand{
    width:126px;
    height:58px;
    padding:3px 5px !important;
  }
  .brand img{
    max-width:120px;
    max-height:52px;
  }
  .footer-logo{
    width:190px !important;
  }
}


/* Uniformazione definitiva del bianco tra header e logo */
.site-header{
  background:#ffffff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.header-inner,
.brand{
  background:#ffffff !important;
}
.mobile-nav{
  background:#ffffff !important;
}


/* Classifiche subhero: rifinitura fotografica e responsive */
.classifiche-intro{
  position:relative;
  overflow:hidden;
  padding-top:82px !important;
  padding-bottom:48px !important;
  background:
    linear-gradient(90deg,
      rgba(5,6,8,.97) 0%,
      rgba(5,6,8,.88) 29%,
      rgba(5,6,8,.55) 52%,
      rgba(5,6,8,.16) 78%,
      rgba(5,6,8,.08) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28)),
    url('assets/classifiche-photo.jpg') 61% center/cover no-repeat,
    #0d1015 !important;
}
.classifiche-intro .container{
  position:relative;
  z-index:2;
}
.classifiche-intro h1{
  max-width:820px;
  margin-bottom:16px;
  text-shadow:0 3px 18px rgba(0,0,0,.38);
}
.classifiche-intro p:last-child{
  max-width:680px;
  color:#eef0f3;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
@media(max-width:900px){
  .classifiche-intro{
    background-position:66% center !important;
  }
}
@media(max-width:680px){
  .classifiche-intro{
    padding-top:62px !important;
    padding-bottom:42px !important;
    background:
      linear-gradient(90deg,
        rgba(5,6,8,.97) 0%,
        rgba(5,6,8,.86) 58%,
        rgba(5,6,8,.36) 100%),
      linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.35)),
      url('assets/classifiche-photo.jpg') 68% center/cover no-repeat,
      #0d1015 !important;
  }
  .classifiche-intro h1{
    max-width:92%;
    font-size:clamp(44px,13vw,58px);
  }
  .classifiche-intro p:last-child{
    max-width:92%;
  }
}

/* =========================================================
   Subhero — rifinitura coordinata finale
   App, Aziende, Contatti, Registrati, Pista e pulizia generale
   ========================================================= */


/* Subhero fotografiche — configurazione definitiva */
body:not(.home) .subhero:first-of-type{
  min-height:350px !important;
  padding:72px 0 58px !important;
}
.subhero-pista,.tariffe-intro,.aziende-hero,.registrati-intro,.app-intro,.classifiche-intro,.contatti-intro{
  position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate;
  border-bottom:1px solid var(--line);
}
.subhero-pista .container,.tariffe-intro .container,.aziende-hero .container,.registrati-intro .container,.app-intro .container,.classifiche-intro .container,.contatti-intro .container{position:relative;z-index:2}
.subhero-pista h1,.tariffe-intro h1,.aziende-hero h1,.registrati-intro h1,.app-intro h1,.classifiche-intro h1,.contatti-intro h1{max-width:840px;margin-bottom:16px;text-shadow:0 3px 18px rgba(0,0,0,.42)}
.subhero-pista p:last-child,.tariffe-intro p:last-child,.aziende-hero p:last-child,.registrati-intro p:last-child,.app-intro p:last-child,.classifiche-intro p:last-child,.contatti-intro p:last-child{max-width:700px;color:#eef0f3;text-shadow:0 2px 12px rgba(0,0,0,.46)}
.classifiche-intro:after{content:none !important}

.subhero-pista{background:linear-gradient(90deg,rgba(5,6,8,.93) 0%,rgba(5,6,8,.78) 30%,rgba(5,6,8,.38) 55%,rgba(5,6,8,.08) 100%),url('assets/pista-hero.jpg') 60% center/cover no-repeat,#0d1015 !important}
.tariffe-intro{background:linear-gradient(90deg,rgba(5,6,8,.94) 0%,rgba(5,6,8,.79) 30%,rgba(5,6,8,.40) 54%,rgba(5,6,8,.08) 100%),url('assets/tariffe-photo.png') 62% center/cover no-repeat,#0d1015 !important}
.aziende-hero{min-height:380px !important;background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.83) 32%,rgba(5,6,8,.36) 51%,rgba(5,6,8,.06) 72%),url('assets/azienda-evento-wide.jpg') 61% center/cover no-repeat,#0d1015 !important}
.registrati-intro{background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.85) 34%,rgba(5,6,8,.40) 56%,rgba(5,6,8,.08) 100%),url('assets/registrati-photo.jpg') 68% center/cover no-repeat,#0d1015 !important}
.app-intro{min-height:380px !important;background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.84) 31%,rgba(5,6,8,.34) 52%,rgba(5,6,8,.04) 72%),url('assets/app-ufficiale-photo.png') 65% 45%/cover no-repeat,#0d1015 !important}
.classifiche-intro{background:linear-gradient(90deg,rgba(5,6,8,.96) 0%,rgba(5,6,8,.82) 30%,rgba(5,6,8,.43) 52%,rgba(5,6,8,.10) 100%),url('assets/classifiche-photo.jpg') 63% 56%/cover no-repeat,#0d1015 !important}
.contatti-intro{min-height:380px !important;background:linear-gradient(90deg,rgba(5,6,8,.96) 0%,rgba(5,6,8,.80) 30%,rgba(5,6,8,.34) 52%,rgba(5,6,8,.05) 74%),url('assets/contatti-hero.png') 59% center/cover no-repeat,#0d1015 !important}

@media(max-width:900px){
 body:not(.home) .subhero:first-of-type{min-height:340px !important;padding:62px 0 48px !important}
 .aziende-hero,.app-intro,.contatti-intro{min-height:360px !important}
 .subhero-pista{background-position:66% center !important}.tariffe-intro{background-position:66% center !important}.aziende-hero{background-position:64% center !important}.registrati-intro{background-position:72% center !important}.app-intro{background-position:70% 48% !important}.classifiche-intro{background-position:67% 56% !important}.contatti-intro{background-position:62% center !important}
}
@media(max-width:680px){
 body:not(.home) .subhero:first-of-type{min-height:320px !important;padding:54px 0 42px !important}
 .subhero-pista h1,.tariffe-intro h1,.aziende-hero h1,.registrati-intro h1,.app-intro h1,.classifiche-intro h1,.contatti-intro h1,.subhero-pista p:last-child,.tariffe-intro p:last-child,.aziende-hero p:last-child,.registrati-intro p:last-child,.app-intro p:last-child,.classifiche-intro p:last-child,.contatti-intro p:last-child{max-width:92%}
 .subhero-pista{background:linear-gradient(90deg,rgba(5,6,8,.96),rgba(5,6,8,.76) 58%,rgba(5,6,8,.25)),url('assets/pista-hero.jpg') 68% center/cover no-repeat,#0d1015 !important}
 .tariffe-intro{background:linear-gradient(90deg,rgba(5,6,8,.96),rgba(5,6,8,.76) 58%,rgba(5,6,8,.23)),url('assets/tariffe-photo.png') 70% center/cover no-repeat,#0d1015 !important}
 .aziende-hero{background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.80) 60%,rgba(5,6,8,.28)),url('assets/azienda-evento-wide.jpg') 66% center/cover no-repeat,#0d1015 !important}
 .registrati-intro{background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.81) 60%,rgba(5,6,8,.27)),url('assets/registrati-photo.jpg') 78% center/cover no-repeat,#0d1015 !important}
 .app-intro{background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.79) 58%,rgba(5,6,8,.20)),url('assets/app-ufficiale-photo.png') 78% 47%/cover no-repeat,#0d1015 !important}
 .classifiche-intro{background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.82) 60%,rgba(5,6,8,.30)),url('assets/classifiche-photo.jpg') 74% 58%/cover no-repeat,#0d1015 !important}
 .contatti-intro{background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.78) 58%,rgba(5,6,8,.22)),url('assets/contatti-hero.png') 64% center/cover no-repeat,#0d1015 !important}
}


/* Foto flotta nella sezione I KART */
.kart-fleet-frame img{
  object-fit:cover;
  object-position:52% center;
}
@media(max-width:680px){
  .kart-fleet-frame img{
    height:330px;
    object-position:46% center;
  }
}


/* Home partner network: struttura modulare pronta per nuovi partner */
.partner-network{
  background:
    linear-gradient(120deg,rgba(0,140,69,.045),transparent 34%,rgba(205,33,42,.045)),
    #f2f2f2;
  color:#111;
}
.partner-network-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:64px;
  align-items:end;
  margin-bottom:42px;
}
.partner-network-head h2{
  color:#111;
  margin-bottom:0;
  max-width:760px;
}
.partner-network-head>p{
  color:#555;
  margin:0;
  max-width:520px;
}
.partner-network-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
  align-items:stretch;
}
.partner-network-card{
  display:grid;
  grid-template-rows:170px 1fr;
  min-width:0;
  background:#fff;
  border:1px solid #d9d9d9;
  border-top:5px solid var(--red);
  box-shadow:10px 10px 0 rgba(0,0,0,.055);
  transition:transform .2s ease,box-shadow .2s ease;
}
.partner-network-card:hover{
  transform:translateY(-4px);
  box-shadow:14px 14px 0 rgba(0,0,0,.07);
}
.partner-network-logo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:26px;
  background:#fff;
  border-bottom:1px solid #e7e7e7;
  overflow:hidden;
}
.partner-network-logo:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  background:linear-gradient(90deg,var(--green) 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%);
}
.partner-network-logo img{
  width:100%;
  max-width:190px;
  max-height:105px;
  object-fit:contain;
}
.partner-network-copy{
  display:flex;
  flex-direction:column;
  padding:26px;
}
.partner-network-copy h3{
  color:#111;
  margin-bottom:12px;
}
.partner-network-copy>p:not(.partner-role){
  color:#555;
  margin:0 0 22px;
}
.partner-network-copy .text-link{
  margin-top:auto;
}
@media(min-width:1180px){
  .partner-network-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:800px){
  .partner-network-head{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:32px;
  }
  .partner-network-head>p{
    max-width:680px;
  }
}
@media(max-width:520px){
  .partner-network-grid{
    grid-template-columns:1fr;
  }
  .partner-network-card{
    grid-template-rows:145px 1fr;
  }
  .partner-network-copy{
    padding:22px;
  }
}

/* Partner centrati nella home, mantenendo la griglia scalabile */
.partner-network-head{
  grid-template-columns:1fr;
  gap:18px;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.partner-network-head h2,
.partner-network-head > p{
  margin-left:auto;
  margin-right:auto;
}
.partner-network-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,360px));
  justify-content:center;
}
@media(min-width:1180px){
  .partner-network-grid{
    grid-template-columns:repeat(auto-fit,minmax(280px,360px));
    justify-content:center;
  }
}
@media(max-width:680px){
  .partner-network-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Home: formule uniformate e contenuti allineati */
.home .price-grid{
  align-items:stretch;
}
.home .price-card{
  display:grid;
  grid-template-rows:auto minmax(62px,auto) auto minmax(96px,1fr) auto;
  height:100%;
}
.home .price-card .card-label{
  align-self:start;
}
.home .price-card h3{
  align-self:start;
  margin-top:10px;
  margin-bottom:0;
}
.home .price-card .price{
  align-self:start;
  margin:14px 0;
}
.home .price-card p{
  margin:0 0 24px;
  align-self:start;
}
.home .price-card .btn{
  align-self:end;
  min-height:48px;
}
.home .price-card.featured{
  transform:none;
}
@media(max-width:680px){
  .home .price-card{
    grid-template-rows:auto auto auto auto auto;
  }
  .home .price-card h3{
    min-height:0;
  }
}


/* Logo footer coordinato con l’header */
.footer-logo-wrap{
  position:relative;
  display:inline-flex;
  width:166px;
  padding:9px 11px 13px;
  margin:0 0 14px;
  background:#fff;
  border:1px solid rgba(255,255,255,.22);
  border-radius:4px;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  overflow:hidden;
}
.footer-logo-wrap:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#008c45 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66% 100%);
}
.footer-logo-wrap .footer-logo{
  display:block;
  width:100%;
  height:auto;
  padding:0;
  background:transparent;
}
@media(max-width:680px){
  .footer-logo-wrap{
    width:154px;
    margin-bottom:12px;
  }
}


/* Icone social vettoriali */
.social-icon{width:21px;height:21px;display:block;flex:0 0 auto}
.social-row a,.floating-socials a{border-radius:50%;transition:background .2s,color .2s,transform .2s}
.social-row a:hover,.floating-socials a:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.social-btn{gap:10px}
.social-btn .social-icon{width:18px;height:18px}
.social-btn span{display:inline-block}
@media(max-width:680px){.social-row a,.floating-socials a{width:44px;height:44px}.social-icon{width:20px;height:20px}}


/* Nota primo accesso App */
.app-first-access-note{
  margin-top:24px;
  padding:20px 22px;
  background:linear-gradient(135deg,rgba(237,27,36,.14),rgba(237,27,36,.04)),var(--panel);
  border:1px solid rgba(237,27,36,.38);
  border-left:4px solid var(--red);
  box-shadow:10px 10px 0 rgba(237,27,36,.08);
}
.app-first-access-note strong{
  display:block;
  margin-bottom:8px;
  color:var(--red);
  font-family:'Oxanium',Impact,'Arial Narrow',sans-serif;
  font-size:15px;
  letter-spacing:.08em;
}
.app-first-access-note p{
  margin:0;
  color:#d7d9dd;
  font-size:15px;
  line-height:1.6;
}
.app-first-access-note b{color:#fff;}


/* Riduzione controllata degli spazi verticali nelle pagine interne */
body:not(.home) .section{
  padding-top:82px !important;
  padding-bottom:82px !important;
}
body:not(.home) .section.section-dark,
body:not(.home) .section.made-italy,
body:not(.home) .section.partners{
  padding-top:76px !important;
  padding-bottom:76px !important;
}
body:not(.home) .section-head{
  margin-bottom:34px !important;
}
body:not(.home) .split,
body:not(.home) .app-grid,
body:not(.home) .app-full,
body:not(.home) .leaderboard,
body:not(.home) .contact-grid{
  gap:56px !important;
}
body:not(.home) .pillars,
body:not(.home) .feature-grid,
body:not(.home) .price-grid,
body:not(.home) .service-grid,
body:not(.home) .requirements,
body:not(.home) .corp-grid{
  margin-top:30px !important;
}
body:not(.home) .cta,
body:not(.home) .aziende-cta-band{
  padding-top:74px !important;
  padding-bottom:74px !important;
}

/* Mantiene più respiro nelle subhero e nelle sezioni introduttive */
body:not(.home) .subhero{
  padding-top:64px !important;
  padding-bottom:50px !important;
}
body:not(.home) .subhero h1{
  margin-bottom:14px !important;
}

@media(max-width:900px){
  body:not(.home) .section{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }
  body:not(.home) .section.section-dark,
  body:not(.home) .section.made-italy,
  body:not(.home) .section.partners{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
  body:not(.home) .split,
  body:not(.home) .app-grid,
  body:not(.home) .app-full,
  body:not(.home) .leaderboard,
  body:not(.home) .contact-grid{
    gap:38px !important;
  }
  body:not(.home) .section-head{
    margin-bottom:28px !important;
  }
}

@media(max-width:680px){
  body:not(.home) .section,
  body:not(.home) .section.section-dark,
  body:not(.home) .section.made-italy,
  body:not(.home) .section.partners{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
  body:not(.home) .section-head{
    margin-bottom:24px !important;
  }
  body:not(.home) .split,
  body:not(.home) .app-grid,
  body:not(.home) .app-full,
  body:not(.home) .leaderboard,
  body:not(.home) .contact-grid{
    gap:30px !important;
  }
  body:not(.home) .subhero{
    padding-top:44px !important;
    padding-bottom:36px !important;
  }
  body:not(.home) .cta,
  body:not(.home) .aziende-cta-band{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
}

/* Descrizioni competenze email nel footer */
.site-footer a strong{font-weight:700;color:inherit}

/* Documenti legali incorporati */
.legal-intro{min-height:330px}
.legal-document-section{padding-top:54px}
.legal-document-wrap{max-width:1180px}
.legal-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:16px 18px;background:#f4f4f4;border-left:4px solid var(--red)}
.legal-document-toolbar p{margin:0}
.legal-pdf-frame{display:block;width:100%;height:78vh;min-height:720px;border:1px solid #d5d5d5;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.12)}
.legal-pdf-fallback{margin:14px 0 0;font-size:.92rem}
.legal-pdf-fallback a{font-weight:700;text-decoration:underline}
@media(max-width:760px){.legal-intro{min-height:260px}.legal-document-section{padding-top:36px}.legal-document-toolbar{align-items:flex-start;flex-direction:column}.legal-pdf-frame{height:72vh;min-height:560px}}

/* Badge ufficiali App Store e Google Play */
.store-row{align-items:center}
.store-row{align-items:center}
.store-badge-link{display:inline-flex;align-items:center;justify-content:center;width:190px;height:56px;line-height:0;transition:transform .2s,opacity .2s;overflow:hidden}
.store-badge-link:hover{transform:translateY(-2px);opacity:.92}
.store-badge{display:block;width:190px;height:56px;max-width:190px;object-fit:fill;margin:0}
.store-badge-apple,.store-badge-google{width:190px;height:56px;margin:0}
@media(max-width:520px){.store-row{gap:8px}.store-badge-link{width:170px;height:50px}.store-badge,.store-badge-apple,.store-badge-google{width:170px;height:50px;max-width:170px}}

/* Fallback visibile se il badge Apple esterno non viene caricato */
.store-badge-fallback{display:none;align-items:center;justify-content:center;width:190px;height:56px;padding:0 12px;border:1px solid #a6a6a6;border-radius:9px;background:#000;color:#fff;font-family:Arial,sans-serif;font-size:15px;font-weight:600;white-space:nowrap;line-height:1}
@media(max-width:520px){.store-badge-fallback{width:170px;height:50px;padding:0 10px;font-size:14px}}

/* Campo antispam invisibile */
.gtk-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-form button[disabled]{opacity:.65;cursor:wait}


/* Mappa incorporata pagina Contatti */
.map-card.map-card-embedded{display:flex;min-height:430px;padding:0;justify-content:stretch;align-items:stretch;text-align:left;background:#12151b;border:1px solid var(--line)}
.contact-map-frame{display:block;width:100%;min-height:350px;flex:1;border:0;background:#171a21}
.map-card-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#0d0f13;border-top:1px solid var(--line)}
.map-card-footer span{font-size:12px;font-weight:900;letter-spacing:.06em;line-height:1.45}
.map-card-footer .btn{flex:0 0 auto}
@media(max-width:680px){.map-card.map-card-embedded{min-height:410px}.contact-map-frame{min-height:310px}.map-card-footer{align-items:stretch;flex-direction:column}.map-card-footer .btn{width:100%}}


/* Feed social Elfsight originale */
.elfsight-feed-wrap{
  min-height:360px;
  width:100%;
  position:relative;
}
.elfsight-feed-wrap:empty{min-height:0}
.elfsight-feed-wrap .eapps-instagram-feed{width:100% !important}
@media(max-width:680px){.elfsight-feed-wrap{min-height:300px}}

/* Correzione centratura icona Facebook flottante */
.floating-socials .social-icon-facebook{width:19px;height:19px;overflow:visible}


/* Lavora con noi */
@media(min-width:1051px){
  .desktop-nav{gap:14px}
  .desktop-nav a{font-size:11px}
}
.careers-intro{
  min-height:380px !important;
  background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.80) 35%,rgba(5,6,8,.30) 64%,rgba(5,6,8,.08) 100%),url('assets/azienda-briefing.jpg') 62% center/cover no-repeat,#0d1015 !important;
}
.careers-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}
.careers-copy{position:sticky;top:115px}
.careers-copy p{color:var(--muted)}
.careers-points{margin-top:28px}
.careers-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--red);padding:34px;box-shadow:14px 14px 0 rgba(237,27,36,.11)}
.careers-form .form-field{display:flex;flex-direction:column;gap:8px}
.careers-form .form-field-full{grid-column:1/-1}
.careers-form label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.careers-form label span,.careers-form .privacy-check b{color:var(--red)}
.careers-form input,.careers-form textarea{width:100%;background:#090b0e;color:#fff;border:1px solid var(--line);padding:13px 14px;font:inherit}
.careers-form input:focus,.careers-form textarea:focus{outline:2px solid rgba(237,27,36,.45);border-color:var(--red)}
.careers-form input.invalid,.careers-form textarea.invalid{border-color:var(--red)}
.careers-form input[type=file]{padding:10px}
.careers-file-note{font-size:12px;color:var(--muted);margin:0}
.careers-form .privacy-check{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-weight:400}
.careers-form .privacy-check input{width:auto;margin-top:5px}
.careers-form .privacy-check a{color:var(--red);font-weight:800}
@media(max-width:1050px){.careers-layout{grid-template-columns:1fr}.careers-copy{position:static}.careers-form{grid-template-columns:1fr}.careers-form .form-field-full{grid-column:auto}}
@media(max-width:680px){.careers-form{padding:24px}.careers-intro{background-position:68% center !important}}

.pista-video-frame video{pointer-events:none;user-select:none;-webkit-user-select:none}


/* Avvisi Home e comunicazioni last minute */
.gtk-alert-bar{position:relative;z-index:60;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}
.gtk-alert-bar.gtk-alert-red{background:#ed1b24}
.gtk-alert-bar.gtk-alert-dark{background:#090b0f;border-bottom-color:#ed1b24}
.gtk-alert-bar-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:8px;padding-bottom:8px}
.gtk-alert-copy{display:flex;align-items:baseline;gap:12px;min-width:0}
.gtk-alert-copy strong{font-family:'Oxanium',Arial,sans-serif;font-size:11px;letter-spacing:.13em;white-space:nowrap}
.gtk-alert-copy span{font-family:'Oxanium',Arial,sans-serif;font-size:14px;font-weight:800;text-transform:uppercase}
.gtk-alert-copy small{font-size:12px;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gtk-alert-link{flex:0 0 auto;background:#fff;color:#090a0c;padding:8px 13px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.gtk-alert-dark .gtk-alert-link{background:#ed1b24;color:#fff}
.gtk-home-notice-section{padding:34px 0;background:#0b0d11}
.gtk-home-notice{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:34px 38px;border:1px solid rgba(255,255,255,.13);border-left:6px solid #ed1b24;box-shadow:14px 14px 0 rgba(237,27,36,.11)}
.gtk-home-notice.gtk-alert-red{background:linear-gradient(115deg,rgba(237,27,36,.24),rgba(10,11,14,.98) 62%)}
.gtk-home-notice.gtk-alert-dark{background:linear-gradient(115deg,#14171d,#090b0f)}
.gtk-home-notice:after{content:"";position:absolute;right:-55px;top:-75px;width:230px;height:230px;border:28px solid rgba(237,27,36,.12);transform:rotate(22deg)}
.gtk-home-notice>div,.gtk-home-notice>.btn{position:relative;z-index:1}
.gtk-home-notice .kicker{margin-bottom:10px}
.gtk-home-notice h2{font-size:clamp(30px,4vw,52px);margin-bottom:12px}
.gtk-home-notice p:last-child{margin:0;max-width:760px;color:#d5d7db}
@media(max-width:760px){.gtk-alert-bar-inner{align-items:flex-start}.gtk-alert-copy{display:block}.gtk-alert-copy strong,.gtk-alert-copy span,.gtk-alert-copy small{display:block;white-space:normal}.gtk-alert-copy span{margin-top:2px}.gtk-alert-copy small{margin-top:3px}.gtk-home-notice{display:block;padding:28px 24px}.gtk-home-notice .btn{margin-top:22px}.gtk-alert-link{margin-top:2px}}
@media(max-width:480px){.gtk-alert-bar-inner{display:block}.gtk-alert-link{display:inline-flex;margin-top:8px}.gtk-home-notice-section{padding:24px 0}}


/* Appuntamenti settimanali - pagina Tariffe */
.weekly-events-section{background:linear-gradient(135deg,rgba(237,27,36,.07),transparent 42%),#090b0f}
.weekly-events-head{margin-bottom:36px}
.weekly-events-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.weekly-event-card{position:relative;overflow:hidden;min-height:420px;padding:42px;background:#11141a;border:1px solid rgba(255,255,255,.12);border-top:5px solid var(--red);display:flex;flex-direction:column;align-items:flex-start;box-shadow:14px 14px 0 rgba(237,27,36,.09)}
.weekly-event-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%)}
.weekly-event-card>*{position:relative;z-index:1}
.weekly-event-day{display:inline-flex;background:var(--red);padding:8px 12px;margin-bottom:26px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transform:skew(-6deg)}
.weekly-event-card h3{font-size:clamp(35px,4vw,55px);margin-bottom:18px}
.weekly-event-card p{max-width:540px;color:#d6d8dc;font-size:17px;margin:12px 0 18px}
.weekly-event-price{font-family:'Oxanium',Impact,sans-serif;font-weight:800;font-size:84px;line-height:.9;color:#fff;margin:4px 0 12px}
.weekly-event-price span{font-size:35px;color:var(--red);vertical-align:top;margin-right:5px}
.weekly-event-clock{font-family:'Oxanium',Impact,sans-serif;font-size:42px;font-weight:800;line-height:1;color:#fff;margin:14px 0 22px}
.weekly-event-clock span{color:var(--red)}
.weekly-event-note{color:#979ca5;font-size:12px;line-height:1.5;margin-bottom:28px}
.weekly-event-card .btn{margin-top:auto}
.weekly-event-timeattack{background:linear-gradient(135deg,rgba(237,27,36,.18),transparent 55%),#11141a}
@media(max-width:800px){.weekly-events-grid{grid-template-columns:1fr}.weekly-event-card{min-height:auto;padding:32px}.weekly-event-price{font-size:68px}}

/* Centro Privacy e consenso cookie */
.privacy-center-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.privacy-center-card{appearance:none;color:var(--text);font:inherit;text-align:left;background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--red);padding:30px;cursor:pointer}.privacy-center-card span{color:var(--red);font-weight:900}.privacy-center-card h2{font-size:28px;margin-top:18px}.privacy-center-card p{color:var(--muted)}.privacy-center-card strong{font-size:12px;letter-spacing:.08em;color:var(--red)}.legal-page{max-width:900px}.legal-page h2{font-size:34px;margin-top:46px}.legal-page h3{font-size:22px;margin-top:28px}.legal-page p{color:#d0d3d7}.legal-page a{color:var(--red);font-weight:800}.gtk-cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:1000;background:#0d0f13;border:1px solid rgba(255,255,255,.18);border-top:4px solid var(--red);box-shadow:0 18px 55px rgba(0,0,0,.55);padding:22px}.gtk-cookie-banner>div{width:min(1100px,100%);margin:auto}.gtk-cookie-banner p{margin:6px 0 15px;color:#d5d7da}.gtk-cookie-banner a{font-size:12px;color:var(--red);font-weight:900}.gtk-cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cookie-text-btn{border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer;font-weight:800}.gtk-cookie-modal{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:20px}.gtk-cookie-modal[hidden],.gtk-cookie-banner[hidden]{display:none}.gtk-cookie-modal-panel{position:relative;width:min(650px,100%);max-height:90vh;overflow:auto;background:#11141a;border:1px solid var(--line);border-top:4px solid var(--red);padding:32px}.gtk-cookie-close{position:absolute;right:14px;top:8px;border:0;background:none;color:#fff;font-size:34px;cursor:pointer}.cookie-toggle-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.cookie-toggle-row span{display:flex;flex-direction:column}.cookie-toggle-row small{color:var(--muted)}.cookie-toggle-row input{width:22px;height:22px;accent-color:var(--red)}
@media(max-width:800px){.privacy-center-grid{grid-template-columns:1fr}.gtk-cookie-actions .btn{width:auto}.gtk-cookie-modal-panel{padding:26px 20px}}

/* Primo accesso: scelta cookie obbligatoria prima dei servizi non essenziali */
body.gtk-consent-pending::before{content:"";position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.52);backdrop-filter:blur(1px)}
.gtk-cookie-banner{left:50%;right:auto;bottom:22px;transform:translateX(-50%);width:min(980px,calc(100% - 28px));background:#f4f4f4;color:#171717;border:0;border-top:4px solid var(--red);box-shadow:0 18px 60px rgba(0,0,0,.55);padding:24px 26px;text-align:center}
.gtk-cookie-banner>div{width:100%;margin:0 auto}
.gtk-cookie-banner strong{font-family:'Oxanium',Arial,sans-serif;font-size:17px;letter-spacing:.04em}
.gtk-cookie-banner p{max-width:860px;margin:8px auto 18px;color:#333;line-height:1.45}
.gtk-cookie-banner .gtk-cookie-actions{justify-content:center}
.gtk-cookie-banner .btn{min-width:138px;transform:none;box-shadow:none;padding:12px 20px}
.gtk-cookie-banner .btn:hover{transform:translateY(-1px)}
.gtk-cookie-banner .btn-outline{background:#555;border-color:#555;color:#fff}
.gtk-cookie-banner .btn-reject{background:#d83a3a;border-color:#d83a3a;color:#fff}
.gtk-cookie-links{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:12px}
.gtk-cookie-links a{color:#c64a2e;text-decoration:underline;font-size:13px;font-weight:900}
@media(max-width:680px){.gtk-cookie-banner{bottom:8px;padding:20px 16px}.gtk-cookie-banner .gtk-cookie-actions{display:grid;grid-template-columns:1fr}.gtk-cookie-banner .btn{width:100%}.gtk-cookie-links{gap:8px 12px}}

.footer-social-title{margin-top:16px!important;margin-bottom:8px!important}

.footer-social-title{margin-top:18px!important;margin-bottom:4px!important}


/* Accesso alle informative durante la prima scelta cookie */
body.gtk-privacy-access.gtk-consent-pending::before{display:none}
body.gtk-privacy-access.gtk-consent-pending{overflow:auto}
body.gtk-privacy-access .gtk-cookie-banner{position:fixed;left:auto;right:18px;bottom:18px;transform:none;width:min(660px,calc(100% - 36px));text-align:left;padding:18px 20px;z-index:1000}
body.gtk-privacy-access .gtk-cookie-banner p{margin:6px 0 12px;font-size:14px}
body.gtk-privacy-access .gtk-cookie-banner .gtk-cookie-actions{justify-content:flex-start}
body.gtk-privacy-access .gtk-cookie-links{justify-content:flex-start;margin-top:9px}
@media(max-width:680px){body.gtk-privacy-access .gtk-cookie-banner{left:8px;right:8px;bottom:8px;width:auto;max-height:48vh;overflow:auto}body.gtk-privacy-access .gtk-cookie-banner .gtk-cookie-actions{display:flex}body.gtk-privacy-access .gtk-cookie-banner .btn{width:auto;min-width:0;padding:10px 13px}}

/* Feed Instagram: stato consenso cookie e fallback visibile. */
.elfsight-feed-wrap{min-height:260px;position:relative}
.gtk-social-consent-placeholder{display:none;min-height:260px;padding:42px 28px;border:1px solid var(--line);border-top:4px solid var(--red);background:linear-gradient(135deg,rgba(237,27,36,.10),rgba(17,20,26,.98));text-align:center;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.gtk-social-consent-placeholder strong{font-family:'Oxanium',Impact,sans-serif;font-size:24px;letter-spacing:.04em}
.gtk-social-consent-placeholder p{max-width:620px;margin:0 0 10px;color:var(--muted)}
.elfsight-feed-wrap.gtk-social-consent-blocked .gtk-social-consent-placeholder{display:flex}
.elfsight-feed-wrap.gtk-social-consent-blocked>[class*="elfsight-app-"]{display:none}
.elfsight-feed-wrap.gtk-social-consent-granted .gtk-social-consent-placeholder{display:none}
.elfsight-feed-wrap.gtk-social-consent-granted>[class*="elfsight-app-"]{display:block}


/* Social Paddock sempre visibile: galleria locale prima del consenso, feed live dopo. */
.gtk-social-local-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;min-height:320px}
.gtk-social-local-gallery a{display:block;overflow:hidden;border:1px solid var(--line);background:#11141a;min-height:320px}
.gtk-social-local-gallery img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;transition:transform .3s ease,filter .3s ease}
.gtk-social-local-gallery a:hover img{transform:scale(1.025);filter:brightness(1.06)}
.gtk-social-live-feed{display:none;min-height:260px}
.elfsight-feed-wrap.gtk-social-consent-blocked .gtk-social-local-gallery{display:grid}
.elfsight-feed-wrap.gtk-social-consent-blocked .gtk-social-live-feed{display:none}
/* Dopo il consenso la galleria locale resta visibile finché Elfsight non ha realmente renderizzato il feed. */
.elfsight-feed-wrap.gtk-social-consent-granted .gtk-social-local-gallery{display:grid}
.elfsight-feed-wrap.gtk-social-consent-granted .gtk-social-live-feed{display:block;position:absolute;inset:0;visibility:hidden;pointer-events:none}
.elfsight-feed-wrap.gtk-social-consent-granted.gtk-social-feed-ready .gtk-social-local-gallery{display:none}
.elfsight-feed-wrap.gtk-social-consent-granted.gtk-social-feed-ready .gtk-social-live-feed{position:relative;inset:auto;visibility:visible;pointer-events:auto}
@media(max-width:800px){.gtk-social-local-gallery{grid-template-columns:1fr 1fr}.gtk-social-local-gallery a:first-child{grid-column:1/-1}}
@media(max-width:560px){.gtk-social-local-gallery{grid-template-columns:1fr}.gtk-social-local-gallery a:first-child{grid-column:auto}.gtk-social-local-gallery a,.gtk-social-local-gallery img{min-height:250px}}

/* Bilingual selector */
.gtk-lang-switch{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.gtk-lang-switch a{color:#a9adb4}.gtk-lang-switch a.active,.gtk-lang-switch a:hover{color:var(--red)}.gtk-lang-switch>span{color:#5f646d}.gtk-lang-switch-mobile{display:none;padding:12px 0 2px}.mobile-nav.open .gtk-lang-switch-mobile{display:inline-flex}@media(max-width:1050px){.header-inner>.gtk-lang-switch{display:none}}

/* Staff Italia partner logo */





/* Staff Italia partner logo: white background with black logo for clarity */
.partner-network-logo-staff{background:#ffffff;padding:22px 26px;}
.partner-network-logo-staff img{max-width:220px;max-height:92px;width:100%;object-fit:contain;display:block;filter:brightness(0) saturate(100%);}
