/* Hero slider — Lunchy Pets */
.hero-slider { position: relative; }
.hero-slider .hero-slide {
  display: block;
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
  box-shadow: var(--shadow);
  opacity: 0;
  transition: opacity 900ms ease-in-out;
  position: absolute;
  inset: 0;
  height: 100%;
}
.hero-slider .hero-slide.is-active { opacity: 1; position: relative; height: auto; }
.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}
.hero-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: transparent;
  padding: 0;
  cursor: pointer;
  opacity: .75;
  transition: background 200ms, opacity 200ms;
}
.hero-dot.is-active { background: #fff; opacity: 1; }
.hero-dot:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .hero-slider .hero-slide { transition: none; }
}
