/* 이용 기간 안내(체험·이용권), 잠금 화면, 이용권 구매 창 */
#planBanner.dpPlanBanner{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 14px;padding:14px 16px;border-radius:16px;background:#eef4ff;border:1px solid #d6e3fb;color:#17243c;word-break:keep-all}
#planBanner.dpPlanBanner[hidden],#planBanner.dpPlanBanner[data-view-off]{display:none!important}
#planBanner.dpPlanBanner.is-soon{background:#fff8ec;border-color:#f1d39b}
#planBanner .dpPlanText{display:flex;flex-direction:column;gap:2px;min-width:0}
#planBanner .dpPlanText strong{font-size:15px;font-weight:800}
#planBanner .dpPlanText span{font-size:13px;color:#5d6e86;line-height:1.45}
.dpPlanCta{flex:none;border:0;border-radius:12px;background:#2459cf;color:#fff;font-weight:800;font-size:14px;padding:10px 14px;cursor:pointer;font-family:inherit}
.dpPlanCta:disabled{opacity:.5;cursor:default}
.dpPlanCta:focus-visible,.dpPlanLink:focus-visible,.dpPlanClose:focus-visible{outline:3px solid #2459cf;outline-offset:2px}
.dpPlanCtaBig{width:100%;padding:15px 16px;font-size:16px;border-radius:14px}
html.dp-plan-locked,html.dp-plan-locked body{overflow:hidden}
#planLock.dpPlanLock{position:fixed;inset:0;z-index:5000;background:rgba(243,247,255,.97);display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:auto;word-break:keep-all}
#planLock.dpPlanLock[hidden]{display:none!important}
#planLock .dpPlanLockCard{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:28px 22px 18px;box-shadow:0 12px 40px rgba(18,50,90,.12);text-align:center;color:#17243c}
#planLock .dpPlanLockIcon{font-size:34px;line-height:1}
#planLock h2{margin:12px 0 10px;font-size:22px;letter-spacing:-.02em}
#planLock p{margin:0 0 10px;font-size:15px;line-height:1.6;color:#46566e}
#planLock .dpPlanLockStrong{color:#17243c;font-weight:800}
#planLock .dpPlanLockActions{margin:16px 0 6px}
#planLock .dpPlanLockFoot{display:flex;justify-content:center;gap:18px;margin-top:14px}
.dpPlanLink{all:unset;cursor:pointer;color:#5d6e86;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.dpPlanNote{font-size:13px;color:#5d6e86;line-height:1.55;margin:8px 0}
.dpPlanNote a{color:#2459cf}
dialog.dpPlanDialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:22px;padding:24px 20px 18px;color:#17243c;word-break:keep-all;box-sizing:border-box}
dialog.dpPlanDialog::backdrop{background:rgba(10,20,40,.45)}
dialog.dpPlanDialog h2{margin:0 0 12px;font-size:20px}
.dpPlanClose{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;color:#5d6e86;cursor:pointer;padding:6px}
.dpPlanPrice{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:14px 16px;border-radius:16px;background:#f3f7ff}
.dpPlanPrice b{font-size:28px;letter-spacing:-.02em}
.dpPlanPrice small{font-size:13px;color:#5d6e86;flex-basis:100%}
.dpPlanBadge{font-size:12px;font-weight:800;color:#fff;background:#e5484d;border-radius:10px;padding:3px 8px}
.dpPlanList{margin:14px 0;padding-left:20px;font-size:14px;line-height:1.7}
.dpPlanPeriod{font-size:14px;font-weight:700;margin:8px 0}
.dpPlanAgree{display:flex;align-items:center;gap:8px;margin:14px 0 12px;font-size:14px;font-weight:700;cursor:pointer}
.dpPlanAgree input{width:20px;height:20px;margin:0}
.dpPlanMsg{min-height:1.2em;font-size:13px;color:#b42318;margin:10px 0 0;line-height:1.5}
.dpPlanDialog h2:focus{outline:none}
.dpPlanText .dpPlanProgress,.dpPlanProgress{display:block;margin-top:4px;font-weight:800;color:#1f5ad6}
