/* Native Drive controls only. The iframe always fits its responsive stage. */
.lws-drive-player {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 24px 0;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}
.lfr-video-card__embed .lws-drive-player { margin: 0; border-radius: 0 0 12px 12px; }
.lws-drive-stage {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #000;
}
.lws-drive-player .lws-drive-iframe {
    position: absolute;
    inset: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0 !important; /* Overrides the article's generic iframe minimum. */
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}
/* Only the upper-right popout is covered; playback controls remain untouched. */
.lws-drive-shield {
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 52px;
    max-width: 25%;
    max-height: 30%;
    z-index: 2;
    background: #000;
    pointer-events: auto;
}
@media (max-width: 540px) {
    .lws-drive-player { margin-block: 16px; border-radius: 8px; }
    .lfr-video-card__embed .lws-drive-player { margin: 0; }
}

/* A compact, independent mobile control; Drive's lower controls remain intact. */
.lws-drive-player { position:relative; }
.lws-drive-player .lws-drive-fullscreen { display:none; }
@media (max-width:1100px), (any-pointer:coarse) {
    .lws-drive-enhanced .lws-drive-player .lws-drive-fullscreen { display:flex; }
}
.lws-drive-enhanced .lws-drive-player .lws-drive-fullscreen {
    position:absolute; z-index:4; top:4px; right:4px; align-items:center; justify-content:center;
    box-sizing:border-box; width:44px; height:44px; min-width:44px; min-height:44px;
    margin:0; padding:10px; border:1px solid #64748b; border-radius:8px;
    color:#fff; background:#111827; cursor:pointer; line-height:1;
}
.lws-drive-player .lws-drive-fullscreen:hover { background:#263449; color:#fff; }
.lws-drive-player .lws-drive-fullscreen:focus-visible { outline:3px solid #67e8f9; outline-offset:2px; }
.lws-drive-fullscreen svg { width:22px; height:22px; pointer-events:none; }
.lws-drive-fullscreen .lws-drive-close-icon { display:none; }
.lws-drive-is-fullscreen .lws-drive-fullscreen .lws-drive-expand-icon { display:none; }
.lws-drive-is-fullscreen .lws-drive-fullscreen .lws-drive-close-icon { display:block; }
html.lws-drive-expanded, body.lws-drive-expanded { overflow:hidden !important; overscroll-behavior:none; }
.lws-drive-unclip { transform:none !important; filter:none !important; perspective:none !important; contain:none !important; content-visibility:visible !important; will-change:auto !important; overflow:visible !important; clip-path:none !important; }
.lws-drive-player.is-expanded,
.lws-drive-player.lws-drive-is-fullscreen {
    display:flex !important; flex-direction:column; position:fixed !important;
    inset:0; width:100%; height:100%; max-width:none !important; max-height:none !important;
    margin:0 !important; border:0; border-radius:0 !important; box-sizing:border-box;
    padding:calc(52px + env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
    background:#000; z-index:2147483647;
}
.lws-drive-player.is-expanded {
    inset:auto !important; top:var(--lws-drive-top,0px) !important; left:var(--lws-drive-left,0px) !important;
    width:var(--lws-drive-width,100vw) !important; height:var(--lws-drive-height,100dvh) !important;
}
.lws-drive-player.lws-drive-is-fullscreen > .lws-drive-stage {
    flex:1 1 0; width:100% !important; height:100% !important; min-height:0 !important; aspect-ratio:auto !important;
}
.lws-drive-enhanced .lws-drive-player.lws-drive-is-fullscreen .lws-drive-fullscreen {
    display:flex; top:calc(4px + env(safe-area-inset-top,0px)); right:calc(4px + env(safe-area-inset-right,0px));
}
.lws-drive-player::backdrop { background:#000; }
