/* PisteKart Italia / Racing Edition V4 — visual-only overrides.
   Keeps all Thymeleaf, Leaflet markers, promotions, events and API mapping intact.
   Desktop: energetic photo-led racing editorial. Mobile: compact, edge-to-edge information. */
:root {
  --bg:#f6f8fa;--panel:#fff;--panel-soft:#eef3f6;
  --text:#102e43;--muted:#587083;--line:#dce5ea;
  --red:#ee1642;--red2:#c80b32;--blue:#123c59;--blue-dark:#082b45;
  --pm-accent:#123c59;--pm-danger:#e31841;--shadow-clean:0 6px 22px rgba(10,42,64,.07);
}
html { scroll-padding-top:77px; }
body:not(.promotion-management){ background:#f7f9fb !important; color:var(--text); }
/* Shared masthead on all seven public pages */
.site-navbar,.main-content > .site-navbar{
  height:72px !important;min-height:72px !important;
  background:linear-gradient(110deg,#052b48 0%,#113e5a 58%,#163b55 100%) !important;
  border:0 !important;border-bottom:2px solid #d4143b !important;
  box-shadow:none !important; padding-inline:max(22px,calc((100vw - 1410px)/2)) !important;
  gap:18px !important;
}
.site-navbar .navbar-brand {display:flex !important;align-items:center !important;gap:21px !important;min-width:0 !important;flex-shrink:0;}
.site-navbar .logo { background:none !important;flex-shrink:0;}
.site-navbar .logo img {height:43px !important;width:auto !important;max-width:190px !important;object-fit:contain;}
.site-powered {display:flex;align-items:center;gap:7px;min-width:0;padding-left:18px;border-left:1px solid rgba(255,255,255,.28);color:#eff6fa;white-space:nowrap;}
.site-powered span {font:600 .65rem Inter,system-ui,sans-serif;text-transform:none;letter-spacing:.015em;color:#d9e8ef;}
.site-powered img {width:auto;height:32px;max-width:52px;object-fit:contain;filter:none;}
.site-navbar .navbar-links {gap:clamp(10px,1.75vw,26px) !important;}
.site-navbar .navbar-links a:not(.login-btn) {font-size:1.13rem !important;font-weight:700;color:#fff !important;letter-spacing:.015em;}
.site-navbar .navbar-links a:not(.login-btn)::after {background:var(--red) !important;}
.site-navbar .login-btn {background:var(--red2) !important;color:#fff !important;border:1px solid #f33354 !important;border-radius:3px !important;box-shadow:none !important;}
.site-navbar .login-btn:hover {background:var(--red) !important;}
.site-navbar .site-mobile-menu:not([hidden]) {background:#0a324e !important;border-color:var(--red) !important;}
.site-navbar .site-mobile-menu a:is(:hover,[aria-current="page"]) {background:var(--red2) !important;}
/* Focus, readability and consistent primary actions */
:where(button,input,select,textarea,a):focus-visible {outline:2px solid #ff315a !important;outline-offset:3px;}
body:not(.promotion-management) :is(.hero-btn.primary,.filter-btn,.event-card-button,.selected-track-action){background:var(--red2) !important;border-color:var(--red2) !important;color:#fff !important;box-shadow:none !important;}
body:not(.promotion-management) :is(.hero-btn.primary,.filter-btn,.event-card-button,.selected-track-action):hover {background:var(--red) !important;filter:none !important;}
/* Home hero: recognizable racing typography, real photo remains visible */
body:not(.promotion-management) .hero-catch#heroCatch {
  min-height:490px !important;
  padding:54px max(25px,calc((100vw - 1410px)/2)) 50px !important;
  background-color:#082d46 !important;
  background-image:linear-gradient(90deg,#082d46 0%,rgba(8,45,70,.98) 23%,rgba(8,45,70,.88) 39%,rgba(8,45,70,.48) 59%,rgba(8,45,70,.07) 85%),url('/sfondo.png') !important;
  background-size:cover,cover !important;background-position:center,right center !important;
  border-bottom:2px solid var(--red) !important;
}
body:not(.promotion-management) .hero-catch#heroCatch .hero-catch-inner {max-width:860px;}
body:not(.promotion-management) .hero-catch#heroCatch .hero-title {
  font-family:Teko,sans-serif !important;font-style:italic !important;
  font-size:clamp(4.8rem,6.7vw,7.35rem) !important;line-height:.8 !important;
  letter-spacing:-.032em !important;max-width:860px !important;
  white-space:normal;text-shadow:0 2px 18px rgba(0,0,0,.18) !important;
}
body:not(.promotion-management) .hero-title span {color:var(--red) !important;}
body:not(.promotion-management) .hero-catch#heroCatch .hero-subtitle {max-width:410px;margin-top:23px !important;color:#fff !important;line-height:1.55;}
body:not(.promotion-management) .hero-catch#heroCatch .hero-actions {margin-top:24px !important;}
body:not(.promotion-management) .hero-btn {border-radius:3px !important;height:44px;font-size:1.14rem !important;}
body:not(.promotion-management) .hero-btn.secondary {background:rgba(3,31,51,.48) !important;border:1px solid rgba(255,255,255,.83) !important;color:#fff !important;}
.hero-photo-signature {color:#fff;}
.signature-line {background:var(--red) !important;}
/* Other pages: stronger, less wasted space */
body:not(.promotion-management) .hero-catch:not(#heroCatch) {
  min-height:270px !important;padding:45px max(24px,calc((100vw - 1410px)/2)) 40px !important;
  background-image:linear-gradient(90deg,#082e49 0%,rgba(9,47,70,.98) 34%,rgba(9,47,70,.47) 71%,rgba(9,47,70,.15) 100%),url('/sfondo.png') !important;
  border-bottom:2px solid var(--red) !important;
}
body:not(.promotion-management) .hero-catch:not(#heroCatch) .hero-title {font-size:clamp(3.9rem,6vw,6rem) !important;line-height:.82 !important;}
body:not(.promotion-management) .hero-catch:not(#heroCatch) .hero-subtitle {margin-top:14px !important;}
/* Editorial sections on a neutral canvas, no boxes stacked inside decorative boxes */
body:not(.promotion-management) .home-shell {max-width:1490px;padding:20px 20px 36px !important;}
body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel){padding:22px 24px 25px !important;}
body:not(.promotion-management) :is(.home-panel,.page-panel){border:0 !important;border-bottom:1px solid #dee6ed !important;border-radius:3px !important;box-shadow:none !important;margin-bottom:12px !important;background:#fff !important;}
body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel) {border-top:0 !important;border-left:0 !important;}
body:not(.promotion-management) .section-headline {margin-bottom:17px !important;gap:12px;}
body:not(.promotion-management) :is(.section-title,.section-headline h2,.page-title){font-family:Teko,sans-serif !important;font-style:normal !important;font-size:clamp(2.5rem,3.3vw,3.8rem) !important;letter-spacing:-.025em !important;color:#102e45 !important;line-height:.87 !important;}
body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel) .section-headline::before {content:none !important;}
body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel) .section-title::before {content:'';display:inline-block;vertical-align:middle;background:var(--red);width:27px;height:4px;margin-right:11px;transform:translateY(-5px);}
body:not(.promotion-management) .section-link {font:700 1.03rem Teko,sans-serif;color:var(--red2) !important;letter-spacing:.04em;}
body:not(.promotion-management) #piste-section{background:#fff !important;}
body:not(.promotion-management) .events-page {gap:14px !important;}
/* Preserve event-card anatomy, images, labels and dynamic values */
body:not(.promotion-management) .event-card-moderno {border-radius:4px !important;box-shadow:none !important;}
body:not(.promotion-management) .event-card-gradient {background:linear-gradient(180deg,rgba(2,15,25,.04) 0%,rgba(2,15,25,.27) 38%,rgba(2,15,25,.93) 100%) !important;}
body:not(.promotion-management) .event-card-date {background:var(--red2) !important;box-shadow:none !important;}
/* Home search: filters and listing aligned to the geographical map */
body:not(.promotion-management) .piste-layout {grid-template-columns:minmax(218px,.75fr) minmax(270px,1fr) minmax(360px,1.7fr);gap:12px;grid-template-rows:420px auto;}
body:not(.promotion-management) :is(.filter-section,.results-tab,.track-info-panel){background:#f4f7f9 !important;border:1px solid #dce5eb !important;border-radius:4px !important;}
body:not(.promotion-management) .filter-section {padding:16px !important;}
body:not(.promotion-management) .results-tab {padding:6px !important;}
body:not(.promotion-management) .track-row {min-height:80px !important;margin-bottom:5px;padding:5px 6px !important;border-bottom:1px solid #dce5ea !important;background:white !important;}
body:not(.promotion-management) .track-row.selected {background:#e9f1f7 !important;border-left:3px solid var(--red) !important;}
body:not(.promotion-management) .track-row strong {color:#122f44 !important;}
body:not(.promotion-management) .track-row span {color:#657c8b !important;}
body:not(.promotion-management) .track-badge {background:#f5e9ee !important;color:#ab2443 !important;}
body:not(.promotion-management) .filter-btn {background:var(--red2) !important;}
body:not(.promotion-management) .field-label {color:#254b60 !important;}
body:not(.promotion-management) #map{border-radius:4px !important;border:1px solid #dce5eb !important;}
/* Selected track details: four independent information cards rather than a table */
body:not(.promotion-management) .track-info-panel{padding:19px !important;background:#fff !important;}
body:not(.promotion-management) .track-panel-head {border-bottom:1px solid #dde6ed !important;align-items:center;}
body:not(.promotion-management) .track-panel-head :is(h3,strong){color:#12334a !important;}
body:not(.promotion-management) .track-panel-kicker {color:var(--red2) !important;}
body:not(.promotion-management) .track-panel-meta {color:#456279 !important;}
body:not(.promotion-management) .track-panel-meta i {color:var(--red) !important;}
body:not(.promotion-management) .track-content-mosaic {display:grid !important;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)) !important;gap:12px !important;background:none !important;border:0 !important;border-radius:0 !important;overflow:visible !important;}
body:not(.promotion-management) :is(.track-note-box,.track-detail-block) {background:#f2f6f8 !important;border:1px solid #dce6eb !important;border-top:3px solid var(--red) !important;border-radius:5px !important;padding:16px !important;min-width:0;color:#244154 !important;}
body:not(.promotion-management) :is(.track-note-box strong,.track-detail-title) {font:700 1.42rem Teko,sans-serif !important;text-transform:uppercase;color:#11334b !important;letter-spacing:.015em !important;line-height:1 !important;}
body:not(.promotion-management) .track-detail-title i {color:var(--red) !important;margin-right:8px;}
body:not(.promotion-management) .mini-list-row {color:#425e71 !important;border-bottom:1px solid #d9e3e9 !important;}
body:not(.promotion-management) .mini-list-row strong {color:#15354c !important;}
body:not(.promotion-management) .kart-mini-card {background:#fff !important;color:#17364c !important;}
/* Track detail: cover photo should lead, not disappear under a white haze */
body:not(.promotion-management) .track-top-stage {
 background:#082c48 !important;
 border-bottom:3px solid var(--red) !important;
 min-height:0 !important;
 padding:38px clamp(20px,5vw,90px) 32px !important;
}
body:not(.promotion-management) .track-top-bg {opacity:.80 !important;filter:saturate(1.06) contrast(1.02) !important;transform:none !important;}
body:not(.promotion-management) .track-top-stage::before {
 background:linear-gradient(90deg,rgba(5,35,58,.99) 0%,rgba(5,35,58,.96) 29%,rgba(5,35,58,.76) 48%,rgba(5,35,58,.12) 78%,rgba(5,35,58,.08) 100%) !important;
}
body:not(.promotion-management) .track-top-stage::after {content:none !important;}
body:not(.promotion-management) .track-top-inner {max-width:1400px;grid-template-columns:minmax(0,.95fr) minmax(0,1.16fr);gap:30px;align-items:center !important;}
body:not(.promotion-management) .track-identity {padding:10px 0 !important;}
body:not(.promotion-management) .track-title{
 font-family:Teko,sans-serif !important;font-style:italic !important;font-weight:700 !important;
 font-size:clamp(4.7rem,7.1vw,8.4rem) !important;line-height:.81 !important;letter-spacing:-.025em !important;
 color:#fff !important;text-shadow:0 2px 16px rgba(0,0,0,.20) !important;
 overflow-wrap:anywhere !important;
}
body:not(.promotion-management) .back-link {color:#fff !important;margin-bottom:16px !important;font-size:1.02rem !important;}
body:not(.promotion-management) .back-link i {color:var(--red) !important;}
body:not(.promotion-management) .title-underline {background:var(--red) !important;box-shadow:none !important;margin:16px 0 !important;}
body:not(.promotion-management) .hero-social-row {margin-bottom:20px !important;gap:7px !important;}
body:not(.promotion-management) .hero-social-btn {background:rgba(4,34,55,.62) !important;color:#fff !important;border:1px solid #9ab2c1 !important;border-radius:4px !important;box-shadow:none !important;backdrop-filter:none !important;min-width:0 !important;height:36px !important;}
body:not(.promotion-management) .hero-social-btn:hover {background:#174d70 !important;}
body:not(.promotion-management) .hero-edit-btn {background:var(--red2) !important;}
body:not(.promotion-management) .hero-facts {max-width:700px !important;gap:10px !important;}
body:not(.promotion-management) .hero-fact {padding-right:12px;border-right:1px solid rgba(255,255,255,.25);}
body:not(.promotion-management) .hero-fact:last-child {border-right:0;}
body:not(.promotion-management) .hero-fact > i {color:var(--red) !important;text-shadow:none !important;font-size:1.4rem !important;}
body:not(.promotion-management) .hero-fact strong {color:#fff !important;}
body:not(.promotion-management) .hero-fact small {color:#cbdde7 !important;}
body:not(.promotion-management) .hero-video-card {align-self:center;}
body:not(.promotion-management) .video-frame {border:1px solid rgba(255,255,255,.22) !important;border-radius:4px !important;box-shadow:0 16px 35px rgba(3,20,34,.20) !important;}
body:not(.promotion-management) .video-frame::after {box-shadow:inset 0 -30px 30px rgba(0,0,0,.12) !important;}
body:not(.promotion-management) .desktop-hero-events {margin-top:6px !important;}
/* Track content: avoid dark table aesthetic; dynamic values remain as supplied */
body:not(.promotion-management) .track-promotion-main .page-shell {padding-top:18px !important;}
body:not(.promotion-management) .track-promotion-main .page-panel {background:#fff !important;}
body:not(.promotion-management) .track-promotion-main :is(.card,.calendar-container) {background:#f5f8fa !important;border:1px solid #dbe6ec !important;border-top:3px solid var(--red) !important;border-radius:5px !important;color:#16364c !important;box-shadow:none !important;}
body:not(.promotion-management) .track-promotion-main :is(.card-title,.subsection-title,.calendar-header h5) {color:#12364f !important;}
body:not(.promotion-management) .track-promotion-main :is(.description-text,.section-pill,.empty-state) {color:#395b6e !important;}
body:not(.promotion-management) .track-promotion-main :is(.listino-item,.orari-item){background:transparent !important;border:0 !important;border-bottom:1px solid #dbe5eb !important;border-radius:0 !important;box-shadow:none !important;padding:10px 0 !important;color:#244b61 !important;}
body:not(.promotion-management) .track-promotion-main :is(.listino-name,.orari-day) {color:#20445a !important;}
body:not(.promotion-management) .track-promotion-main :is(.listino-price,.orari-time){color:var(--red2) !important;}
body:not(.promotion-management) .track-promotion-main .stat-box {background:#eaf1f5 !important;border:1px solid #dbe5eb !important;border-radius:4px !important;}
body:not(.promotion-management) .track-promotion-main .stat-label {color:#587387 !important;}
body:not(.promotion-management) .track-promotion-main .stat-value {color:#10364d !important;}
body:not(.promotion-management) .track-promotion-main .profile-toggle {color:#15364b !important;background:#fff !important;border-color:#cbd9e1 !important;}
body:not(.promotion-management) .track-promotion-main :is(.calendar-date,.calendar-nav) {color:#26485f !important;background:#eaf0f4 !important;border-color:#d6e3e9 !important;}
body:not(.promotion-management) .track-promotion-main :is(.calendar-date.selected,.calendar-date.has-event){background:var(--red2) !important;color:#fff !important;}
body:not(.promotion-management) .track-promotion-main .calendar-day {color:#456879 !important;}
body:not(.promotion-management) .track-promotion-main .address-box {background:#e9f0f4 !important;color:#1e4157 !important;border:1px solid #d8e5eb !important;}
body:not(.promotion-management) .track-promotion-main .events-panel {background:#fff !important;}
/* Tablet: prioritize readable columns */
@media(max-width:1250px) {
 .site-navbar,.main-content > .site-navbar {padding-inline:20px !important;}
 .site-navbar .navbar-brand {gap:11px !important;}
 .site-powered {padding-left:10px;}
 body:not(.promotion-management) .piste-layout {grid-template-columns:220px minmax(240px,.9fr) minmax(320px,1.3fr);}
}
@media(max-width:1080px) {
 .site-navbar,.main-content > .site-navbar {height:65px !important;min-height:65px !important;padding-inline:14px !important;}
 .site-navbar .logo img {height:34px !important;max-width:150px !important;}
 .site-powered img {height:26px;max-width:40px;}
 body:not(.promotion-management) .piste-layout {grid-template-columns:1fr 1fr !important;grid-template-rows:auto 360px auto !important;}
 body:not(.promotion-management) .piste-layout .filter-section {grid-row:1;grid-column:1;}
 body:not(.promotion-management) .piste-layout .results-tab {grid-row:1;grid-column:2;max-height:300px;}
 body:not(.promotion-management) .piste-layout #map {grid-row:2;grid-column:1 / -1;min-height:360px !important;}
 body:not(.promotion-management) .piste-layout .track-info-panel {grid-row:3;grid-column:1 / -1;}
 body:not(.promotion-management) .track-content-mosaic {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
 body:not(.promotion-management) .track-top-inner {grid-template-columns:1fr 1fr;}
}
/* Mobile: no cards inside cards, the track page is intentionally compact */
@media(max-width:768px) {
 html {scroll-padding-top:70px;}
 .site-navbar,.main-content > .site-navbar {height:60px !important;min-height:60px !important;padding:0 11px !important;gap:7px !important;}
 .site-navbar .navbar-brand {gap:8px !important;min-width:0 !important;}
 .site-navbar .logo img {height:31px !important;max-width:130px !important;}
 .site-powered {gap:5px;padding-left:7px;border-color:rgba(255,255,255,.28);}
 .site-powered span {font-size:.54rem;}
 .site-powered img {height:24px;max-width:30px;}
 .site-navbar .login-btn {min-width:40px !important;width:40px !important;height:35px !important;padding-inline:0 !important;}
 .site-navbar .site-menu-toggle {width:36px !important;flex-basis:36px !important;height:35px !important;}
 .site-navbar .site-mobile-menu:not([hidden]) {grid-template-columns:repeat(2,minmax(0,1fr));}
 body:not(.promotion-management) .hero-catch#heroCatch {min-height:0 !important;padding:39px 19px 43px !important;background-image:linear-gradient(90deg,rgba(7,38,61,.97),rgba(7,38,61,.77) 73%,rgba(7,38,61,.48)),url('/sfondo.png') !important;}
 body:not(.promotion-management) .hero-catch#heroCatch .hero-title {font-size:clamp(3.7rem,12vw,5.8rem) !important;line-height:.80 !important;}
 body:not(.promotion-management) .hero-catch#heroCatch .hero-subtitle {margin-top:14px !important;font-size:.90rem;max-width:340px;}
 body:not(.promotion-management) .hero-catch#heroCatch .hero-actions {margin-top:17px !important;gap:8px !important;}
 body:not(.promotion-management) .hero-btn {min-height:41px !important;height:auto !important;padding:7px 11px !important;flex:1 1 145px !important;font-size:1.02rem !important;white-space:normal !important;}
 body:not(.promotion-management) .hero-catch:not(#heroCatch) {min-height:220px !important;padding:33px 17px !important;}
 body:not(.promotion-management) .hero-catch:not(#heroCatch) .hero-title {font-size:clamp(3.25rem,11vw,5rem) !important;}
 body:not(.promotion-management) .hero-catch:not(#heroCatch) .hero-subtitle {font-size:.86rem;}
 body:not(.promotion-management) .home-shell {padding:0 0 16px !important;}
 body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel){padding:17px 13px 19px !important;}
 body:not(.promotion-management) :is(.home-panel,.page-panel){border-radius:0 !important;border-left:0 !important;border-right:0 !important;margin:0 0 9px !important;}
 body:not(.promotion-management) :is(.events-block,#piste-section,.videos-carousel) .section-title::before {width:17px;margin-right:7px;height:3px;transform:translateY(-3px);}
 body:not(.promotion-management) :is(.section-title,.section-headline h2,.page-title){font-size:clamp(2.22rem,8.3vw,3rem) !important;}
 body:not(.promotion-management) .section-link{font-size:.88rem !important;}
 body:not(.promotion-management) .events-page {grid-template-columns:1fr !important;gap:10px !important;}
 body:not(.promotion-management) .event-card-moderno{border-radius:4px !important;}
 body:not(.promotion-management) .piste-layout {display:flex !important;flex-direction:column !important;gap:8px !important;}
 body:not(.promotion-management) :is(.piste-layout .filter-section,.piste-layout .results-tab){border:0 !important;border-radius:3px !important;background:#f2f6f8 !important;}
 body:not(.promotion-management) .piste-layout .results-tab {max-height:245px !important;min-height:0;}
 body:not(.promotion-management) .piste-layout #map {height:260px !important;min-height:260px !important;flex:none !important;}
 body:not(.promotion-management) .filter-section{padding:11px !important;}
 body:not(.promotion-management) .filter-section input,body:not(.promotion-management) .filter-section select {height:45px !important;}
 body:not(.promotion-management) .track-info-panel{padding:13px !important;border-radius:0 !important;}
 body:not(.promotion-management) .track-panel-head {display:block;}
 body:not(.promotion-management) .track-content-mosaic {display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
 body:not(.promotion-management) :is(.track-note-box,.track-detail-block){border:0 !important;border-top:3px solid var(--red) !important;border-radius:3px !important;padding:11px !important;}
 body:not(.promotion-management) .track-note-box {grid-column:1/-1;}
 /* Hero track mobile: photo and video remain visible without creating a 900px masthead */
 body:not(.promotion-management) .track-top-stage {padding:19px 13px 17px !important;min-height:0 !important;}
 body:not(.promotion-management) .track-top-stage::before {background:linear-gradient(90deg,rgba(5,35,58,.95),rgba(5,35,58,.69)) !important;}
 body:not(.promotion-management) .track-top-bg{opacity:.64 !important;}
 body:not(.promotion-management) .track-top-inner {display:grid !important;grid-template-columns:1fr !important;gap:13px !important;width:100% !important;max-width:100% !important;overflow:visible !important;}
 body:not(.promotion-management) .track-identity {padding:0 !important;}
 body:not(.promotion-management) .back-link {margin:0 0 9px !important;font-size:.87rem !important;}
 body:not(.promotion-management) .track-title {font-size:clamp(3.55rem,15vw,5.4rem) !important;line-height:.82 !important;letter-spacing:-.028em !important;margin:0 0 12px !important;}
 body:not(.promotion-management) .title-underline {display:none !important;}
 body:not(.promotion-management) .hero-social-row {gap:5px !important;margin:0 0 13px !important;}
 body:not(.promotion-management) .hero-social-btn {height:33px !important;min-height:33px !important;padding:0 9px !important;font-size:.86rem !important;flex:0 1 auto;gap:5px !important;}
 body:not(.promotion-management) .hero-social-btn i {font-size:.82rem !important;}
 body:not(.promotion-management) .track-top-stage .hero-facts {display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px 7px !important;padding:0 !important;margin:0 !important;}
 body:not(.promotion-management) .track-top-stage .hero-fact {display:flex !important;flex-direction:row !important;gap:7px !important;align-items:center !important;text-align:left !important;min-width:0 !important;border:0 !important;padding:0 !important;}
 body:not(.promotion-management) .track-top-stage .hero-fact > i {font-size:1.07rem !important;flex:0 0 21px;width:21px !important;text-align:center !important;}
 body:not(.promotion-management) .track-top-stage .hero-fact > span {display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:1px !important;min-width:0;}
 body:not(.promotion-management) .track-top-stage .hero-fact strong {font-size:.85rem !important;color:#fff !important;}
 body:not(.promotion-management) .track-top-stage .hero-fact small {font-size:.70rem !important;color:#bbd1de !important;}
 body:not(.promotion-management) .hero-video-card {width:100% !important;margin:0 !important;}
 body:not(.promotion-management) .video-frame {aspect-ratio:16/9 !important;border-radius:3px !important;box-shadow:none !important;}
 body:not(.promotion-management) .desktop-hero-events {display:none !important;}
 /* Dismantle nesting in the detail content; full-bleed sections with separators */
 body:not(.promotion-management) .track-promotion-main .page-shell {display:block !important;width:100% !important;max-width:100% !important;padding:0 0 17px !important;gap:0 !important;}
 body:not(.promotion-management) .track-promotion-main .page-panel {display:block !important;padding:13px 13px 16px !important;margin:0 !important;border:0 !important;border-bottom:7px solid #edf2f5 !important;border-radius:0 !important;box-shadow:none !important;overflow:visible !important;}
 body:not(.promotion-management) .track-promotion-main :is(.overview-grid,.split-grid){display:grid !important;grid-template-columns:1fr !important;gap:0 !important;padding:0 !important;margin:0 !important;}
 body:not(.promotion-management) .track-promotion-main :is(.overview-grid>.card,.split-grid>.card) {padding:14px 0 !important;border:0 !important;border-bottom:1px solid #dce6ec !important;border-radius:0 !important;background:none !important;box-shadow:none !important;}
 body:not(.promotion-management) .track-promotion-main .overview-grid>.card:first-child{padding-top:3px !important;}
 body:not(.promotion-management) .track-promotion-main .overview-grid>.card:last-child {border-bottom:0 !important;padding-bottom:0 !important;}
 body:not(.promotion-management) .track-promotion-main .stats-grid {display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:5px !important;margin:12px 0 0 !important;}
 body:not(.promotion-management) .track-promotion-main .stat-box {min-height:0 !important;padding:7px 3px !important;border:0 !important;border-top:2px solid #e1e9ee !important;background:none !important;border-radius:0 !important;align-items:center !important;text-align:center !important;gap:3px !important;}
 body:not(.promotion-management) .track-promotion-main .stat-label {font-size:.62rem !important;line-height:1.12;}
 body:not(.promotion-management) .track-promotion-main .stat-value {font-size:1.38rem !important;line-height:1.05;}
 body:not(.promotion-management) .track-promotion-main .profile-copy-mobile:not(.expanded) {max-height:145px !important;}
 body:not(.promotion-management) .track-promotion-main .profile-toggle {min-height:34px !important;margin-top:6px !important;border-radius:3px !important;}
 body:not(.promotion-management) .track-promotion-main .map-feature {gap:8px !important;}
 body:not(.promotion-management) .track-promotion-main .map-image-wrap {aspect-ratio:16/9 !important;border-radius:3px !important;}
 body:not(.promotion-management) .track-promotion-main .leaflet-map {height:215px !important;border-radius:3px !important;}
 body:not(.promotion-management) .track-promotion-main .address-box {border:0 !important;border-top:1px solid #dce6ec !important;border-radius:0 !important;padding:10px 0 !important;}
 body:not(.promotion-management) .track-promotion-main :is(.listino-item,.orari-item) {padding:8px 0 !important;}
 body:not(.promotion-management) .track-promotion-main .fleet-panel{padding:13px 13px 17px !important;}
 body:not(.promotion-management) .track-promotion-main .flotta-grid {padding:0 !important;margin-top:0 !important;gap:9px !important;}
 body:not(.promotion-management) .track-promotion-main .kart-item{flex:0 0 60vw !important;max-width:220px !important;border-radius:4px !important;}
 body:not(.promotion-management) .track-promotion-main .events-panel{padding:13px !important;}
 body:not(.promotion-management) .track-promotion-main .events-layout{display:flex !important;gap:10px !important;}
 body:not(.promotion-management) .track-promotion-main .calendar-container {padding:11px !important;top:auto !important;border:0 !important;border-radius:3px !important;background:#f3f7f9 !important;}
 body:not(.promotion-management) .track-promotion-main #events-container-moderno{padding:0 0 7px !important;}
 body:not(.promotion-management) .track-promotion-main .event-card-moderno{flex-basis:min(78vw,310px) !important;width:min(78vw,310px) !important;border-radius:4px !important;}
 body:not(.promotion-management) .track-promotion-main :is(.faq-panel,.media-panel) {padding:13px !important;}
 body:not(.promotion-management) .mobile-bottom-nav {background:#092d49 !important;border-color:var(--red) !important;}
 body:not(.promotion-management) .mobile-nav-item.active {box-shadow:inset 0 3px var(--red) !important;}
}
@media(max-width:360px) {
 .site-navbar .logo img{height:27px !important;max-width:116px !important;}
 .site-powered span{font-size:.5rem;}
 .site-powered img {height:21px;}
 .site-navbar .site-menu-toggle{width:33px !important;flex-basis:33px !important;}
 body:not(.promotion-management) .track-title {font-size:clamp(3.25rem,15vw,4.4rem) !important;}
 body:not(.promotion-management) .hero-social-btn{padding:0 7px !important;font-size:.81rem !important;}
 body:not(.promotion-management) .track-content-mosaic{grid-template-columns:1fr !important;}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;}}
/* Higher-specificity title reset: the legacy UI stylesheet sets track headings navy. */
html body:not(.promotion-management) .track-top-stage .track-identity h1.track-title {
 color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.22) !important;
 font-family:Teko,sans-serif !important;font-style:italic !important;letter-spacing:-.025em !important;
}
@media(max-width:1080px){
 .site-navbar .login-btn span {display:none !important;}
 .site-navbar .login-btn {font-size:0 !important;}
 .site-navbar .login-btn i {font-size:1rem !important;}
}
@media(max-width:768px){
 html body:not(.promotion-management) .track-top-stage .track-identity h1.track-title {color:#fff !important;font-size:clamp(3.55rem,15vw,5.4rem) !important;line-height:.81 !important;}
}
/* Compact long names rather than splitting a kartodromo's name mid-word. */
@media(max-width:768px){
 html body:not(.promotion-management) .track-top-stage .track-identity h1.track-title {
  font-size:clamp(2.15rem,11vw,4.6rem) !important;
  overflow-wrap:normal !important;word-break:normal !important;hyphens:none !important;
 }
 body:not(.promotion-management) .track-top-stage .hero-social-row{gap:4px !important;margin-bottom:10px !important;}
 body:not(.promotion-management) .track-top-stage .hero-social-btn{padding:0 6px !important;font-size:.79rem !important;height:32px !important;min-height:32px !important;}
 body:not(.promotion-management) .track-top-stage .hero-facts{gap:6px 6px !important;}
}
/* Avoid arbitrary mid-word breaks on desktop, including lengthy place names. */
@media(min-width:769px){
 html body:not(.promotion-management) .track-top-stage .track-identity h1.track-title {
  font-size:clamp(4.1rem,5.6vw,7.15rem) !important;
  overflow-wrap:break-word !important;word-break:normal !important;
 }
 html body:not(.promotion-management) .track-top-stage .desktop-hero-events {
  grid-column:2 !important;justify-self:end !important;max-width:100% !important;
  background:rgba(5,37,61,.82) !important;border:1px solid rgba(255,255,255,.16) !important;
  border-radius:4px !important;box-shadow:none !important;padding:9px 11px 10px !important;
 }
 html body:not(.promotion-management) .track-top-stage .desktop-hero-events-head {margin-bottom:7px !important;}
}
body:not(.promotion-management) .track-top-stage .track-top-bg{background-image:url('/sfondo.png');}
