.stage-product-switcher {
  position: absolute;
  z-index: 4;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  grid-template-columns: minmax(155px, .42fr) minmax(0, 1.58fr);
  gap: clamp(14px, 2vw, 28px);
  align-items: center;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 18px;
  background: rgba(24, 38, 64, .88);
  box-shadow: 0 18px 45px rgba(8, 15, 35, .22);
  backdrop-filter: blur(16px) saturate(125%);
}
.stage-product-switcher__label { display: grid; gap: 5px; }
.stage-product-switcher__label small { color: #aeb9d5; font-size: .67rem; letter-spacing: .14em; }
.stage-product-switcher__label strong { color: #fff; font-size: clamp(1.2rem, 1.6vw, 1.55rem); font-weight: 560; }
.stage-product-switcher__controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.stage-product-switcher__controls button {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  align-content: center;
  min-height: 58px;
  padding: 8px 10px;
  color: #d3d9e8;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .055);
  cursor: pointer;
  transition: color 320ms ease, background 320ms ease, border-color 320ms ease, transform 420ms cubic-bezier(.22, 1, .36, 1);
}
.stage-product-switcher__controls button span { color: #8290b3; font-size: .61rem; font-variant-numeric: tabular-nums; }
.stage-product-switcher__controls button strong { min-width: 0; overflow: hidden; font-size: clamp(.66rem, .75vw, .75rem); font-weight: 520; text-overflow: ellipsis; white-space: nowrap; }
.stage-product-switcher__controls button:hover,
.stage-product-switcher__controls button:focus-visible { color: #fff; border-color: rgba(255, 255, 255, .48); transform: translateY(-2px); }
.stage-product-switcher__controls button[aria-pressed="true"] { color: #202d4b; border-color: #fff; background: #fff; box-shadow: 0 12px 30px rgba(5, 12, 31, .16); }
.stage-product-switcher__controls button[aria-pressed="true"] span { color: #4059c7; }
.stage-product-switcher__controls button:focus-visible { outline: 3px solid rgba(185, 201, 255, .5); outline-offset: 3px; }
.stage-figure[data-product-record="home-charge"] .product-media-frame > img { object-position: 23% center; transform: translateY(var(--stage-y, 0)) scale(1.08); }
.stage-figure[data-product-record="supercharge"] .product-media-frame > img { object-position: 83% center; transform: translateY(var(--stage-y, 0)) scale(1.08); }
.stage-figure[data-product-record="commercial-ac"] .product-media-frame > img { object-position: center 54%; }
.stage-figure[data-product-record="dc-fast"] .product-media-frame > img { object-position: center 48%; }
@media (max-width: 899px) {
  .stage-product-switcher { right: 14px; bottom: 14px; left: 14px; grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .stage-product-switcher__controls { display: flex; margin: 0; padding: 0 0 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .stage-product-switcher__controls button { flex: 0 0 178px; scroll-snap-align: start; }
}
@media (max-width: 559px) {
  .stage-product-switcher { right: 10px; bottom: 10px; left: 10px; }
  .stage-product-switcher__label strong { font-size: 1.25rem; }
  .stage-product-switcher__controls button { flex-basis: 166px; min-height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .stage-product-switcher__controls button { transition: none; }
  .stage-figure[data-product-record] .product-media-frame > img { transform: none; }
}
