/* 9.4.3 — single owner for photo placement, editorial frames and image modals.
   Superseded fullscreen/focal rules were removed from the older component files.
   Dialog originals NEVER inherit a thumbnail's crop or scale. */
.editor-focal,.vv-image-editor{display:block;min-width:0;width:100%;box-sizing:border-box}
.newsroom-hero-editor{width:100%;margin:0 0 18px;box-sizing:border-box}
.newsroom-hero-editor>.editor-focal{width:100%;max-width:none}
.focal-stage,.vv-image-stage{display:grid;place-items:center;position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:none;min-width:0;aspect-ratio:16/9;margin:12px 0;overflow:hidden;border:1px solid #ffffff24;border-radius:12px;background:#101722;touch-action:none;cursor:grab}
.vv-image-stage{aspect-ratio:var(--image-ratio,4/5)}
.focal-stage.is-dragging,.vv-image-stage.is-dragging{cursor:grabbing}
.focal-stage:focus-visible,.vv-image-stage:focus-visible{outline:2px solid var(--vv-lime,#d8ff3f);outline-offset:3px}
.focal-stage img,.vv-image-stage img{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;object-fit:var(--vv-image-fit,cover)!important;pointer-events:none;user-select:none;transition:none!important;animation:none!important}
.focal-stage>span,.vv-image-stage>span{max-width:100%;padding:24px;color:#b7c3d6;font-size:13px;line-height:1.6;text-align:center;box-sizing:border-box}
.focal-stage i{display:none}
.focal-sliders,.vv-image-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;min-width:0}
.focal-sliders label,.vv-image-controls label{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;font-size:12px!important;margin:0 0 12px;position:relative}
.focal-sliders output,.vv-image-controls output{color:var(--vv-lime,#d8ff3f);font-variant-numeric:tabular-nums;font-size:12px}
.focal-sliders input,.vv-image-controls input{width:100%!important;max-width:100%!important;min-width:0!important;min-height:32px!important;height:32px!important;padding:0!important;margin:0!important;accent-color:var(--vv-lime,#d8ff3f)}
.vv-fit-control{display:grid;gap:8px;width:100%;min-width:0;margin:12px 0;font-size:13px}
.vv-fit-control select{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.editor-focal .btn,.vv-image-buttons .btn{min-height:40px;white-space:normal;height:auto}
/* Fixed photographic frames fill available width; new photos remain whole. Saved inline placement wins. */
body.public-shell .talent-photo-v6 .vv-profile-photo-open>img,
body.public-shell :is(.talent-photo-v6,.talent-photo-v904,.talent-coverflow-photo-v904)>img:not(.talent-logo-v904){object-fit:var(--vv-image-fit,cover)!important}
.vv-photo-grid .vv-media-poster>img,.vv-media-launch.is-video .vv-media-poster>img{object-fit:var(--vv-image-fit,cover)!important}
.vv-media-launch.is-logo .vv-media-poster>img{object-fit:contain!important}
.article-hero-v10>a{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#101722}
body.public-shell .article-v920 .article-hero-v10>a>img{display:block;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:var(--vv-image-fit,cover)!important;border-radius:0}
.article-body-v10 .news-inline-photo{width:100%;min-width:0;max-width:100%;margin:24px 0}
.article-body-v10 .news-inline-photo>a{display:block;position:relative;width:100%;aspect-ratio:var(--photo-ratio,16/9);overflow:hidden;border-radius:12px}
.article-body-v10 .news-inline-photo img{display:block;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:var(--vv-image-fit,cover)!important;border-radius:0}
/* A centered, content-sized lightbox. Portraits don't acquire empty side panels. */
dialog.vv-media-dialog[data-kind=image]{position:fixed;inset:0;margin:auto;padding:0;width:max-content;height:max-content;min-width:0;max-width:min(880px,calc(100vw - 32px));max-height:84dvh;border:1px solid #ffffff25;border-radius:14px;overflow:hidden;background:#080e16;box-shadow:0 24px 100px #0009}
dialog.vv-media-dialog[data-kind=image]::backdrop{background:#02050bbd;backdrop-filter:blur(5px)}
.vv-media-dialog[data-kind=image] .vv-media-dialog-box{display:block;position:relative;padding:0;margin:0;width:auto;height:auto;min-width:0}
.vv-media-dialog[data-kind=image] .vv-viewer-stage{display:grid;place-items:center;position:relative;width:auto;height:auto;min-height:0;padding:0;margin:0;border-radius:0;background:#080e16}
.vv-media-dialog[data-kind=image] .vv-viewer-stage>img{display:block;width:auto!important;height:auto!important;max-width:min(880px,calc(100vw - 34px))!important;max-height:80dvh!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important;border-radius:0;animation:none!important}
.vv-media-dialog[data-kind=image] .vv-viewer-overlay{position:absolute;inset:auto 0 0;margin:0;padding:52px 22px 84px;max-height:48%;overflow:auto;background:linear-gradient(transparent,#050c15eb 55%);pointer-events:none}
.vv-media-dialog[data-kind=image] .vv-viewer-overlay header,.vv-media-dialog[data-kind=image] .vv-viewer-caption{pointer-events:auto;text-shadow:0 2px 12px #000;max-width:720px}
.vv-media-dialog[data-kind=image] h2{font-size:clamp(18px,2vw,26px);line-height:1.25;margin:0;overflow-wrap:anywhere}
.vv-media-dialog[data-kind=image] .vv-viewer-caption{font-size:13px;line-height:1.5;color:#e7eef7;margin:7px 0 0}
.vv-media-dialog[data-kind=image] .vv-viewer-actions{position:absolute;inset:auto 16px 16px;display:flex;flex-wrap:wrap;gap:8px;margin:0;z-index:4}
.vv-media-dialog[data-kind=image] .vv-viewer-actions .btn{background:#091220dc;backdrop-filter:blur(5px);border:1px solid #ffffff40;min-height:40px;padding:9px 12px;font-size:12px;color:#fff}
.vv-media-dialog[data-kind=image] .vv-viewer-close{position:absolute;right:10px;top:10px;z-index:8;width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%;background:#08101ad9;color:white;backdrop-filter:blur(5px);border:1px solid #ffffff38;font-size:26px;line-height:1;display:grid;place-items:center;padding:0}
.vv-media-dialog[data-kind=image] .vv-viewer-close:focus-visible{outline:2px solid #d8ff3f;outline-offset:2px}
.vv-media-dialog[data-kind=image] .vv-viewer-nav{top:50%;width:36px;height:44px;border-radius:8px;background:#08101abf;font-size:25px}.vv-media-dialog[data-kind=image] .vv-viewer-nav.prev{left:10px}.vv-media-dialog[data-kind=image] .vv-viewer-nav.next{right:10px}
.vv-media-dialog[data-kind=image] .vv-viewer-error:not([hidden]){width:min(480px,calc(100vw - 64px));box-sizing:border-box;padding:60px 22px 28px;line-height:1.6;position:relative;margin:0}
/* News/minimal photos intentionally have no caption, action panel or spacer. */
.vv-media-dialog.vv-photo-dialog .vv-viewer-overlay,.vv-media-dialog.vv-photo-dialog .vv-viewer-actions{display:none!important}
@media(max-width:600px){
 .focal-sliders,.vv-image-controls{grid-template-columns:1fr;gap:0}
 .vv-image-editor{padding:12px}
 .vv-image-buttons>*{flex:1 1 150px}
 dialog.vv-media-dialog[data-kind=image]{max-width:calc(100vw - 24px);max-height:82dvh;border-radius:12px}
 .vv-media-dialog[data-kind=image] .vv-viewer-stage>img{max-width:calc(100vw - 26px)!important;max-height:78dvh!important}
 .vv-media-dialog[data-kind=image] .vv-viewer-overlay{padding:48px 15px 76px}
 .vv-media-dialog[data-kind=image] .vv-viewer-caption{font-size:12px}
}
/* Real waveform: compact, high contrast and responsive, without decorative fake peaks. */
.hub-wave,.vv-waveform-v9{--wave-unplayed:#71849b;--wave-played:#d8ff3f;--wave-progress:#f3ffc0;--wave-reflection:#728d26}
.hub-audio.vv-audio-row .hub-wave{height:56px!important;min-height:0!important;max-width:100%;border-radius:8px;background:linear-gradient(180deg,#0c1420,#0a111a);overflow:hidden}
.hub-audio.vv-audio-row .hub-wave canvas{display:block;width:100%;height:56px!important;max-width:100%}
.hub-audio.vv-audio-row .hub-wave [data-wave-hover]{inset:2px auto auto var(--wave-hover,50%);transform:translateX(-50%);font-size:10px;line-height:1.3;pointer-events:none}
.hub-audio.vv-audio-row .hub-wave input{touch-action:pan-y}
@media(max-width:600px){.hub-audio.vv-audio-row .hub-wave,.hub-audio.vv-audio-row .hub-wave canvas{height:50px!important}}
@media(prefers-reduced-motion:reduce){.vv-media-dialog,.focal-stage,.vv-image-stage,.hub-wave{animation:none!important;transition:none!important}}

.news-card-media-v10{display:block;position:relative;width:100%;height:auto!important;aspect-ratio:16/9;overflow:hidden}
.news-card-media-v10>img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:var(--vv-image-fit,cover)!important}
