.video-promotion { margin: 32px 0; padding: 24px; border: 1px solid var(--border-light); border-radius: 12px; background: linear-gradient(135deg, #29121b, #1b0b11); }
.video-promotion--home { margin: 0 0 32px; padding: 28px 24px; border-right: 0; border-left: 0; border-radius: 0; }
.video-promotion--home .video-promotion__inner { max-width: 1240px; margin: 0 auto; }
.video-promotion__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 18px; }
.video-promotion__header h2 { margin: 0; font-size: clamp(18px, 2vw, 23px); line-height: 1.5; color: var(--text-primary); }
.video-promotion__more { color: #ff9aaf; font-size: 13px; font-weight: 700; white-space: nowrap; }
.video-promotion__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.video-promotion--home .video-promotion__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.video-promotion--item .video-promotion__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.video-promotion__card { display: flex; min-width: 0; flex-direction: column; color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; text-decoration: none; transition: border-color .2s, transform .2s; }
.video-promotion__card:hover { color: var(--text-primary); border-color: var(--accent); transform: translateY(-2px); }
.video-promotion__card:focus-visible, .video-promotion__more:focus-visible { outline: 3px solid #ff9aaf; outline-offset: 4px; }
.video-promotion__image { position: relative; aspect-ratio: 40 / 27; background: #10080c; }
.video-promotion__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.video-promotion__badge { position: absolute; left: 8px; bottom: 8px; padding: 2px 7px; color: #fff; background: rgba(18,7,11,.86); border-radius: 3px; font-size: 11px; }
.video-promotion__card h3 { padding: 12px 12px 6px; margin: 0; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.video-promotion__action { padding: 0 12px 12px; margin-top: auto; color: #ff9aaf; font-size: 12px; }
@media (max-width: 600px) {
  .video-promotion { padding: 18px 14px; margin: 24px 0; }
  .video-promotion--home { margin: 0 0 24px; }
  .video-promotion__grid, .video-promotion--home .video-promotion__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .video-promotion__card h3 { padding: 10px 10px 6px; font-size: 13px; }
}
