.gallery-sections { display:flex; flex-wrap:wrap; gap:12px 24px; padding-block:28px; }
.gallery-sections a { color:#28559d; text-underline-offset:5px; font-weight:600; }
#gare, #esami, .race-event { scroll-margin-top:100px; }
.race-event { margin-block:48px 64px; }
.race-results { margin:20px 0; }
.race-results summary { cursor:pointer; font-weight:600; color:#28559d; padding-block:8px; }
.race-results ul { columns:2; column-gap:40px; padding-left:22px; margin-top:12px; }
.race-results li { break-inside:avoid; margin-bottom:8px; }
.race-photo-note { margin:16px 0; }
.race-event .event-photos { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px) { .race-event .event-photos { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .race-results ul { columns:1; } }

.gallery-archive .event-photos { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; padding-bottom:14px; scrollbar-color:#28559d #eeeae2; scrollbar-width:auto; }
.gallery-archive .event-photos > * { flex:0 0 30%; min-width:0; scroll-snap-align:start; }
.gallery-archive .event-photos img { width:100%; height:240px; object-fit:contain; display:block; background:#f8f7f3; }
.gallery-archive .event-photos:focus-visible { outline:2px solid #28559d; outline-offset:5px; }
.race-event { margin-block:0; }
.press-archive .race-event { border:0; padding:0; background:transparent; }
.press-archive .event-photos img { height:330px; }
@media(max-width:600px) { .gallery-archive .event-photos > * { flex-basis:84%; } .gallery-archive .event-photos img { height:220px; } .press-archive .event-photos img { height:310px; } }

#esami.gallery-archive { padding-top: 24px; }
