/* Racing Edition V4.3 — solo carosello eventi della homepage.
   Nessuna modifica alle card dei dettagli pista, ai dati o ai servizi. */

/* Tre card sempre visibili sul desktop. Si scorre una card per volta,
   così anche l'ultima posizione presenta tre eventi (quando disponibili). */
html body:not(.promotion-management) .events-block .events-grid-outer {min-width:0;}
html body:not(.promotion-management) .events-block .events-grid-viewport {
    width:100%; overflow-x:auto !important; overflow-y:hidden !important;
    scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain;
}
html body:not(.promotion-management) .events-block .events-track-pages {
    display:flex !important; gap:14px !important; align-items:flex-start !important;
    width:max-content; min-width:100%; transform:none !important;
}
html body:not(.promotion-management) .events-block .events-page {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    flex:0 0 calc((var(--ru-events-width, 100%) - 28px) / 3) !important;
    width:calc((var(--ru-events-width, 100%) - 28px) / 3) !important;
    min-width:0 !important; padding:0 !important; margin:0 !important;
    scroll-snap-align:start; align-items:start !important;
}
/* Il contenitore flex ha larghezza max-content per contenere le slide:
   la variabile di larghezza è aggiornata dal ResizeObserver nello script. */
html body:not(.promotion-management) .events-block .event-entry-home,
html body:not(.promotion-management) .events-block .event-entry-home.expand-ratio {
    grid-column:auto !important; grid-row:auto !important;
    width:100% !important; min-width:0 !important; max-width:100% !important;
    margin:0 !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno,
html body:not(.promotion-management) .events-block .event-entry-home.expand-ratio .event-card-moderno.is-expanded {
    width:100% !important; max-width:100% !important; margin-inline:0 !important;
    transform:none;
}
html body:not(.promotion-management) .events-block .event-card-moderno:hover {transform:none !important;}
/* Aprendo la card si aggiunge solo altezza. La foto conserva l'altezza
   originale: non viene ingrandita quando si leggono i dettagli. */
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded,
html body:not(.promotion-management) .events-block .event-entry-home.expand-ratio .event-card-moderno.is-expanded {
    height:530px !important; min-height:0 !important; max-height:none !important;
    background:#061723 !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-image-container {
    top:0 !important; bottom:auto !important; height:320px !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded:hover .event-card-image {
    transform:none !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-gradient {
    inset:0 !important; height:100% !important;
    background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(2,10,17,.35) 33%,rgba(2,10,17,.97) 65%,#061723 100%) !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-content,
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded.has-sessions .event-card-content {
    top:205px !important; bottom:66px !important;
    max-height:none !important; padding:0 15px !important;
    justify-content:flex-start !important; overflow:visible !important;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-description,
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded.has-sessions .event-card-description {
    margin-top:12px !important; max-height:205px !important;
    overflow-y:auto !important; overflow-x:hidden !important;
    overscroll-behavior:contain; scrollbar-width:thin;
}
html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-sessions-list {
    max-height:130px !important; overflow-y:auto !important;
}
/* Navigazione manuale visibile, senza intaccare il link alla pagina eventi. */
html body:not(.promotion-management) .events-block .events-head-actions {
    display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:flex-end;
}
html body:not(.promotion-management) .events-block .events-carousel-controls {
    display:flex; align-items:center; gap:8px;
}
html body:not(.promotion-management) .events-block .events-carousel-controls[hidden] {display:none !important;}
html body:not(.promotion-management) .events-block .events-carousel-controls button {
    display:grid; place-items:center; width:33px; height:33px;
    border:1px solid #cbd8e0; border-radius:4px; background:#fff; color:#14354d;
    cursor:pointer; transition:background .15s,color .15s;
}
html body:not(.promotion-management) .events-block .events-carousel-controls button:hover,
html body:not(.promotion-management) .events-block .events-carousel-controls button:focus-visible {
    background:#14354d; color:#fff;
}
html body:not(.promotion-management) .events-block .events-carousel-controls button:disabled {opacity:.42;cursor:default;}
html body:not(.promotion-management) .events-block .events-page-label {
    color:#314b5f; font:700 .8rem Inter,Arial,sans-serif; min-width:34px; text-align:center;
    font-variant-numeric:tabular-nums;
}
@media (max-width:768px) {
    /* Due card impilate per slide, senza riquadri supplementari. */
    html body:not(.promotion-management) .events-block .events-track-pages {
        gap:0 !important; width:100% !important;
    }
    html body:not(.promotion-management) .events-block .events-page {
        flex:0 0 100% !important; width:100% !important; max-width:100% !important;
        grid-template-columns:minmax(0,1fr) !important;
        grid-template-rows:none !important; gap:10px !important;
    }
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded,
    html body:not(.promotion-management) .events-block .event-entry-home.expand-ratio .event-card-moderno.is-expanded {
        height:475px !important; min-height:0 !important; max-height:none !important;
    }
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-image-container {height:300px !important;}
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-content,
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded.has-sessions .event-card-content {
        top:165px !important; bottom:58px !important; padding:0 12px !important;
    }
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded .event-card-description,
    html body:not(.promotion-management) .events-block .event-card-moderno.is-expanded.has-sessions .event-card-description {
        max-height:195px !important;
    }
    html body:not(.promotion-management) .events-block .events-head-actions {gap:9px;}
    html body:not(.promotion-management) .events-block .events-carousel-controls {gap:4px;}
    html body:not(.promotion-management) .events-block .events-carousel-controls button {width:29px;height:29px;}
    html body:not(.promotion-management) .events-block .events-page-label {font-size:.7rem;min-width:28px;}
}
@media (prefers-reduced-motion:reduce) {
    html body:not(.promotion-management) .events-block .events-grid-viewport {scroll-behavior:auto;}
    html body:not(.promotion-management) .events-block .event-card-moderno {transition:none !important;}
}
