/* Laundromat-specific composition. Shared shell and components remain in site.css and industry.css. */


.laundry-scene-wrap { margin: 0; }
#laundromat-scene-mount {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  border: 1px solid rgba(22,22,22,.1);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #c0c8d0, #e8e4dc);
  box-shadow: var(--shadow-sm);
}
#laundromat-scene-mount::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: var(--radius-md);
  box-shadow:
    inset 0 0 0 3px var(--white),
    inset 0 0 0 7px var(--charcoal);
  content: "";
  opacity: 0;
  pointer-events: none;
}
#laundromat-scene-mount:has(.laundromat-diorama:focus-visible)::after { opacity: 1; }
#laundromat-scene-mount:not(:empty) { min-height: 0; }
.laundromat-diorama {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}
.laundromat-diorama:focus-visible {
  outline: none;
}
.laundromat-diorama[data-motion="paused"] * { animation-play-state: paused; }
.laundry-scene-wrap .scene-fallback {
  display: grid;
  min-height: 320px;
  place-items: center;
  margin: 0;
  padding: 32px;
  color: var(--fg-muted);
  text-align: center;
}
.laundromats-page .hero h1 em,
.laundromats-page .hero-bullets svg,
.laundromats-page .final-cta h2 em { color: var(--orange-text); }

@media (max-width: 960px) {
  .laundromats-page .hero-inner { gap: 32px; }
}
@media (max-width: 720px) {
  .laundromats-page .hero-vis { display: flex; }
  .laundromats-page .hero h1 { font-size: clamp(40px, 13vw, 58px); }
  #laundromat-scene-mount,
  .laundry-scene-wrap .scene-fallback { min-height: 230px; }
}
@media (max-width: 420px) {
  .laundromats-page .hero h1 { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .laundromat-diorama * { animation: none !important; transition: none !important; }
}
@media print {
  .laundromat-diorama * { animation: none !important; transition: none !important; }
}
