.sp-events-grid { display: grid; grid-template-columns: repeat(var(--sp-events-columns, 3), minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.sp-event-card { overflow: hidden; border: 1px solid color-mix(in srgb, var(--sp-color-secondary, #1f2428) 12%, transparent); border-radius: var(--sp-radius, 10px); background: var(--sp-color-surface, #fff); box-shadow: var(--sp-shadow, 0 16px 40px rgb(31 36 40 / 10%)); }
.sp-event-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.sp-event-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sp-event-card:hover .sp-event-card__image img { transform: scale(1.025); }
.sp-event-card__body { padding: clamp(1rem, 2vw, 1.5rem); }
.sp-event-card__date { margin: 0 0 .55rem; color: var(--sp-color-primary, #b63b32); font-size: .9rem; font-weight: 700; }
.sp-event-card h2 { margin: 0 0 .65rem; overflow-wrap: anywhere; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.15; }
.sp-event-card h2 a { color: inherit; text-decoration: none; }
.sp-event-card__location { color: color-mix(in srgb, currentColor 75%, transparent); }
.sp-event-card__categories { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .55rem; }
.sp-event-card__categories a { padding: .2rem .5rem; border-radius: 999px; background: color-mix(in srgb, var(--sp-color-primary, #b63b32) 9%, transparent); color: var(--sp-color-primary, #b63b32); font-size: .78rem; font-weight: 700; text-decoration: none; }
.sp-event-card__link, .sp-event-button { display: inline-flex; align-items: center; min-height: 42px; margin-top: .4rem; padding: .65rem 1rem; border-radius: var(--sp-radius, 5px); background: var(--sp-color-primary, #b63b32); color: var(--sp-color-on-primary, #fff); font-weight: 700; text-decoration: none; }
.sp-event-card__badge, .sp-event-details__notice { display: inline-block; margin-bottom: .6rem; padding: .3rem .55rem; border-radius: 4px; background: #b42318; color: #fff; font-size: .8rem; font-weight: 700; }
.sp-event-card.is-cancelled { opacity: .78; }
.sp-event-details { margin: 0 0 2rem; padding: clamp(1rem, 2.5vw, 1.75rem); border-left: 4px solid var(--sp-color-primary, #b63b32); background: color-mix(in srgb, var(--sp-color-primary, #b63b32) 6%, #fff); }
.sp-event-details p { margin: 0 0 1rem; }
.sp-events-layout--list { grid-template-columns: 1fr; }
.sp-events-layout--list .sp-event-card { display: grid; grid-template-columns: minmax(220px, .36fr) 1fr; }
.sp-events-layout--list .sp-event-card__image { height: 100%; aspect-ratio: auto; }
.sp-events-layout--compact { grid-template-columns: 1fr; gap: .65rem; }
.sp-events-layout--compact .sp-event-card { box-shadow: none; }
.sp-events-layout--compact .sp-event-card__image, .sp-events-layout--compact .sp-event-card__location, .sp-events-layout--compact .sp-event-card__body > p:not(.sp-event-card__date):not(.sp-event-card__categories), .sp-events-layout--compact .sp-event-card__link { display: none; }
.sp-events-layout--compact .sp-event-card__body { display: grid; grid-template-columns: minmax(180px, .35fr) 1fr; align-items: center; gap: .8rem 1.5rem; padding: .85rem 1rem; }
.sp-events-layout--compact .sp-event-card__date, .sp-events-layout--compact .sp-event-card h2 { margin: 0; }
.sp-events-layout--compact .sp-event-card__categories { grid-column: 2; margin: -.25rem 0 0; }
.sp-event-single__header { padding: clamp(3rem, 7vw, 7rem) 0 clamp(2rem, 5vw, 4rem); background: color-mix(in srgb, var(--sp-color-primary, #b63b32) 8%, #fff); }
.sp-event-single--contrast .sp-event-single__header { background: var(--sp-color-secondary, #1f2428); color: var(--sp-color-on-dark, #fff); }
.sp-event-single--primary .sp-event-single__header { background: var(--sp-color-primary, #b63b32); color: var(--sp-color-on-primary, #fff); }
.sp-event-single--contrast .sp-event-card__categories a, .sp-event-single--primary .sp-event-card__categories a { background: rgb(255 255 255 / 14%); color: inherit; }
.sp-event-single__header h1 { max-width: 18ch; margin: .5rem 0 0; overflow-wrap: anywhere; font-size: clamp(2.2rem, 6vw, 5rem); line-height: 1.02; }
.sp-event-single__lead { max-width: 62ch; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.sp-event-single__hero { margin-top: clamp(1.5rem, 4vw, 3rem); }
.sp-event-single__hero img { width: 100%; max-height: 680px; border-radius: var(--sp-radius, 10px); object-fit: cover; }
.sp-event-single__content { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(3rem, 7vw, 7rem); }
.sp-event-single--split .sp-event-single__header-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.sp-event-single__split-image img { width: 100%; max-height: 520px; border-radius: var(--sp-radius, 10px); object-fit: cover; }
.sp-event-single--compact .sp-event-single__header { padding: clamp(2rem, 5vw, 4rem) 0; }
.sp-event-single--compact .sp-event-single__header h1 { max-width: 24ch; font-size: clamp(2rem, 5vw, 3.5rem); }
.sp-event-single--compact .sp-event-single__hero, .sp-event-single--compact .sp-event-single__content { max-width: 900px; }
@media (max-width: 900px) { .sp-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .sp-event-single--split .sp-event-single__header-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .sp-events-grid, .sp-events-layout--list .sp-event-card { grid-template-columns: 1fr; } .sp-events-layout--list .sp-event-card__image { aspect-ratio: 16 / 10; } .sp-events-layout--compact .sp-event-card__body { grid-template-columns: 1fr; } .sp-events-layout--compact .sp-event-card__categories { grid-column: auto; } }
