/* Page-level rules for the Laundry Turtle landing page.
   Colors, type and spacing come from tokens.css; components come from components.css. */

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* One color and size picker per Turtle in the bundle; extra pickers hide when fewer Turtles are chosen. */
.lp-turtle {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--hairline);
}
.lp-turtle[hidden] { display: none; }

/* Bundle preview: one product image per Turtle, sized by script. */
.lp-preview img { display: block; height: auto; min-width: 0; }
.lp-preview img[hidden] { display: none; }

/* Five-step slider in the "With the Turtle" card: slides fade, dots pick a step. */
.lp-steps { position: relative; background: var(--surface); container-type: inline-size; }
.lp-steps__slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: calc(var(--lt-card-pad) + 28px) var(--space-3) 40px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.lp-steps__slide.is-active { opacity: 1; }
.lt-video .lp-steps__slide img { flex: 1 1 0; min-height: 0; width: 100%; height: auto; object-fit: contain; }
.lp-steps__caption {
  margin: 0;
  max-width: 24ch;
  font: 600 clamp(12px, 4.2cqi, 18px)/1.3 var(--font-body);
  color: var(--ink);
  text-wrap: balance;
}
.lp-steps__dots { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; }
.lp-steps__dot {
  flex: 0 1 36px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.lp-steps__dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill);
  background: var(--line-strong);
  transition: width 0.2s ease, background-color 0.2s ease;
}
.lp-steps__dot[aria-current="true"]::before { width: 20px; background: var(--ink); }
.lp-steps__dot:focus-visible { outline-offset: -6px; border-radius: var(--radius-sm); }

/* The play button over each customer clip hides once the clip starts. */
.lt-review__play[hidden] { display: none; }

/* The video modal fills the screen; its own background is the dimmed backdrop. */
.lp-dialog {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(8, 55, 22, 0.9);
  color: var(--on-brand);
  box-sizing: border-box;
}
.lp-dialog::backdrop { background: transparent; }
