/* Decorative machinery stays open and readable until enhancement is ready. */
.od-showroom-shutters {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  grid-template-rows: repeat(6, minmax(0, 1fr));
  pointer-events: none;
}
.od-showroom-slat-window { overflow: hidden; }
.od-showroom-slat {
  display: block;
  width: 100%;
  height: 100%;
  transform: translateY(-102%);
  background: linear-gradient(180deg, #36393c 0%, #2b2e31 10%, #27292b 85%, #222426 100%);
  border-top: 1px solid #555754;
  border-bottom: 2px solid #16181a;
}
.od-showroom[data-reveal-state="ready"] .od-showroom-slat,
.od-showroom[data-reveal-state="running"] .od-showroom-slat { transform: translateY(0); }
.od-showroom figcaption { z-index: 2; }
.od-garage-door[data-garage-settled] { animation: none; transform: translateY(-102%); }

/* A fixed arrow window makes both arrows occupy the same visual footprint. */
.od-phone .od-phone-arrow {
  position: relative;
  display: block;
  flex: 0 0 1.05em;
  width: 1.05em;
  height: 1.05em;
  font-size: .66em;
  overflow: hidden;
  pointer-events: none;
}
.od-phone-arrow > span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.od-phone .od-phone-arrow i { font-size: inherit; line-height: 1; transform: none; transition: none; }
.od-phone-arrow .od-arrow-current { transform: none; }
.od-phone-arrow .od-arrow-next { transform: translate(-115%, 115%); }

/* Only the lead photograph zooms; row movement belongs to the painted rule. */
.od-stock-grid .od-car-link:hover .od-car-photo img { transform: none; }
.od-car:not(.is-lead) .od-car-link { position: relative; }
.od-car:not(.is-lead) .od-car-link::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  bottom: -1px;
  height: 2px;
  border-bottom: 2px dashed var(--od-road-yellow);
  clip-path: inset(0 100% 0 0);
  pointer-events: none;
}
.od-car:not(.is-lead) .od-car-link:focus-visible::after { clip-path: inset(0); }

@media (hover: hover) {
  .od-car:not(.is-lead) .od-car-link:hover::after { clip-path: inset(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .od-car.is-lead .od-car-photo img { transition: transform 1.1s cubic-bezier(.25, .1, .25, 1); }
  .od-stock-grid .od-car.is-lead .od-car-link:focus-visible .od-car-photo img { transform: scale(1.055); }
  .od-car:not(.is-lead) .od-car-link::after { transition: clip-path .55s cubic-bezier(.16, 1, .3, 1); }
  .od-phone-arrow > span { transition: transform .42s cubic-bezier(.33, 0, .2, 1); }
  .od-phone:focus-visible .od-arrow-current { transform: translate(115%, -115%); }
  .od-phone:focus-visible .od-arrow-next { transform: none; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .od-stock-grid .od-car.is-lead .od-car-link:hover .od-car-photo img { transform: scale(1.055); }
  .od-phone:hover .od-arrow-current { transform: translate(115%, -115%); }
  .od-phone:hover .od-arrow-next { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .od-showroom .od-showroom-slat { transform: translateY(-102%); }
  .od-stock-grid .od-car .od-car-photo img { transform: none; }
}
