/* Video lightbox (#video, assets/js/video.js; docs/04 §C). Loaded on every page with the overlays.
   No prototype markup exists; built from the overlay parts (ibtn, on-dark) per docs/05 §2. */

.vbox { position: fixed; inset: 0; z-index: 75; display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--color-ink); color: var(--color-on-ink); opacity: 0; transition: opacity var(--dur) var(--ease); }
.vbox.is-open { opacity: 1; }
.vbox__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-4) var(--space-3) var(--space-6); }
.vbox__title { min-width: 0; font-size: var(--fs-sm); color: var(--color-on-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vbox__frame { display: grid; place-items: center; min-height: 0; padding: 0 var(--space-6) var(--space-8); }
.vbox__frame iframe { display: block; width: min(100%, 72rem); aspect-ratio: 16 / 9; height: auto; max-height: 100%; border: 0; border-radius: var(--radius-media); background: var(--color-ink); }
.vbox--short .vbox__frame iframe { width: auto; height: min(100%, 48rem); aspect-ratio: 9 / 16; max-width: 100%; }

@media (max-width: 767px) {
  .vbox__frame { padding: 0 0 var(--space-4); }
  .vbox__frame iframe { border-radius: 0; }
}
