.energy-carousel-stage { aspect-ratio: 12 / 7; overflow: hidden; border-radius: 8px; background: #f5f5f7; }
.energy-carousel-stage img { display: block; width: 100%; height: 100%; object-fit: contain; }
.energy-carousel-stage img[hidden] { display: none; }
.energy-carousel-indicators { display: flex; justify-content: center; gap: 12px; margin-top: 8px; }
.energy-carousel-indicators button { position: relative; width: 52px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.energy-carousel-indicators button::before,
.energy-carousel-indicators span { position: absolute; left: 0; top: 50%; height: 3px; border-radius: 2px; transform: translateY(-50%); }
.energy-carousel-indicators button::before { content: ''; width: 100%; background: #d7e2ec; }
.energy-carousel-indicators span { width: 0; background: #008cff; }
.energy-carousel-indicators button[aria-pressed="true"] span { width: 100%; }
.energy-carousel-indicators button:focus-visible { outline: 2px solid #008cff; outline-offset: 2px; }
