/* WebVision Web v0.14 — reachable iOS fullscreen control */
.wv-video-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex:none; }
.wv-video-fullscreen-button {min-height:44px; min-width:104px; touch-action:manipulation; white-space:nowrap; -webkit-tap-highlight-color:transparent;}
.video-header strong {min-width:0; flex:1 1 auto; overflow:hidden; text-overflow:ellipsis;}
@media (max-width:700px), (orientation:landscape) and (max-height:560px) {
  .video-header {gap:6px;}
  .video-header strong {font-size:12px; max-height:2.7em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
  .wv-video-header-actions {gap:6px;}
  .wv-video-fullscreen-button {font-size:12px; min-width:92px; padding:9px 10px; min-height:44px;}
  .video-header [data-action="player-close"] {min-height:44px; padding:9px 10px; font-size:12px;}
}
/* Fallback for platforms which do not expose the native video fullscreen API.
   It stays inside the authenticated modal; video URL and playback untouched. */
#overlay-root.wv-video-fill-screen .overlay {padding:0; inset:0; background:#000;}
#overlay-root.wv-video-fill-screen .video-dialog {
  width:100vw; width:100dvw; height:100vh; height:100dvh;
  max-width:none; max-height:none; overflow:hidden;
  border:0; border-radius:0; padding: max(4px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
  display:flex; flex-direction:column; background:#000;
}
#overlay-root.wv-video-fill-screen .video-header {flex:none;}
#overlay-root.wv-video-fill-screen #jelly-player-mount {min-height:0; flex:1 1 auto; display:grid; place-items:center; background:#000;}
#overlay-root.wv-video-fill-screen .jelly-video {height:100%; max-height:100%; width:100%; aspect-ratio:auto; object-fit:contain;}
