/* CMS-managed photo/gallery enhancements, built over original 2026 brand system. */
.cms-gallery{padding:clamp(60px,7vw,110px) 0;background:#111112;color:#f8f5f5}
.cms-gallery[hidden]{display:none}
.cms-gallery h2{font-size:clamp(34px,6.4vw,92px);line-height:.95;letter-spacing:-.04em;margin:20px 0 34px;font-family:inherit;font-weight:900}
.cms-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cms-gallery-item{border-radius:10px;overflow:hidden;aspect-ratio:1.12;position:relative;background:#262526}
.cms-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.cms-gallery-item:hover img{transform:scale(1.035)}
.cms-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;mix-blend-mode:luminosity;pointer-events:none}
.cms-event-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;pointer-events:none}
.event-card{position:relative;isolation:isolate;overflow:hidden}
.event-card>:not(.cms-event-cover){position:relative;z-index:1}
.schedule-entry{position:relative;isolation:isolate;overflow:hidden}
.schedule-entry>:not(.cms-event-cover){position:relative;z-index:1}
.sponsor-logo img.cms-partner-logo{display:block;max-width:175px;width:100%;height:75px;object-fit:contain;margin:0 auto 8px}
.cms-banner-error{font:12px system-ui,sans-serif;padding:10px 20px;color:#f8f5f5;background:#730b18}
@media(max-width:700px){.cms-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cms-gallery-item{aspect-ratio:1}.cms-gallery h2{margin-bottom:22px}}
@media(max-width:400px){.cms-gallery-grid{grid-template-columns:1fr 1fr}}
/* Aston Karting – automatic sponsor logo scaling */
.sponsor-logos .sponsor-logo {
  min-height: 170px;
  padding: 18px;
  gap: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.sponsor-logos .sponsor-logo img.cms-partner-logo {
  display: block;
  width: 100%;
  max-width: none;
  height: 115px;
  max-height: none;
  object-fit: contain;
  object-position: center;
  margin: 0;
}

@media (max-width: 700px) {
  .sponsor-logos .sponsor-logo {
    min-height: 145px;
    padding: 16px;
  }

  .sponsor-logos .sponsor-logo img.cms-partner-logo {
    height: 95px;
  }
}
