/*
 * Swivo Carousel – Accessibility & Interaction Styles
 * Focus indicators, pause button, touch targets, reduced motion.
 */

/* 1. Focus indicators */
.swv-arrow:focus-visible,
.swv-dot:focus-visible,
.swv-pause-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 2. Dot touch targets: expand clickable area to 24px minimum */
.swv-dot {
  position: relative;
}

.swv-dot::before {
  content: '';
  position: absolute;
  inset: -8px;
}

/* 3. Pause/Play toggle button */
.swv-pause-btn {
  position: absolute;
  inset-block-end: 8px;
  inset-inline-end: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 28px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  cursor: pointer;
  padding: 0;
  color: inherit;
  transition: opacity 0.2s ease;
}

.swv-pause-btn:hover {
  background: rgba(255, 255, 255, 1);
}

.swv-pause-btn svg {
  inline-size: 14px;
  block-size: 14px;
  fill: currentColor;
  stroke: none;
}

/* 4. Screen-reader-only (live region text) */
.swv-sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 5. Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .swv-track { scroll-behavior: auto !important; }
  .swv-marquee-track { animation: none !important; }
  .swv-arrow,
  .swv-dot,
  .swv-pause-btn { transition: none; }
}
