#wt-ypp-root{position:relative;z-index:2147483000;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* ── 좌측 하단 로컬 영상 썸네일 ─────────────────────────────
   기본 위치는 JS(reposition) 가 계산해 override 한다.
   left/bottom 값은 JS 미실행 시 폴백. */
.wt-ypp-thumb{position:fixed;left:20px;bottom:20px;width:min(var(--wt-ypp-desktop-width),calc(100vw - 40px));aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.32);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s;touch-action:none}
.wt-ypp-thumb.is-visible{opacity:1;visibility:visible;transform:none}
.wt-ypp-thumb:focus-visible{outline:3px solid #2a5044;outline-offset:3px}
.wt-ypp-thumb-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.wt-ypp-thumb.is-dragging{cursor:grabbing;transition:none!important;user-select:none}

/* 클릭 가능하다는 최소한의 표시 */
.wt-ypp-thumb-play{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);transition:background .2s ease,transform .2s ease;pointer-events:none}
.wt-ypp-thumb-play::after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;margin:-8px 0 0 -5px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #fff}
.wt-ypp-thumb:hover .wt-ypp-thumb-play{background:rgba(0,0,0,.68);transform:scale(1.08)}

.wt-ypp-close{position:absolute;z-index:3;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;padding:0;font-size:22px;line-height:1;color:#fff;background:rgba(0,0,0,.68);cursor:pointer;box-shadow:none}

/* ── 접었을 때 나오는 런처 ────────────────────────────────── */
.wt-ypp-launcher{position:fixed;left:20px;bottom:20px;display:flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:11px 15px;color:#fff;background:#2a5044;box-shadow:0 6px 20px rgba(0,0,0,.25);font-weight:700;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;touch-action:none}
.wt-ypp-launcher.is-visible{opacity:1;visibility:visible;transform:none}
.wt-ypp-launcher.is-dragging{cursor:grabbing;transition:none!important;user-select:none}
.wt-ypp-play-icon{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #fff}

/* ── 유튜브 레이어 팝업 ───────────────────────────────────── */
.wt-ypp-modal{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:20px}
.wt-ypp-modal[hidden]{display:none}
.wt-ypp-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);opacity:0;transition:opacity .22s ease}
.wt-ypp-modal.is-open .wt-ypp-modal-backdrop{opacity:1}
.wt-ypp-modal-body{position:relative;width:min(var(--wt-ypp-popup-width),calc(100vw - 40px),calc((100vh - 96px) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.5);opacity:0;transform:scale(.96);transition:opacity .22s ease,transform .22s ease}
.wt-ypp-modal.is-open .wt-ypp-modal-body{opacity:1;transform:none}
/* YouTube IFrame API 가 iframe 에 인라인 width/height 를 쓰므로 !important 필수 */
.wt-ypp-modal-body iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0}
.wt-ypp-modal-close{position:absolute;z-index:3;top:-42px;right:0;width:34px;height:34px;border:0;border-radius:50%;padding:0;font-size:26px;line-height:1;color:#fff;background:rgba(255,255,255,.28);cursor:pointer;transition:background .15s ease}
.wt-ypp-modal-close:hover,.wt-ypp-modal-close:focus-visible{background:rgba(255,255,255,.45)}
body.wt-ypp-modal-open{overflow:hidden}

/* 팝업이 열려 있는 동안에는 썸네일·런처를 감춘다 */
body.wt-ypp-modal-open .wt-ypp-thumb.is-visible,
body.wt-ypp-modal-open .wt-ypp-launcher.is-visible{opacity:0;visibility:hidden}

@media(max-width:768px){
    /* 모바일: 폭/모서리·닫기 아이콘·플레이 아이콘 스케일링만 담당.
       위치(left/bottom/right/top) 는 JS reposition 이 실시간 계산. */
    .wt-ypp-thumb{width:var(--wt-ypp-mobile-width);min-width:96px;max-width:calc(100vw - 24px);border-radius:7px}
    .wt-ypp-launcher{padding:9px 12px;font-size:12px}
    .wt-ypp-close{top:4px;right:4px;width:24px;height:24px;font-size:18px}
    .wt-ypp-thumb-play{width:32px;height:32px;margin:-16px 0 0 -16px}
    .wt-ypp-thumb-play::after{margin:-6px 0 0 -3px;border-top-width:6px;border-bottom-width:6px;border-left-width:10px}
    .wt-ypp-modal{padding:12px}
    .wt-ypp-modal-body{width:min(var(--wt-ypp-popup-width),calc(100vw - 24px),calc((100vh - 110px) * 16 / 9));border-radius:8px}
    .wt-ypp-modal-close{top:-40px}
}

@media(prefers-reduced-motion:reduce){
    .wt-ypp-thumb,.wt-ypp-launcher,.wt-ypp-modal-backdrop,.wt-ypp-modal-body{transition:none}
}
