.eventostage-event-overview-main {
  --eventostage-collection-accent: #7357d9;
  --eventostage-collection-border: color-mix(in srgb, currentColor 16%, transparent);
}

.eventostage-event-overview {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: min(100% - 2rem, 92rem);
  padding-block: clamp(2rem, 5vw, 5rem);
}

.eventostage-event-overview__header h1 {
  margin-block: 0 1rem;
}

.eventostage-event-overview__content {
  max-width: 52rem;
  margin-block-end: 2rem;
}

.eventostage-event-scopes {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-block: 1.5rem 2rem;
}

.eventostage-event-scopes a,
.eventostage-pagination a {
  border: 1px solid var(--eventostage-collection-border);
  border-radius: .45rem;
  color: inherit;
  padding: .55rem .8rem;
  text-decoration: none;
}

.eventostage-event-scopes a[aria-current="page"],
.eventostage-pagination a[aria-current="page"] {
  background: var(--eventostage-collection-accent);
  border-color: var(--eventostage-collection-accent);
  color: #fff;
}

.eventostage-event-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}

.eventostage-event-overview__header,
.eventostage-event-overview__content,
.eventostage-event-scopes,
.eventostage-event-collection--width-standard { margin-inline: auto; max-width: 76rem; }

.eventostage-event-collection--width-standard { max-width: 76rem; }
.eventostage-event-collection--width-wide { max-width: 92rem; }
.eventostage-event-collection--gap-compact .eventostage-event-grid { gap: .75rem; }
.eventostage-event-collection--gap-standard .eventostage-event-grid { gap: 1.5rem; }
.eventostage-event-collection--gap-generous .eventostage-event-grid { gap: 2.5rem; }

.eventostage-event-card {
  background: var(--eventostage-card-surface, var(--eventostage-card-surface-default, transparent));
  border: 1px solid var(--eventostage-collection-border);
  border-radius: .75rem;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.eventostage-event-card--height-content { align-self: start; }
.eventostage-event-card--height-equal { align-self: stretch; }

.eventostage-event-card__media {
  aspect-ratio: 3 / 2;
  background: #f3f2f0;
  background: color-mix(in srgb, currentColor 6%, transparent);
  margin: 0;
  overflow: hidden;
}

.eventostage-event-card--ratio-4-3 .eventostage-event-card__media { aspect-ratio: 4 / 3; }
.eventostage-event-card--ratio-1-1 .eventostage-event-card__media { aspect-ratio: 1 / 1; }
.eventostage-event-card--ratio-4-5 .eventostage-event-card__media { aspect-ratio: 4 / 5; }
.eventostage-event-card--fit-contain .eventostage-event-card__image { object-fit: contain; }
.eventostage-event-card--radius-none { border-radius: 0; }
.eventostage-event-card--radius-small { border-radius: .35rem; }
.eventostage-event-card--radius-medium { border-radius: .75rem; }
.eventostage-event-card--radius-large { border-radius: 1.25rem; }
.eventostage-event-card--surface-plain { border-color: transparent; }
.eventostage-event-card--surface-soft { background: color-mix(in srgb, var(--eventostage-card-surface, var(--eventostage-card-surface-default)) 92%, currentColor 8%); border-color: transparent; }

.eventostage-event-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.eventostage-event-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--eventostage-card-padding, 1.25rem);
}
.eventostage-event-card--density-compact { --eventostage-card-padding: .85rem; --eventostage-card-rhythm: .45rem; }
.eventostage-event-card--density-standard { --eventostage-card-padding: 1.25rem; --eventostage-card-rhythm: .75rem; }
.eventostage-event-card--density-generous { --eventostage-card-padding: 1.75rem; --eventostage-card-rhythm: 1rem; }

.eventostage-event-card__date {
  background: color-mix(in srgb, var(--eventostage-card-date, var(--eventostage-card-date-default, var(--eventostage-collection-accent))) 8%, transparent);
  border-inline-start: 3px solid currentColor;
  border-radius: .45rem;
  color: var(--eventostage-card-date, var(--eventostage-card-date-default, var(--eventostage-collection-accent)));
  display: grid;
  font-size: .875rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  gap: calc(var(--eventostage-card-rhythm, .75rem) * .55);
  margin-block-end: calc(var(--eventostage-card-rhythm, .75rem) * .85);
  padding: .55rem .7rem;
}

.eventostage-event-card__occurrence {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.eventostage-event-card__occurrence + .eventostage-event-card__occurrence {
  border-block-start: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  padding-block-start: calc(var(--eventostage-card-rhythm, .75rem) * .55);
}

.eventostage-event-card__occurrence-date {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .45rem;
}

.eventostage-event-card__occurrence-link {
  color: inherit;
  text-decoration-thickness: .08em;
  text-underline-offset: .15em;
  width: fit-content;
}

.eventostage-event-card__occurrence-date > time:first-child,
.eventostage-event-card__occurrence-date .eventostage-event-summary__time {
  font-size: .95rem;
}

.eventostage-event-card__date .eventostage-event-summary__admission {
  font-size: .8rem;
  font-weight: 500;
}

.eventostage-event-card__date .eventostage-event-summary__additional {
  width: fit-content;
  font-size: .825rem;
  text-underline-offset: .15em;
}

.eventostage-event-card__title {
  color: var(--eventostage-card-title, var(--eventostage-card-title-default, inherit));
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.2;
  margin: 0;
}

.eventostage-event-card__teaser {
  color: var(--eventostage-card-meta, var(--eventostage-card-meta-default, inherit));
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  margin: calc(var(--eventostage-card-rhythm, .75rem) * .8) 0 0;
}

.eventostage-event-card__venue {
  color: var(--eventostage-card-meta, var(--eventostage-card-meta-default, inherit));
  font-size: .925rem;
  margin: calc(var(--eventostage-card-rhythm, .75rem) * .65) 0 0;
}

.eventostage-event-card__actions {
  margin-block-start: auto;
  padding-block-start: var(--eventostage-card-rhythm, .75rem);
}

.eventostage-event-card__details {
  font-weight: 700;
}

.eventostage-event-scopes a:focus-visible,
.eventostage-pagination a:focus-visible,
.eventostage-event-card__occurrence-link:focus-visible,
.eventostage-event-summary__additional:focus-visible,
.eventostage-event-card__details:focus-visible,
.eventostage-event-list-item__details:focus-visible,
.eventostage-event-list-image-info__details:focus-visible,
.eventostage-event-image-grid-item__details:focus-visible {
  outline: 3px solid var(--eventostage-collection-accent);
  outline-offset: 3px;
}

.eventostage-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
  margin-block-start: 2rem;
}

.eventostage-event-collection--list .eventostage-event-grid { grid-template-columns: 1fr; }

.eventostage-event-list-item {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(8rem, 10rem) minmax(0, auto) minmax(0, 1fr);
}
.eventostage-event-list-item--density-compact { padding-block: .75rem; }
.eventostage-event-list-item--density-comfortable { padding-block: 1.5rem; }
.eventostage-event-list-item--divider { border-block-end: 1px solid var(--eventostage-collection-border); }
.eventostage-event-list-item__media { margin: 0; overflow: hidden; }
.eventostage-event-list-item__media__image { display: block; height: 100%; object-fit: cover; width: 100%; }
.eventostage-event-list-item--thumbnail-small .eventostage-event-list-item__media { max-width: 7.5rem; }
.eventostage-event-list-item__content { min-width: 0; }

.eventostage-event-list-image-info {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
.eventostage-event-list-image-info--50_50 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.eventostage-event-list-image-info--40_60.eventostage-event-list-image-info--side-right { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.eventostage-event-list-image-info--without-media { grid-template-columns: 1fr; }
.eventostage-event-list-image-info--gap-compact { gap: .75rem; }
.eventostage-event-list-image-info--gap-standard { gap: 1.5rem; }
.eventostage-event-list-image-info--gap-generous { gap: 2.5rem; }
.eventostage-event-list-image-info__media { aspect-ratio: 3 / 2; background: #f3f2f0; margin: 0; overflow: hidden; }
.eventostage-event-list-image-info__media__image { display: block; height: 100%; object-fit: cover; width: 100%; }
.eventostage-event-list-image-info--ratio-4-3 .eventostage-event-list-image-info__media { aspect-ratio: 4 / 3; }
.eventostage-event-list-image-info--ratio-1-1 .eventostage-event-list-image-info__media { aspect-ratio: 1 / 1; }
.eventostage-event-list-image-info--ratio-4-5 .eventostage-event-list-image-info__media { aspect-ratio: 4 / 5; }
.eventostage-event-list-image-info--fit-contain .eventostage-event-list-image-info__media__image { object-fit: contain; }
.eventostage-event-list-image-info--radius-none .eventostage-event-list-image-info__media { border-radius: 0; }
.eventostage-event-list-image-info--radius-small .eventostage-event-list-image-info__media { border-radius: .35rem; }
.eventostage-event-list-image-info--radius-medium .eventostage-event-list-image-info__media { border-radius: .75rem; }
.eventostage-event-list-image-info--radius-large .eventostage-event-list-image-info__media { border-radius: 1.25rem; }
.eventostage-event-list-image-info__content { align-self: center; min-width: 0; }

.eventostage-event-image-grid-item {
  color: var(--eventostage-image-grid-text, var(--eventostage-image-grid-text-default));
  display: grid;
  min-width: 0;
  overflow: visible;
  position: relative;
}
.eventostage-event-image-grid-item__media { aspect-ratio: 4 / 3; background: #f3f2f0; grid-area: 1 / 1; margin: 0; overflow: hidden; }
.eventostage-event-image-grid-item__media__image { display: block; height: 100%; object-fit: cover; width: 100%; }
.eventostage-event-image-grid-item--ratio-3-2 .eventostage-event-image-grid-item__media { aspect-ratio: 3 / 2; }
.eventostage-event-image-grid-item--ratio-1-1 .eventostage-event-image-grid-item__media { aspect-ratio: 1 / 1; }
.eventostage-event-image-grid-item--ratio-4-5 .eventostage-event-image-grid-item__media { aspect-ratio: 4 / 5; }
.eventostage-event-image-grid-item__panel {
  background: color-mix(in srgb, var(--eventostage-image-grid-panel, var(--eventostage-image-grid-panel-default)) var(--eventostage-image-grid-opacity, var(--eventostage-image-grid-opacity-default)), transparent);
  box-sizing: border-box;
  min-width: 0;
  padding: var(--eventostage-image-grid-padding, 1.25rem);
  z-index: 1;
}
.eventostage-event-image-grid-item--panel-inside_bottom .eventostage-event-image-grid-item__panel {
  align-self: end;
  grid-area: 1 / 1;
  margin: .75rem;
}
.eventostage-event-image-grid-item--panel-overlap_bottom { display: flex; flex-direction: column; }
.eventostage-event-image-grid-item--panel-overlap_bottom .eventostage-event-image-grid-item__panel { margin: -2rem .75rem 0; }
.eventostage-event-image-grid-item--panel-full_overlay .eventostage-event-image-grid-item__panel {
  align-self: end;
  background: linear-gradient(to top, var(--eventostage-image-grid-panel, var(--eventostage-image-grid-panel-default)), color-mix(in srgb, var(--eventostage-image-grid-panel, var(--eventostage-image-grid-panel-default)) var(--eventostage-image-grid-opacity, var(--eventostage-image-grid-opacity-default)), transparent));
  grid-area: 1 / 1;
  width: 100%;
}
.eventostage-event-image-grid-item--without-media { display: block; }
.eventostage-event-image-grid-item--without-media .eventostage-event-image-grid-item__panel { background: var(--eventostage-image-grid-panel, var(--eventostage-image-grid-panel-default)); margin: 0; }
.eventostage-event-image-grid-item--radius-none,
.eventostage-event-image-grid-item--radius-none .eventostage-event-image-grid-item__media,
.eventostage-event-image-grid-item--radius-none .eventostage-event-image-grid-item__panel { border-radius: 0; }
.eventostage-event-image-grid-item--radius-small .eventostage-event-image-grid-item__media,
.eventostage-event-image-grid-item--radius-small .eventostage-event-image-grid-item__panel { border-radius: .35rem; }
.eventostage-event-image-grid-item--radius-medium .eventostage-event-image-grid-item__media,
.eventostage-event-image-grid-item--radius-medium .eventostage-event-image-grid-item__panel { border-radius: .75rem; }
.eventostage-event-image-grid-item--radius-large .eventostage-event-image-grid-item__media,
.eventostage-event-image-grid-item--radius-large .eventostage-event-image-grid-item__panel { border-radius: 1.25rem; }
.eventostage-event-image-grid-item--density-compact { --eventostage-image-grid-padding: .85rem; }
.eventostage-event-image-grid-item--density-standard { --eventostage-image-grid-padding: 1.25rem; }
.eventostage-event-image-grid-item--density-generous { --eventostage-image-grid-padding: 1.75rem; }
.eventostage-event-image-grid-item__date { color: var(--eventostage-image-grid-accent, var(--eventostage-image-grid-accent-default)); display: grid; gap: .2rem; }
.eventostage-event-image-grid-item__title { color: inherit; margin-block: .4rem; }
.eventostage-event-image-grid-item__details { color: var(--eventostage-image-grid-accent, var(--eventostage-image-grid-accent-default)); font-weight: 700; }

@media (max-width: 39.999rem) {
  .eventostage-event-list-item,
  .eventostage-event-list-image-info { grid-template-columns: 1fr; }
  .eventostage-event-image-grid-item--panel-overlap_bottom .eventostage-event-image-grid-item__panel { margin-block-start: -1rem; }
}

.eventostage-event-collection__empty {
  border: 1px solid var(--eventostage-collection-border);
  border-radius: .75rem;
  padding: 1.5rem;
}

@media (min-width: 40rem) {
  .eventostage-event-collection--card .eventostage-event-grid { grid-template-columns: repeat(var(--eventostage-grid-columns-tablet, 2), minmax(0, 1fr)); }
  .eventostage-event-collection--image_grid .eventostage-event-grid { grid-template-columns: repeat(var(--eventostage-image-grid-columns-tablet, 2), minmax(0, 1fr)); }
}

@media (min-width: 70rem) {
  .eventostage-event-collection--card .eventostage-event-grid { grid-template-columns: repeat(var(--eventostage-grid-columns-desktop, 3), minmax(0, 1fr)); }
  .eventostage-event-collection--image_grid .eventostage-event-grid { grid-template-columns: repeat(var(--eventostage-image-grid-columns-desktop, 3), minmax(0, 1fr)); }
}
