/* Observer Video Studio 1.1 - all selectors isolated to video singles or Video Studio components. */
body.uov-video-single .uov-watch,body.uov-video-single .uov-related{--uov-chrome:#061b18;--uov-soft:#f3f6f4}
/* SmartMag uses different single templates across versions. Hide the primary featured block,
   never remove the WordPress featured-image attachment used in cards or structured data. */
body.uov-hide-single-featured :is(.single-featured,.single-featured-image,.post-cover,.featured-media,.post-featured,.post-featured-image,.main-featured-image,.single-post-thumb){display:none!important}
body.uov-hide-single-featured :is(.post-header,.single-post-header,.post-content,article.post)>:is(figure.featured,figure.post-thumbnail,.featured-image,.featured-image-wrap,.featured-thumb,.post-thumbnail,.post-image){display:none!important}
/* Specific TTS plugins only, guarded by video page class. The JS helper detects unknown read-out widgets. */
body.uov-hide-single-audio :is(.post-audio-player,.article-tts-player,.article-audio-player,.tts-player-container,.read-aloud-player,.readalong-toolbar,.ai-read-toolbar){display:none!important}
/* Reframe ONLY the main player region on video articles as a full-scale editorial media canvas. */
body.uov-video-premium .uov-watch{position:relative;left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 46px));max-width:none;margin:10px 0 34px;z-index:1}
body.uov-video-premium .uov-watch-kicker{margin:0 0 13px;letter-spacing:.15em;color:#0b3d32;font-size:10px;font-weight:800}
body.uov-video-premium .uov-player--wide{aspect-ratio:16/9}
body.uov-video-premium .uov-player{border-radius:9px;box-shadow:0 16px 43px rgba(5,26,20,.17),0 1px 4px rgba(5,26,20,.1);border:1px solid rgba(255,255,255,.18);background:#061b18}
body.uov-video-premium .uov-player--short{aspect-ratio:9/16;max-width:min(490px,100%)}
body.uov-video-premium .uov-watch-meta{margin:13px 0 0;padding:12px 17px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;background:#f3f6f4;border:1px solid #e6ece7;border-radius:7px;font:700 10px/1.5 var(--uov-font);letter-spacing:.045em;color:#58645e}
.uov-video-desk{display:inline-flex;align-items:center;gap:10px;color:#0b3d32;font-weight:850}.uov-desk-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;background:#0e4335;color:#fff;border-radius:50%}.uov-desk-icon svg{width:12px;height:12px;fill:currentColor;stroke-width:0}.uov-video-length{margin-left:auto;color:#31483e}.uov-watch-meta .uov-copy{margin-left:auto;color:#0b3d32;padding:6px 4px;font-weight:800;letter-spacing:.03em}.uov-video-length + .uov-copy{margin-left:0}
/* Click-to-load player: premium still image, sharply defined play disc, gentle cinematic shade. */
.uov-player--editorial.uov-player--facade::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,10,8,.02) 35%,rgba(2,10,8,.42) 100%)}
.uov-player--editorial .uov-player-start{z-index:3;gap:17px}
.uov-player--editorial .uov-player-start .uov-icon-play{width:87px;height:87px;border:1.5px solid rgba(255,255,255,.88);box-shadow:0 0 0 7px rgba(255,255,255,.08),0 14px 38px rgba(0,0,0,.28);background:rgba(6,34,28,.67);color:#fff;backdrop-filter:blur(6px);transition:background .22s,transform .22s,box-shadow .22s}
.uov-player--editorial .uov-player-start .uov-icon-play svg{width:31px;height:31px}
.uov-player--editorial .uov-player-start:hover .uov-icon-play,.uov-player--editorial .uov-player-start:focus-visible .uov-icon-play{transform:scale(1.08);background:#b4232a;box-shadow:0 0 0 9px rgba(180,35,42,.15),0 16px 42px rgba(0,0,0,.33)}
.uov-player--editorial .uov-player-start>span:last-child{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:#fff;text-shadow:0 2px 6px #061b18}
.uov-player-duration{position:absolute;top:13px;right:15px;z-index:4;background:rgba(5,18,16,.8);color:#fff;padding:7px 9px;font:800 11px/1.1 Arial,sans-serif;border-radius:4px;pointer-events:none;font-variant-numeric:tabular-nums}
/* Accessible custom local-video control surface. Native controls stay as fallback if JS fails. */
.uov-player--native.uov-enhanced video{cursor:pointer;object-fit:contain}
.uov-native-start{position:absolute;inset:0;width:100%;height:100%;z-index:4;background:linear-gradient(0deg,rgba(1,10,9,.25),transparent 44%);border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:white}
.uov-native-start[hidden],.uov-custom-controls[hidden]{display:none!important}
.uov-native-start .uov-icon-play{position:static;transform:none;flex:none;width:88px;height:88px;background:rgba(5,35,29,.69);border:1.5px solid rgba(255,255,255,.9);color:white;box-shadow:0 0 0 8px rgba(255,255,255,.09),0 13px 37px rgba(0,0,0,.28);backdrop-filter:blur(5px);transition:transform .25s,background .25s}
.uov-native-start .uov-icon-play svg{width:31px;height:31px}.uov-native-start:hover .uov-icon-play,.uov-native-start:focus-visible .uov-icon-play{transform:scale(1.09);background:#b4232a}
.uov-native-start>span:last-child{font:800 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em;text-shadow:0 2px 12px #020806}
.uov-player.uov-enhanced .uov-custom-controls{position:absolute;bottom:0;left:0;right:0;z-index:5;color:#fff;padding:26px 15px 10px;background:linear-gradient(0deg,rgba(1,9,8,.94),rgba(1,9,8,.74) 56%,transparent);transition:opacity .2s,transform .2s}
.uov-custom-controls button,.uov-custom-controls select{color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:4px!important;cursor:pointer;font-family:Arial,Helvetica,sans-serif!important}
.uov-custom-controls button{display:grid;place-items:center;width:36px;height:34px;flex:none;padding:8px!important;transition:background .2s}.uov-custom-controls button:hover,.uov-custom-controls button:focus-visible{background:rgba(255,255,255,.16)!important}
.uov-custom-controls button svg{width:19px;height:19px;display:block}.uov-custom-controls .uov-cc{font:800 11px Arial,sans-serif!important;letter-spacing:.04em;border:1px solid rgba(255,255,255,.44)!important;width:29px;height:24px;margin:0 7px}.uov-custom-controls .uov-cc[aria-pressed="true"]{color:#101f18!important;background:#fff!important}
.uov-scrub{display:flex;align-items:center;height:16px}.uov-scrub input[type=range]{-webkit-appearance:none;appearance:none;margin:0;width:100%;height:4px;padding:0!important;border:0!important;border-radius:5px!important;cursor:pointer;background:linear-gradient(90deg,#e8f4ee 0,#e8f4ee var(--uov-played,0%),rgba(255,255,255,.35) var(--uov-played,0%),rgba(255,255,255,.35) 100%)!important;outline-offset:6px}.uov-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:#0b3d32}.uov-scrub input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#0b3d32}
.uov-controls-row{display:flex;align-items:center;gap:4px;min-height:38px}.uov-controls-spacer{flex:1}.uov-time{white-space:nowrap;font:650 11px/1 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.96);padding:0 6px}.uov-time-separator{color:rgba(255,255,255,.5);padding:0 4px}.uov-speed{padding:5px 4px!important;font-size:11px!important;width:62px;height:32px;outline-offset:1px}.uov-speed option{background:#0b221d;color:#fff}.uov-screenreader{position:absolute!important;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.uov-player.uov-enhanced.uov-is-playing.uov-controls-idle:not(:focus-within) .uov-custom-controls{opacity:0;transform:translateY(12px);pointer-events:none}.uov-player.uov-enhanced.uov-is-playing.uov-controls-idle{cursor:none}
.uov-player.uov-enhanced .uov-player-error{position:absolute;left:15px;top:12px;z-index:7;padding:8px 12px;color:#fff;background:#8d1821;font:700 12px Arial,sans-serif}
/* Video directory / cards: restrained premium play insignia and duration treatment. */
.uov-hub .uov-card-image,.uov-strip .uov-card-image,.uov-hub .uov-lead-image>a{isolation:isolate}
.uov-hub .uov-card-image::after,.uov-strip .uov-card-image::after{content:"";pointer-events:none;position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 53%,rgba(1,10,9,.23));transition:background .2s}
.uov-hub .uov-icon-play,.uov-strip .uov-icon-play,.uov-related .uov-icon-play{width:52px;height:52px;background:rgba(5,34,27,.52);border:1.5px solid rgba(255,255,255,.9);color:#fff;backdrop-filter:blur(4px);box-shadow:0 0 0 5px rgba(255,255,255,.09),0 8px 22px rgba(0,0,0,.2);transition:transform .2s,background .2s,box-shadow .2s}
.uov-hub .uov-icon-play svg,.uov-strip .uov-icon-play svg,.uov-related .uov-icon-play svg{width:22px;height:22px}
.uov-hub .uov-lead-image .uov-icon-play--large{width:76px;height:76px;background:rgba(7,42,32,.7);color:white;border:2px solid rgba(255,255,255,.95)}
.uov-hub .uov-card-image:hover .uov-icon-play,.uov-strip .uov-card-image:hover .uov-icon-play,.uov-hub .uov-lead-image:hover .uov-icon-play{background:#b4232a;box-shadow:0 0 0 7px rgba(180,35,42,.17),0 12px 27px rgba(0,0,0,.28);transform:translate(-50%,-50%) scale(1.08)}
.uov-hub .uov-duration,.uov-strip .uov-duration,.uov-related .uov-duration{font:800 10px Arial,sans-serif;letter-spacing:.01em;padding:6px 7px;border-radius:3px;background:rgba(2,11,9,.88);box-shadow:0 1px 6px rgba(0,0,0,.2)}
body.uov-video-single .uov-related{clear:both}
@media(max-width:850px){body.uov-video-premium .uov-watch{width:min(100%,calc(100vw - 32px))}.uov-player--editorial .uov-player-start .uov-icon-play,.uov-native-start .uov-icon-play{width:70px;height:70px}.uov-hub .uov-icon-play,.uov-strip .uov-icon-play,.uov-related .uov-icon-play{width:43px;height:43px}}
@media(max-width:520px){body.uov-video-premium .uov-watch{width:min(100%,calc(100vw - 20px));margin:10px 0 25px}body.uov-video-premium .uov-player{border-radius:5px;box-shadow:0 8px 25px rgba(0,0,0,.15)}body.uov-video-premium .uov-watch-meta{padding:10px;gap:8px;font-size:9px}.uov-video-length{margin-left:0}.uov-watch-meta .uov-copy{margin-left:auto}.uov-player--editorial .uov-player-start .uov-icon-play,.uov-native-start .uov-icon-play{width:55px;height:55px}.uov-player--editorial .uov-player-start .uov-icon-play svg,.uov-native-start .uov-icon-play svg{width:22px;height:22px}.uov-player--editorial .uov-player-start>span:last-child,.uov-native-start>span:last-child{font-size:9px}.uov-player.uov-enhanced .uov-custom-controls{padding:25px 7px 5px}.uov-custom-controls button{width:31px;height:31px;padding:6px!important}.uov-custom-controls button svg{width:17px;height:17px}.uov-time{font-size:10px;padding:0 2px}.uov-speed{width:48px;padding:4px 0!important}.uov-hub .uov-icon-play,.uov-strip .uov-icon-play,.uov-related .uov-icon-play{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.uov-player *,.uov-icon-play{transition:none!important}}

/* AI Voice 3.1.x uses this specific wrapper. Exact-selector fallback for stale
   page caches or custom theme rendering; the primary fix is server-side. */
body.uov-hide-single-audio #ai-voice-player-wrapper{display:none!important}

/* Instagram embeds: separate the artwork ratio from the hosted video's ratio.
   Stage 1: the WordPress featured image is shown as a fully visible, wide cover.
   Stage 2: after clicking Play, Instagram's own portrait player takes over, centered.
   The video file/iframe is never enlarged, distorted, or cropped by the poster layout. */
.uov-watch .uov-instagram-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:0 auto 8px}
.uov-watch .uov-instagram-wrap .uov-player--instagram.uov-player--preview{width:100%;max-width:none;aspect-ratio:16/9;margin-inline:auto;background:#061b18}
.uov-player--instagram.uov-player--preview .uov-player-poster>img{object-fit:contain;object-position:center}
.uov-watch .uov-instagram-wrap .uov-player--instagram.uov-player--loaded{width:min(490px,100%,46svh);max-width:100%;aspect-ratio:9/16;margin-inline:auto;background:#fff;box-shadow:0 16px 43px rgba(5,26,20,.17)}
/* If svh is unsupported, the earlier width value remains usable. */
@supports not (height:1svh){.uov-watch .uov-instagram-wrap .uov-player--instagram.uov-player--loaded{width:min(490px,100%)}}
.uov-player--instagram.uov-player--loaded::after{display:none!important}
.uov-player--instagram.uov-player--loaded iframe{background:#fff;z-index:5;inset:0;width:100%;height:100%}
.uov-instagram-original{font:700 11px var(--uov-font);color:var(--uov-green);text-decoration:underline;text-underline-offset:3px;align-self:center}
.uov-instagram-original:hover{color:#b4232a}
@media(max-width:540px){.uov-watch .uov-instagram-wrap .uov-player--instagram.uov-player--preview{width:100%;max-width:none}.uov-watch .uov-instagram-wrap .uov-player--instagram.uov-player--loaded{width:min(100%,46svh)}}
