/* 감성플레이어 (GAMSUNGPLAYER 이식) — Plyr 위에 얹는 모양.
   ⚠ 유튜브 제목·채널·추천 영상 숨김은 iframe 을 세로 200%·top -50% 로 «잘라» 화면 밖으로 미는 방식(확대 없음).
     이 규칙은 유튜브(.plyr--youtube)에만 건다 — 예전처럼 모든 임베드에 걸면 비메오가 어긋난다(이식 전 «비메오 오작동»의 원인).
   ⚠ 특이도: Plyr 기본 규칙(.plyr__video-embed iframe)에 밀리지 않게 (0,3,1) 이상을 유지한다. */
.cvp-player-container {
    --cvp-bg: #000;
    --cvp-radius: 16px;
    --cvp-shadow: 0 30px 60px rgba(0, 0, 0, .5);
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    background: var(--cvp-bg);
    border-radius: var(--cvp-radius);
    line-height: 0;
}
.cvp-player-container.has-shadow { box-shadow: var(--cvp-shadow); }

/* ─── 16:9 상자 ─── */
.cvp-player-container .plyr--video {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-radius: var(--cvp-radius) !important;
    background: var(--cvp-bg) !important;
}
.cvp-player-container.is-shorts .plyr--video { aspect-ratio: 9 / 16 !important; max-width: 400px !important; margin: 0 auto !important; }
.cvp-player-container .plyr__video-wrapper,
.cvp-player-container .plyr__video-embed {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    aspect-ratio: unset !important;
}
.cvp-player-container .plyr--video video { width: 100%; height: 100%; object-fit: contain; }

/* ─── 유튜브 제목·추천 영상·로고 숨김 (자르기, 확대 없음) ─── */
.cvp-player-container .plyr--video.plyr--youtube iframe {
    position: absolute !important;
    top: -50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 200% !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
    pointer-events: none !important;
}
.cvp-player-container .plyr--youtube.plyr--fullscreen-active,
.cvp-player-container .plyr--youtube.plyr--fullscreen-fallback,
.cvp-player-container .plyr--youtube:fullscreen { aspect-ratio: auto !important; overflow: hidden !important; }
.cvp-player-container .plyr--youtube.plyr--fullscreen-active iframe,
.cvp-player-container .plyr--youtube.plyr--fullscreen-fallback iframe,
.cvp-player-container .plyr--youtube:fullscreen iframe { top: -50% !important; height: 200% !important; transform: none !important; pointer-events: none !important; }

/* ─── 비메오: Plyr 의 기본 방식(비메오 조작부를 상자 밖으로 미는 큰 틀)을 그대로 두고 클릭만 막는다 ─── */
.cvp-player-container .plyr--vimeo iframe { pointer-events: none !important; }

/* ─── 비메오 기본 플레이어 (관리자 › 감성플레이어에서 '비메오 플레이어') ─── */
.cvp-native-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--cvp-radius, 16px); background: #000; }
.cvp-native-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ─── 화면 고정 방식 전체화면(아이폰 등) — 위의 relative·aspect-ratio 를 같은 세기로 되받아 화면을 채운다 ─── */
.cvp-player-container .plyr--video.plyr--fullscreen-fallback,
.cvp-player-container.is-shorts .plyr--video.plyr--fullscreen-fallback {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    z-index: 2147483000 !important;
    background: #000 !important;
}
.cvp-player-container .plyr--video.plyr--fullscreen-fallback .plyr__controls {
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: calc(10px + env(safe-area-inset-left, 0px)) !important;
    padding-right: calc(10px + env(safe-area-inset-right, 0px)) !important;
}
/* 전체화면 동안 화면에 고정된 사이트 요소(머리글·카카오 단추·페이지 수정 막대)를 숨긴다 */
html.cvp-fs-on .enh, html.cvp-fs-on .ab-head, html.cvp-fs-on .site-head, html.cvp-fs-on .kk-float, html.cvp-fs-on .en-editbar { visibility: hidden !important; }
html.cvp-fs-on, html.cvp-fs-on body { overflow: hidden !important; }

/* ─── 조작부: 아래쪽 그라데이션 ─── */
.cvp-player-container .plyr--video .plyr__controls {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    z-index: 30 !important;
    padding: 30px 20px 15px !important;
    background: linear-gradient(to top, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, 0) 100%) !important;
    border-bottom-left-radius: var(--cvp-radius);
    border-bottom-right-radius: var(--cvp-radius);
    display: flex !important;
    align-items: center !important;
}
.cvp-player-container .plyr--hide-controls .plyr__controls { opacity: 0 !important; pointer-events: none !important; }

/* 보호 막 (조작부는 비켜 둔다) */
.cvp-youtube-overlay { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 60px); z-index: 20; cursor: pointer; background: transparent; }

/* 가운데 재생 단추 */
.cvp-player-container .plyr__control--overlaid {
    background: rgba(255, 255, 255, .2) !important;
    padding: 25px !important;
    z-index: 25 !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}
.cvp-player-container .plyr__control--overlaid svg { width: 30px; height: 30px; fill: #fff; }

.cvp-player-container .plyr--full-ui {
    --plyr-color-main: #ffffff;
    --plyr-video-control-background-hover: rgba(255, 255, 255, .2);
    --plyr-control-radius: 8px;
}
.cvp-player-container .plyr__progress__container { margin-bottom: 5px; }
.cvp-player-container .plyr__volume { max-width: 100px; }
.cvp-player-container .plyr__control,
.cvp-player-container .plyr__controls button {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
    color: #fff !important;
}
.cvp-player-container .plyr__control svg { fill: #fff !important; }
.cvp-player-container .plyr__control:focus,
.cvp-player-container .plyr__control:active,
.cvp-player-container .plyr--full-ui input[type=range]:focus { outline: 0 !important; box-shadow: none !important; }
.cvp-player-container .plyr__control:focus-visible { box-shadow: 0 0 0 2px rgba(255, 255, 255, .8) !important; }
.cvp-player-container .plyr--full-ui input[type=range] { color: #fff !important; }

/* 설정 메뉴 */
.cvp-player-container .plyr__menu__container {
    background: rgba(30, 30, 30, .8) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .5) !important;
}
.cvp-player-container .plyr__menu__container [role="menu"],
.cvp-player-container .plyr__menu__container .plyr__control { color: #fff !important; }
.cvp-player-container .plyr__menu__container .plyr__control:hover { background: rgba(255, 255, 255, .1) !important; }
.cvp-player-container .plyr__menu__container .plyr__control[aria-checked="true"]::before { background: #fff !important; }
.cvp-player-container .plyr__menu__container .plyr__control--back { border-bottom: 1px solid rgba(255, 255, 255, .1) !important; }

/* 캡처 가림 문구 */
.cvp-cap-shield span { font-size: 13px; line-height: 1.4; color: #8a94a3; letter-spacing: .02em; }

@media (max-width: 768px) {
    .cvp-player-container .plyr--video .plyr__controls { padding: 15px 10px 10px !important; }
    .cvp-youtube-overlay { height: calc(100% - 44px); }
}
/* 휴대폰: 음량 막대는 빼고 소리 단추만 — 재생 막대 자리를 넓힌다 (휴대폰 음량은 기기 단추로) */
@media (max-width: 640px) {
    .cvp-player-container .plyr__volume input[type=range] { display: none !important; }
    .cvp-player-container .plyr__volume { min-width: 0; max-width: none; width: auto; }
}
