.promotion-carousel { margin: 2rem 0; min-width: 0; }
.promotion-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background-color: #000408; }
.promotion-image[hidden] { display: none; }
.promotion-placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; background: #000408; color: var(--neon-cyan); font-size: 4rem; }
.promotion-copy { padding: 1.25rem 0; min-height: 245px; overflow-wrap: anywhere; }
.promotion-copy h2 { font-size: 1.4rem; line-height: 1.35; letter-spacing: 0; margin-bottom: .75rem; }
.promotion-copy p { color: var(--text-secondary); }
.promotion-copy .promotion-category { color: var(--neon-cyan); margin-bottom: .5rem; }
.promotion-controls { display: flex; align-items: center; gap: .75rem; border-top: 1px solid var(--neon-cyan); padding-top: 1rem; }
.promotion-controls span { margin-right: auto; color: var(--text-secondary); }
.promotion-controls button { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; flex-shrink: 0; }
.promotion-controls button i { margin: 0; line-height: 1; }
@media (max-width: 991px) {
    .hero-section .min-vh-100 { min-height: auto !important; }
    .promotion-copy { min-height: 0; }
}