/* SocketKits v333 · website-features.php · 웹사이트 기능 소개 (그림이 움직이는 휴대폰 · 관리자 화면)
 *   움직임은 assets/ui/feat.js (data-gv · data-tap · data-at · data-ty) · 이 파일은 모양만 · 흰색 + 보라 */
.wf-hero{padding-bottom:30px}
.wf-hero h1{white-space:pre-line}
.wf-hero .ft-hv{min-height:560px}
.wf-hs{position:relative;width:100%;max-width:560px;height:540px;margin:0 auto}
.wf-hs .wf-adm{position:absolute;left:0;top:34px;width:300px;z-index:1}
.wf-hs .wf-ph{position:absolute;right:0;top:0;z-index:2}
.wf-hs .gv-cur{z-index:30}
.wf-adm .gv-b{gap:4px}
.wf-adm .gv-tg{padding:9px 2px;border-top:1px solid #f1f1f5}
.wf-adm .gv-tg:first-child{border-top:0}
.wf-adm .gv-tg span{display:flex;align-items:center;gap:9px}
.wf-adm .gv-tg span i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f1f0fb;color:var(--primary)}
.wf-adm .gv-tg small{display:block;font-size:10.5px;font-weight:600;color:#8a8fa3;margin-top:1px}

/* 휴대폰 */
.wf-ph{position:relative;flex:none;width:268px}
.wf-ph-f{position:relative;height:540px;border-radius:42px;padding:9px;background:#14151d;box-shadow:0 40px 80px -40px rgba(30,20,90,.55),0 0 0 1px rgba(255,255,255,.06) inset}
.wf-ph-f::before{content:"";position:absolute;left:50%;top:15px;width:78px;height:22px;margin-left:-39px;border-radius:999px;background:#14151d;z-index:5}
.wf-scr{position:relative;height:100%;border-radius:34px;background:#fff;overflow:hidden;font-size:12.5px;line-height:1.4;color:#1d2133;text-align:left;-webkit-user-select:none;user-select:none}
.wf-sb{display:flex;justify-content:space-between;align-items:center;height:40px;padding:8px 22px 0;font-size:11px;font-weight:750;color:#14151d}
.wf-sb i{width:22px;height:9px;border-radius:3px;border:1.5px solid #14151d;position:relative}
.wf-sb i::after{content:"";position:absolute;inset:1.5px 5px 1.5px 1.5px;border-radius:1px;background:#14151d}
.wf-nav{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;border-bottom:1px solid #f0f0f4}
.wf-nav b{font-size:13px;font-weight:800;letter-spacing:-.01em;color:#14151d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-nav span{display:flex;gap:4px}
.wf-nav span i{display:block;width:15px;height:2px;border-radius:2px;background:#14151d;box-shadow:0 -5px 0 #14151d,0 5px 0 #14151d;margin:6px 2px}
.wf-bd{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:12px 14px 16px;align-content:start}
.wf-tt{font-size:15px;font-weight:820;letter-spacing:-.02em;color:#14151d}
.wf-sub{margin-top:-5px;font-size:11px;color:#8a8fa3}
.wf-bn{position:relative;height:112px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#efe9ff,#e3ecff)}
.wf-bn .ft-ph,.wf-bn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wf-bn .ft-ph img{width:100%;height:100%;object-fit:cover}
.wf-bn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,10,20,.55))}
.wf-bn b{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;color:#fff;font-size:14px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.wf-bn small{display:block;font-size:10.5px;font-weight:600;opacity:.85}
.wf-ln{display:grid;gap:6px}
.wf-ln i{height:6px;border-radius:4px;background:#eeeff4}
.wf-ln i:nth-child(3n){width:64%}

/* 상품 */
.wf-pd{display:flex;gap:10px;align-items:center;padding:9px;border-radius:14px;border:1px solid #efeff4}
.wf-pd .ft-ph,.wf-pd .wf-th{flex:none;position:relative;width:62px;height:62px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#f4ead9,#e9dcc4)}
.wf-pd .ft-ph img{width:100%;height:100%;object-fit:cover}
.wf-pd>div{flex:1;min-width:0;display:grid;gap:3px}
.wf-pd b{font-size:12.5px;font-weight:750;color:#14151d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-pd>div>em{font-style:normal;font-size:13px;font-weight:850;color:#14151d}
.wf-pd .gv-btn{min-height:30px;padding:5px 11px;font-size:11.5px;justify-self:start}
.wf-so{position:absolute;left:5px;top:5px;padding:2px 7px;border-radius:6px;background:rgba(20,21,29,.82);color:#fff;font-size:9.5px;font-weight:800}

/* 신청 (남은 자리) */
.wf-sess{display:grid;gap:7px;padding:11px 12px;border-radius:14px;border:1px solid #efeff4}
.wf-sess b{font-size:13px;font-weight:780;color:#14151d}
.wf-sess small{font-size:11px;color:#7d8296}
.wf-sess .wf-sr{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wf-bar{position:relative;height:6px;border-radius:999px;background:#eeeff4;overflow:hidden}
.wf-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--primary);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.wf-sess .gv-btn{min-height:32px;padding:6px 12px;font-size:11.5px}
.wf-sw{display:inline-grid;vertical-align:middle}
.wf-sw>*{grid-area:1/1;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
[data-run] .wf-sw>.gv-at:not(.in){opacity:0;transform:translateY(6px)}
.wf-sw>.gv-at.in~*{opacity:0;transform:translateY(-6px)}
[data-run] .wf-sw>.gv-at:not(.in)~*{opacity:1;transform:none}

/* 잠긴 내용 (유료 페이지) */
.wf-lock{position:relative;display:grid;border-radius:14px;overflow:hidden;border:1px solid #efeff4}
.wf-lock>*{grid-area:1/1}
.wf-lock .wf-open{display:grid;gap:8px;padding:12px}
.wf-vid{position:relative;height:98px;border-radius:10px;background:linear-gradient(135deg,#2a2240,#5b4bff);display:grid;place-items:center;color:#fff}
.wf-vid i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.22)}
.wf-lk{position:relative;display:grid;place-items:center;align-content:center;gap:8px;padding:14px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);text-align:center;transition:opacity .45s ease}
.wf-lk .lk{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#14151d;color:#fff}
.wf-lk b{font-size:12.5px;font-weight:780}
.wf-lock .wf-open.in~.wf-lk{opacity:0;pointer-events:none}
[data-run] .wf-lock .wf-open:not(.in)~.wf-lk{opacity:1}
[data-run] .wf-lock .wf-open.gv-at:not(.in){opacity:1;transform:none}

/* 파일 */
.wf-fl{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;border:1px solid #efeff4}
.wf-fx{flex:none;display:grid;place-items:center;width:36px;height:42px;border-radius:8px;font-style:normal;font-size:9px;font-weight:900;letter-spacing:.02em;color:#fff;background:#e5484d}
.wf-fx.zip{background:#7c5cff}.wf-fx.epub{background:#0f9f6e}.wf-fx.mp3{background:#f08c00}
.wf-fl>span:not(.gv-btn){flex:1;min-width:0}
.wf-fl b{display:block;font-size:12px;font-weight:750;color:#14151d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-fl small{display:block;font-size:10.5px;color:#8a8fa3}
.wf-fl .gv-btn{flex:none;min-height:30px;padding:5px 9px;font-size:11px;gap:4px}

/* 별점 */
.wf-avg{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fafafc}
.wf-avg b{font-size:26px;font-weight:880;letter-spacing:-.03em;color:#14151d}
.wf-avg small{display:block;font-size:10.5px;color:#8a8fa3}
.wf-st{display:inline-flex;gap:2px;color:#f5b301}
.wf-st svg{width:14px;height:14px}
.wf-stars{display:flex;gap:6px;justify-content:center;padding:4px 0}
.wf-stars span{position:relative;width:28px;height:28px}
.wf-stars span svg{position:absolute;inset:0;width:28px;height:28px}
.wf-stars span .e{color:#dfe1ea}
.wf-stars span .f{color:#f5b301;transition:opacity .25s ease,transform .35s cubic-bezier(.3,1.6,.5,1)}
[data-run] .wf-stars .f:not(.in){opacity:0;transform:scale(.4)}

/* Q&A */
.wf-qa{display:grid;border-top:1px solid #efeff4}
.wf-qa>div{display:flex;align-items:center;gap:8px;padding:10px 2px;border-bottom:1px solid #f1f1f5}
.wf-qa>div>span:first-child{flex:1;min-width:0}
.wf-qa b{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:720;color:#14151d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-qa b svg{flex:none;color:#8a8fa3}
.wf-qa small{display:block;font-size:10.5px;color:#8a8fa3;margin-top:2px}
.wf-qa .gv-pill{padding:3px 8px;font-size:10px}

/* 배송 단계 */
.wf-trk{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px 6px 4px}
.wf-trk span{position:relative;display:grid;justify-items:center;gap:6px;font-size:10px;font-weight:650;color:#8a8fa3;text-align:center}
.wf-trk span::before{content:"";position:absolute;left:-50%;right:50%;top:7px;height:2px;background:#e8e9f0}
.wf-trk span:first-child::before{display:none}
.wf-trk i{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:#e8e9f0;border:3px solid #fff;box-shadow:0 0 0 1px #e8e9f0;transition:background .3s,box-shadow .3s}
.wf-trk span.in i,.wf-trk span:not(.gv-at) i{background:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.wf-trk span.in,.wf-trk span:not(.gv-at){color:#14151d}
[data-run] .wf-trk span.gv-at:not(.in){opacity:1;transform:none}

/* 마이페이지 목록 */
.wf-ls{display:grid;border-radius:14px;border:1px solid #efeff4;overflow:hidden}
.wf-ls>span{display:flex;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid #f1f1f5;font-weight:650;font-size:12px;transition:background .25s}
.wf-ls>span:first-child{border-top:0}
.wf-ls>span svg{flex:none;color:#8a8fa3}
.wf-ls>span em{margin-left:auto;font-style:normal;font-weight:800;color:var(--primary)}
.wf-ls>span.prs{background:#f4f2ff}

/* 메일 (예약 알림) */
.wf-mail{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid #efeff4;background:#fff;box-shadow:0 14px 30px -24px rgba(20,20,60,.5)}
.wf-mail .mh{display:flex;align-items:center;gap:9px}
.wf-mail .mh i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1f0fb;color:var(--primary);font-style:normal;font-weight:850;font-size:12px}
.wf-mail .mh b{display:block;font-size:12px;font-weight:780;color:#14151d}
.wf-mail .mh small{display:block;font-size:10.5px;color:#8a8fa3}

/* 위에 겹치는 것 (상담 버튼 · 팝업 · 공지 띠 · 쿠키) */
.wf-ov{position:absolute;z-index:6}
.wf-fb{right:12px;bottom:14px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.wf-fb .lst{display:grid;gap:3px;padding:6px;min-width:150px;border-radius:14px;background:#fff;border:1px solid #ececf2;box-shadow:0 18px 40px -18px rgba(20,20,60,.45);transform-origin:bottom right}
.wf-fb .lst span{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:11.5px;font-weight:700;color:#1d2133}
.wf-fb .lst span i{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900;color:#fff}
.wf-fb .btn0{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;font-size:12px;box-shadow:0 12px 24px -10px rgba(91,75,255,.7)}
.wf-sh{left:0;right:0;bottom:0;padding:16px 16px 14px;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -20px 50px -20px rgba(20,20,60,.45)}
.wf-sh::before{content:"";position:absolute;inset:-600px 0 100% 0;background:rgba(10,10,20,.38);pointer-events:none}
.wf-sh b{display:block;font-size:14.5px;font-weight:820;letter-spacing:-.02em}
.wf-sh p{margin:6px 0 12px;font-size:11.5px;line-height:1.55;color:#5f6679}
.wf-sh .ft{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#5f6679;padding-top:10px;border-top:1px solid #f0f0f4}
.wf-sh .gv-btn{width:100%}
.wf-tb{left:0;right:0;top:40px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 26px;background:var(--primary);color:#fff;font-size:10.5px;font-weight:750;text-align:center;line-height:1.35}
.wf-tb i{position:absolute;right:9px;top:50%;margin-top:-6px;font-style:normal;font-size:12px;line-height:12px;opacity:.8}
.wf-ck{left:10px;right:10px;bottom:12px;display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:#fff;border:1px solid #ececf2;box-shadow:0 18px 40px -18px rgba(20,20,60,.45);font-size:10.5px;line-height:1.45;color:#3a3e52}
.wf-ck .gv-btn{flex:none;min-height:30px;padding:5px 11px;font-size:11px}
.wf-ot{left:12px;right:12px;bottom:14px}
[data-run] .wf-ov.gv-at:not(.in){transform:translateY(14px)}
[data-run] .wf-sh.gv-at:not(.in){transform:translateY(100%)}
[data-run] .wf-tb.gv-at:not(.in){transform:translateY(-100%)}
.wf-sh.gv-at,.wf-tb.gv-at{transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
[data-run] .wf-fb .lst.gv-at:not(.in){transform:translateY(8px) scale(.94)}

/* 휴대폰 밖에 뜨는 알림 */
.wf-chip{position:absolute;z-index:8;display:flex;align-items:center;gap:9px;max-width:230px;padding:9px 13px 9px 9px;border-radius:14px;background:#fff;border:1px solid #ececf2;box-shadow:0 22px 44px -20px rgba(20,20,60,.4);font-size:12px;text-align:left}
.wf-chip .ti{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--primary);color:#fff}
.wf-chip b{display:block;font-weight:780;color:#14151d;line-height:1.3}
.wf-chip small{display:block;font-size:10.5px;color:#7d8296;line-height:1.35}
.wf-chip.c1{left:-4px;top:16%}
.wf-chip.c2{right:-8px;bottom:18%}
.wf-chip.c3{left:2px;bottom:9%}

/* ═══ 첫 화면 아래: 바로가기 띠 ═══ */
.wf-jump{position:sticky;top:var(--nav-h,76px);z-index:40;background:rgba(251,251,254,.88);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.wf-jump .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.wf-jump .wrap::-webkit-scrollbar{display:none}
.wf-jump a{flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.wf-jump a svg{color:var(--primary)}
.wf-jump a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.wf-jump a.on svg{color:#c9c2ff}
.wf-jump a small{font-size:12px;font-weight:700;opacity:.55}

/* ═══ 켜는 법 (4단계) ═══ */
.wf-how .ft-step .sv .gv{font-size:12.5px}

/* ═══ 묶음 · 기능 줄 ═══ */
.wf-grp{scroll-margin-top:calc(var(--nav-h,76px) + 70px)}
.wf-gh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:10px}
.wf-gh .n{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--primary);letter-spacing:.02em}
.wf-gh .n i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f1efff}
.wf-gh h2{margin-top:10px}
.wf-gh .ft-lead{margin-top:8px}
.wf-mini{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.wf-mini a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:13px;font-weight:700;color:var(--ink);text-decoration:none}
.wf-mini a svg{color:var(--primary)}
.wf-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:52px 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h,76px) + 70px)}
.wf-f:first-of-type{border-top:0}
.wf-f.r .wf-v{order:-1}
.wf-t .ic0{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#f4f1ff,#e9eeff);color:var(--primary)}
.wf-t h3{margin:14px 0 8px;font-size:clamp(22px,2.3vw,28px);font-weight:830;letter-spacing:-.03em;line-height:1.25;color:var(--ink)}
.wf-t h3 .nw{display:inline-block;vertical-align:4px;margin-left:8px;padding:3px 8px;border-radius:999px;background:#f1efff;color:var(--primary);font-size:11.5px;font-weight:800;letter-spacing:0}
.wf-t>p{font-size:16px;line-height:1.72;color:var(--muted);word-break:keep-all}
.wf-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.wf-tags span{padding:5px 10px;border-radius:8px;background:#f5f5f9;font-size:12.5px;font-weight:700;color:#4a4f63}
.wf-box{margin-top:20px;display:grid;gap:12px}
.wf-on,.wf-use{padding:16px 18px;border-radius:16px;border:1px solid var(--line)}
.wf-on{background:#fbfaff;border-color:#e6e2ff}
.wf-box h4{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.01em;color:var(--ink)}
.wf-box h4 svg{color:var(--primary)}
.wf-path{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.wf-path span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:9px;background:#fff;border:1px solid #e6e2ff;font-size:13px;font-weight:700;color:#2b2f45;word-break:keep-all}
.wf-path span.b{background:var(--primary);border-color:var(--primary);color:#fff}
.wf-path i{font-style:normal;color:#b3abff;font-weight:800}
.wf-use ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.wf-use li{display:flex;gap:8px;font-size:14.5px;line-height:1.6;color:#3a3e52;word-break:keep-all}
.wf-use li svg{flex:none;margin-top:3px;color:#16a34a}
.wf-v{position:relative;display:flex;justify-content:center;align-items:center;min-height:600px;padding:30px 0;border-radius:32px;background:radial-gradient(120% 90% at 20% 10%,#f3efff 0%,#f7f8fc 55%,#eef4ff 100%);overflow:hidden}
.wf-grp.g-book .wf-v{background:radial-gradient(120% 90% at 20% 10%,#eaf3ff 0%,#f7f8fc 55%,#f1efff 100%)}
.wf-grp.g-talk .wf-v{background:radial-gradient(120% 90% at 20% 10%,#fff0f6 0%,#f8f7fc 55%,#f1efff 100%)}
.wf-grp.g-run .wf-v{background:radial-gradient(120% 90% at 20% 10%,#ecfbf3 0%,#f7f8fc 55%,#eef2ff 100%)}
.wf-grp.g-safe .wf-v{background:radial-gradient(120% 90% at 20% 10%,#eef0ff 0%,#f7f8fc 55%,#effaf4 100%)}   /* v339 · 보안 · 검색 · 다국어 */
.wf-v .gv.wf-solo{width:min(360px,88%);box-shadow:0 40px 80px -46px rgba(30,20,90,.55)}
.wf-v .gv.wf-solo .gv-b{gap:12px;padding:16px}

/* 결제 연결 */
.wf-pay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.wf-pay .ft-ul{margin-top:20px}
.wf-pg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.wf-pg div{padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.wf-pg b{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;color:var(--ink)}
.wf-pg b svg{color:var(--primary)}
.wf-pg small{display:block;margin-top:4px;font-size:13px;line-height:1.55;color:var(--muted)}

/* 늘 들어 있는 것 */
.wf-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wf-more div{display:flex;gap:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.wf-more div svg{flex:none;color:var(--primary)}
.wf-more b{display:block;font-size:15px;font-weight:780;color:var(--ink)}
.wf-more small{display:block;margin-top:3px;font-size:13px;line-height:1.55;color:var(--muted)}

@media (max-width:980px){
  .wf-hero .ft-hv{min-height:0}
  .wf-f,.wf-pay{grid-template-columns:1fr;gap:26px;padding:40px 0}
  .wf-f.r .wf-v{order:0}
  .wf-v{min-height:0;padding:28px 0 30px;border-radius:26px}
  .wf-more{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wf-hs{height:auto;max-width:none;display:flex;justify-content:center;padding-bottom:6px}
  .wf-hs .wf-adm,.wf-hs>.gv-cur{display:none}
  .wf-hs .wf-ph{position:relative;right:auto;top:auto}
  .wf-ph{width:250px}
  .wf-ph-f{height:520px;border-radius:38px;padding:8px}
  .wf-scr{border-radius:31px}
  .wf-chip{display:none}
  .wf-bd{gap:8px}
  .wf-v{margin:0 -18px;border-radius:0}
  .wf-t>p{font-size:15px}
  .wf-path span{font-size:12.5px;padding:5px 9px}
  .wf-use li{font-size:14px}
  .wf-pg{grid-template-columns:1fr}
  .wf-more{grid-template-columns:1fr}
  .wf-jump a{height:36px;padding:0 13px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){html.sk-rm .wf-sw>*,html.sk-rm .wf-bar i,html.sk-rm .wf-stars .f{transition:none}}
[data-run] .wf-bar i.gv-at:not(.in){opacity:0;transform:none}
/* 첫 화면: 켜는 대로 휴대폰에 칸이 생김 */
.wf-col{max-height:260px;overflow:hidden}
.wf-col.gv-at{transition:opacity .45s ease,transform .5s cubic-bezier(.2,.8,.2,1),max-height .65s cubic-bezier(.2,.8,.2,1),margin .65s cubic-bezier(.2,.8,.2,1)}
[data-run] .wf-col.gv-at:not(.in){max-height:0;margin-top:-9px;opacity:0;transform:translateY(10px)}
.wf-res{display:grid;gap:7px;padding:10px 11px;border-radius:14px;border:1px solid #efeff4}
.wf-res b{font-size:12.5px;font-weight:800;color:#14151d}
.wf-res .gv-chips span{padding:5px 9px;font-size:10.5px}

/* v334 · 동영상 강의 */
.wf-vc{display:grid;gap:5px;padding:8px;border-radius:14px;border:1px solid #efeff4}
.wf-vt{position:relative;display:block;height:104px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#2a2240,#5b4bff)}
.wf-vt .ft-ph,.wf-vt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wf-vt em{position:absolute;left:8px;top:8px;z-index:1;font-style:normal;font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;background:#fff;color:#14151d}
.wf-vt i{position:absolute;right:8px;bottom:8px;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 8px 18px -8px rgba(40,30,120,.7)}
.wf-vt i svg{fill:currentColor;margin-left:2px}
.wf-vc b{font-size:12.5px;font-weight:780;color:#14151d;padding:0 2px}
.wf-vc small{font-size:10.5px;color:#8a8fa3;padding:0 2px}
.wf-toc{display:grid;border-top:1px solid #efeff4}
.wf-toc>span{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 2px;border-bottom:1px solid #efeff4}
.wf-toc em{flex:none;width:18px;font-style:normal;font-size:10px;font-weight:800;color:#a0a4b5}
.wf-toc b{flex:1;min-width:0;font-size:11.5px;font-weight:700;color:#14151d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-toc small{flex:none;font-size:10px;color:#8a8fa3}
.wf-toc i{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal}
.wf-toc i.ck{border:1px solid #dfe1ea;color:transparent;transition:background .35s,color .35s,border-color .35s}
.wf-toc i.ck.on,.wf-toc i.ck.gv-at.in{background:var(--primary);border-color:var(--primary);color:#fff}
[data-run] .wf-toc i.ck.gv-at:not(.in){opacity:1;transform:none;background:transparent;border-color:#dfe1ea;color:transparent}
.wf-toc i.lk{color:#a0a4b5}
.wf-toc span.lock b{color:#a0a4b5}
/* 숙박 예약 */
.wf-stb{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:7px;border-radius:14px;border:1px solid #efeff4;box-shadow:0 14px 30px -22px rgba(20,20,60,.4)}
.wf-stb .f{display:grid;gap:1px;padding:6px 8px;border-radius:9px;background:#f5f4f9;min-width:0}
.wf-stb .f small{font-size:9.5px;font-weight:750;color:#8a8fa3}
.wf-stb .f b{font-size:11.5px;font-weight:780;color:#14151d;white-space:nowrap;min-height:15px}
.wf-stb .gv-btn{min-height:38px;padding:6px 8px;font-size:11.5px}
/* 매장 찾기 */
.wf-sf{display:flex;gap:9px;padding:9px;border-radius:14px;border:1px solid #efeff4}
.wf-sf>.ft-ph{flex:none;width:58px;height:74px;border-radius:10px;overflow:hidden}
.wf-sf>.ft-ph img{width:100%;height:100%;object-fit:cover}
.wf-sf>div{flex:1;min-width:0;display:grid;gap:2px}
.wf-sf small{font-size:9.5px;font-weight:800;color:var(--primary)}
.wf-sf b{font-size:12.5px;font-weight:780;color:#14151d}
.wf-sf>div>span{display:flex;align-items:center;gap:4px;font-size:10px;color:#6e7388;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-sf .ac{display:flex;gap:5px;margin-top:4px}
.wf-sf .gv-btn{flex:1;min-height:28px;padding:4px 6px;font-size:10.5px;gap:4px}
/* 영상 링크 미리보기 */
.wf-vp{position:relative;display:grid;height:150px;border-radius:12px;overflow:hidden;background:#f3f3f7;border:1px dashed #dfe1ea}
.wf-vp>*{grid-area:1/1}
.wf-vp .e{display:grid;place-items:center;color:#c3c6d3}
.wf-vp .v{display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(135deg,#17151f,#3a3350);color:#fff;transition:opacity .45s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.wf-vp .v i{display:grid;place-items:center;width:46px;height:32px;border-radius:9px;background:#ff0033}
.wf-vp .v.vimeo i{background:#1ab7ea;border-radius:50%;width:40px;height:40px}
.wf-vp .v i svg{fill:#fff}
.wf-vp .v b{font-size:11.5px;font-weight:700;opacity:.9}
[data-run] .wf-vp .v.gv-at:not(.in){opacity:0;transform:scale(.96)}
/* v343 · 실시간 예약 (담당자 · 날짜 · 시간) */
.wf-aps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wf-aps span{display:grid;justify-items:center;gap:2px;padding:8px 4px 7px;border-radius:12px;border:1px solid #efeff4;background:#fff;transition:border-color .3s,box-shadow .3s}
.wf-aps i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#e4e0ff,#d3defb);color:var(--primary);font-style:normal;font-weight:850;font-size:12px}
.wf-aps b{font-size:11px;font-weight:800;color:#14151d}.wf-aps small{font-size:9px;font-weight:700;color:#8a8fa3}
.wf-aps span.on{border-color:var(--primary);box-shadow:0 0 0 2px rgba(91,75,255,.18)}
.wf-apd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:6px;border-radius:12px;border:1px solid #efeff4}
.wf-apd span{display:grid;justify-items:center;gap:1px;padding:4px 0;border-radius:8px;font-size:11.5px;font-weight:800;color:#14151d;transition:background .3s,color .3s}
.wf-apd small{font-size:8.5px;font-weight:700;color:#8a8fa3}
.wf-apd span.x{color:#c3c6d2;text-decoration:line-through}
.wf-apd span.on{background:var(--primary);color:#fff}.wf-apd span.on small{color:#e5e1ff}
.wf-apt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.wf-apt span{padding:7px 0;border-radius:9px;border:1px solid #ecebf5;background:#fff;text-align:center;font-size:11px;font-weight:800;color:#14151d;transition:background .3s,color .3s,border-color .3s}
.wf-apt span.x{background:#f6f6f9;color:#b5b8c6;text-decoration:line-through}
.wf-apt span.on{background:var(--primary);border-color:var(--primary);color:#fff}
