.ui-carousel { position: relative; min-width: 0; }
.ui-carousel > .ui-button { position: absolute; z-index: 1; top: 33%; width: var(--touch-target); padding: 0; background: var(--color-page-background); box-shadow: var(--shadow-sm); transform: translateY(-50%); }
.ui-carousel > .ui-button[hidden] { display: none; }
.ui-carousel__previous { left: 0; }
.ui-carousel__next { right: 0; }
.ui-carousel__previous .ui-icon { transform: rotate(180deg); }
.ui-carousel__track { position: relative; display: flex; gap: var(--space-3); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block: var(--space-2) var(--space-1); }
.ui-carousel__track::-webkit-scrollbar { display: none; }
.ui-carousel__track.is-single { justify-content: center; }
.ui-carousel__item { flex: 0 0 calc((100% - 3 * var(--space-3)) / 4); min-width: 0; scroll-snap-align: start; }
.ui-carousel__item > .ui-event-card { height: 100%; }
.ui-carousel__empty { flex: 1; padding: var(--space-8); border: var(--border-width-default) solid var(--color-border-default); background: var(--color-surface-primary); color: var(--color-text-secondary); }
.ui-carousel__pagination { display: none; }
@media (max-width: 63.99rem) and (min-width: 48rem) {
  .ui-carousel__item { flex-basis: calc((100% - 2 * var(--space-3)) / 3); }
}
@media (max-width: 47.99rem) {
  .ui-carousel > .ui-button { display: none; }
  .ui-carousel--featured .ui-carousel__item { flex-basis: min(68vw, 19rem); scroll-snap-align: center; }
  .ui-carousel--listing .ui-carousel__item { flex-basis: calc((100% - var(--space-3)) / 2); scroll-snap-align: none; }
  .ui-carousel--listing .ui-carousel__item:nth-child(2n + 1) { scroll-snap-align: start; }
  .ui-carousel--listing .ui-event-card__body { padding: var(--space-3); }
  .ui-carousel--listing .ui-event-card__facts { flex-wrap: nowrap; gap: var(--space-1); white-space: nowrap; }
  .ui-carousel--listing .ui-event-card__facts > .t-meta, .ui-carousel--listing .ui-event-card__separator, .ui-carousel--listing .ui-event-card__price { font-size: var(--font-size-xs); }
  .ui-carousel--listing .ui-event-card__year { display: none; }
  .ui-carousel--featured .ui-carousel__pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0; margin-top: var(--space-4); }
  .ui-carousel__dot { display: grid; place-items: center; width: 22px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
  .ui-carousel__dot::after { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #a4a4a4; transition: background-color var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard); }
  html[data-theme='dark'] .ui-carousel__dot:not(.is-active)::after { background: #404040; }
  .ui-carousel__dot.is-active::after { background: var(--color-action-primary); transform: scale(1.1); }
  .ui-carousel__dot:focus-visible { outline: var(--border-width-strong) solid var(--color-border-strong); outline-offset: var(--space-1); }
}
