.flex-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.flex-carousel:has(.flex-carousel__hit) { pointer-events: none; }
.flex-carousel__hit { position: absolute; inset: 0; pointer-events: auto; }
.flex-carousel[data-hover="open"] { cursor: zoom-in; }
.flex-carousel[data-hover="close"] { cursor: zoom-out; }
.flex-carousel[data-dragging] { cursor: grabbing; }
.flex-carousel:focus-visible { box-shadow: inset 0 0 0 2px var(--faint); }

.flex-carousel__live {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
