/* Controls occupy their own row: the video and YouTube branding stay unobscured. */
.video-dialog__player.has-custom-player,
.video-dialog.is-portrait .video-dialog__player.has-custom-player {
  width: 100%; min-width: 0; min-height: 0; height: auto; aspect-ratio: auto;
}
.film-player { width: 100%; background: #080e14; color: #fff; }
.film-player__viewport { position: relative; width: 100%; min-width: 200px; min-height: 200px; aspect-ratio: 16 / 9; margin-inline: auto; background: #000; }
.video-dialog__player .film-player__iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-width: 200px; min-height: 200px; border: 0; }
.film-player.is-api-playing .film-player__iframe { pointer-events: none; }
.video-dialog.is-portrait .film-player__viewport { width: clamp(200px, calc((100svh - 250px) * .5625), 100%); aspect-ratio: 9 / 16; }
.film-player__controls { display: flex; align-items: center; gap: 8px; min-height: 60px; padding: 6px 14px; opacity: 1; transition: opacity 180ms ease-out; }
.film-player__controls[hidden] { display: none; }
.film-player.is-controls-idle .film-player__controls { opacity: 0; }
.film-player__button { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }
.film-player__button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.film-player__button[hidden] { display: none; }
.film-player__button:disabled { color: #718092; cursor: default; }
.film-player__button:focus-visible,
.film-player__progress:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.film-player__progress { --played: 0%; appearance: none; flex: 1 1 100px; min-width: 30px; height: 44px; margin: 0 4px; padding: 0; background: transparent; color: #fff; cursor: pointer; accent-color: #fff; }
.film-player__progress::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, #fff var(--played), #596775 var(--played)); }
.film-player__progress::-moz-range-track { height: 3px; border-radius: 2px; background: #596775; }
.film-player__progress::-moz-range-progress { height: 3px; background: #fff; }
.film-player__progress::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; margin-top: -4.5px; border: 0; border-radius: 50%; background: #fff; }
.film-player__progress::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #fff; }
.film-player__progress:disabled { opacity: .4; cursor: default; }
.film-player__time { flex: 0 0 auto; color: #d6dfe8; font-size: 13px; line-height: 1.4; font-variant-numeric: tabular-nums; white-space: nowrap; }
.film-player__status { margin: 0; padding: 0 20px 16px; color: #d6dfe8; font-size: 14px; line-height: 1.5; }
.film-player__status[hidden] { display: none; }
.film-player:fullscreen { display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; overflow-y: auto; }
.film-player:fullscreen .film-player__viewport { width: min(100%, calc((100dvh - 60px) * 16 / 9)); flex: 0 0 auto; }
.video-dialog.is-portrait .film-player:fullscreen .film-player__viewport { width: clamp(200px, calc((100dvh - 60px) * 9 / 16), 100%); }
.film-player:fullscreen .film-player__controls { flex: 0 0 60px; width: min(100%, 1100px); margin-inline: auto; }
@media (hover: hover) and (pointer: fine) { .film-player__button:hover:not(:disabled) { background: #263442; } }
@media (max-width: 480px) {
  .film-player__controls { gap: 2px; padding-inline: 6px; }
  .film-player__time { font-size: 11px; }
  .film-player__progress { margin-inline: 2px; }
  .film-player__status { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) { .film-player__controls { transition: none; } }
