/* Стили для 4 дефолтных блоков под результатами голосования.
   Структурные правила — здесь. Цвета bullet'ов для speaker-list и
   partners/marquee — в theme-файлах, чтобы зависеть от темы. */

.video-wrap{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;background:#0a0a0a;aspect-ratio:16/9}
.video-wrap .video-poster,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-wrap video{opacity:0}
.video-wrap.playing video{opacity:1}
.video-wrap.playing .video-poster,.video-wrap.playing .video-play-btn{display:none}
.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#0a0a0a;font-size:20px;padding-left:4px;transition:all .2s;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.video-wrap:hover .video-play-btn{transform:translate(-50%,-50%) scale(1.08);background:#fff}

.photo-marquee{overflow:hidden;position:relative}
.photo-marquee-track{display:flex;gap:10px;animation:photo-scroll 50s linear infinite;width:max-content}
.photo-marquee-track.rev{animation-name:photo-scroll-rev;animation-duration:55s}
.photo-marquee-track img{height:140px;width:auto;border-radius:16px;object-fit:cover;flex-shrink:0}
@keyframes photo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes photo-scroll-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (max-width:640px){ .photo-marquee-track img{height:96px} }

.speaker-list{list-style:none;padding:0;margin:0}
.speaker-list li{position:relative;padding-left:22px}
.speaker-list li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:999px}
.speaker-list li a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.speaker-list li a:hover{color:#0a0a0a}
