.sg-events {
  --sg-events-accent: #075775;
  --sg-events-date-bg: #eef5f7;
  --sg-events-surface: #fff;
  --sg-events-border: #e2ded6;
  --sg-events-radius: 16px;
  --sg-events-image-width: 220px;
  margin: 1.5rem 0;
  container-type: inline-size;
}
.sg-events .sg-events__heading { margin: 0 0 1.2rem; }
.sg-events .sg-events__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.sg-events .sg-events__card {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: start;
  list-style: none; padding: 1.1rem; margin: 0; gap: 1.25rem;
  border: 1px solid var(--sg-events-border); border-radius: var(--sg-events-radius);
  background: var(--sg-events-surface); box-shadow: 0 8px 24px rgb(20 31 40 / 5%);
}
.sg-events .sg-events__card--image { grid-template-columns: minmax(0, var(--sg-events-image-width)) minmax(0, 1fr); }
.sg-events .sg-events__media { display: block; overflow: hidden; border-radius: calc(var(--sg-events-radius) * .65); aspect-ratio: 8 / 5; line-height: 0; }
.sg-events .sg-events__media img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; }
.sg-events .sg-events__body { min-width: 0; overflow-wrap: anywhere; }
.sg-events .sg-events__categories { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .6rem; }
.sg-events a.sg-events__category { display: inline-block; color: var(--sg-events-accent); font-size: .74rem; line-height: 1.3; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; text-decoration: none; }
.sg-events a.sg-events__category + a.sg-events__category { border-left: 1px solid var(--sg-events-border); padding-left: .4rem; }
.sg-events .sg-events__date { display: inline-block; color: var(--sg-events-accent); background: var(--sg-events-date-bg); border-radius: 4px; padding: .3rem .5rem; font-size: .875rem; line-height: 1.5; font-weight: 700; margin: 0 0 .55rem; }
.sg-events .sg-events__title { font-size: 1.2rem; line-height: 1.35; font-weight: 700; margin: 0 0 .65rem; }
.sg-events .sg-events__title a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
.sg-events .sg-events__title a:hover, .sg-events .sg-events__category:hover { color: var(--sg-events-accent); text-decoration: underline; }
.sg-events .sg-events__venue { margin: 0; font-size: .95rem; line-height: 1.5; }
.sg-events .sg-events__venue-label { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; opacity: .7; }
.sg-events .sg-events__status { font-size: .875rem; margin: .1rem 0 .5rem; font-weight: 700; }
.sg-events .sg-events__refresh { font-size: .875rem; }
.sg-events a:focus-visible { outline: 2px solid var(--sg-events-accent); outline-offset: 3px; }
.sg-events [hidden], .sg-events-editor [hidden] { display: none !important; }
@container (max-width: 540px) {
  .sg-events .sg-events__card--image { grid-template-columns: minmax(0, 1fr); }
  .sg-events .sg-events__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
  .sg-events .sg-events__card--image { grid-template-columns: minmax(0, 1fr); }
  .sg-events .sg-events__media { aspect-ratio: 16 / 9; }
}
