/* Local posters load immediately; YouTube loads when a film enters the viewport. */
.youtube-video { position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 200px; overflow: hidden; border-radius: 1rem; background: #08111c; }
.youtube-video-cover { position: absolute; inset: 0; display: block; color: white; }
.youtube-video-cover img { width: 100%; height: 100%; object-fit: cover; }
.youtube-video-play { position: absolute; left: 50%; top: 50%; display: grid; width: 4.5rem; height: 4.5rem; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(5,13,23,.8); color: white; font-size: 1.65rem; transform: translate(-50%,-50%); }
.youtube-video-label { position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%); padding: .4rem .85rem; border-radius: 2rem; background: rgba(5,13,23,.85); color: white; font-size: .8rem; white-space: nowrap; }
.youtube-video-cover:hover .youtube-video-play { background: #1670b5; }
.youtube-video-cover:focus-visible { outline: 3px solid #77c9ff; outline-offset: -4px; }
.youtube-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hero-video-card figcaption a { color: var(--accent); font-weight: 700; }
