/* Video modal (td-video-modal.js). Dimmed, slightly blurred backdrop; a 16:9 player as wide as the screen allows
   (never taller than the viewport, so the controls are never cut); title + ✕ above it. */
.video-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,4vw,48px)}
.video-modal[hidden]{display:none}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(0,1,14,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease}
.video-modal-dialog{position:relative;width:min(1100px,100%,calc((100vh - 2 * clamp(16px,4vw,48px) - 56px) * 16 / 9));opacity:0;transform:translateY(8px) scale(.985);transition:opacity .25s ease,transform .25s ease}
.video-modal.is-open .video-modal-backdrop,.video-modal.is-open .video-modal-dialog{opacity:1;transform:none}
.video-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.video-modal-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:500;color:#e8f0f8}
.video-modal-close{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04)),rgba(0,1,14,.4);color:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.video-modal-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.video-modal-close:hover{border-color:rgba(255,255,255,.34);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07)),rgba(0,1,14,.4)}
.video-modal-close:focus-visible{outline:2px solid #00b0d1;outline-offset:3px}
.video-modal-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#000;box-shadow:0 30px 80px rgba(0,1,14,.6)}
.video-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Page behind: frozen in place while the modal is open (body offset by the saved scroll position). */
html.video-modal-open,html.video-modal-open body{overflow:hidden}
html.video-modal-open body{position:fixed;left:0;right:0;padding-right:var(--video-modal-bar,0)}
@media (max-width:600px){
  .video-modal{padding:12px}
  .video-modal-dialog{width:100%}
  .video-modal-frame{border-radius:10px}
  .video-modal-title{font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){
  .video-modal-backdrop,.video-modal-dialog{transition:none}
}
