/* K문의폼 v1.0.0 — 1) 공통 바탕(.jw)  2) 폼(.jw-qf)  3) 스타일 전용 옵션(.kqf-*)
 * 클래스 이름(jw-qf-*)은 위젯팩 v1.5.2 와 같게 유지 → 이미 저장된 페이지·직접 넣은 CSS 가 그대로 맞음 */

/* ── 1. 공통 바탕 (위젯팩 없이도 동작하도록 필요한 것만) ── */
.jw{--jw-brand:#ea4b2c;--jw-ink:#15171c;--jw-ink2:#4a5058;--jw-ink3:#8b939d;--jw-line:#e7eaee;
  --jw-radius:20px;--jw-gap:20px;--jw-lift:4px;--jw-swipe-w:80%;color:var(--jw-ink);line-height:1.6;word-break:keep-all}
.jw *,.jw *::before,.jw *::after{box-sizing:border-box}
.jw-head{margin:0 0 24px}
.jw-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--jw-brand);margin-bottom:6px}
.jw .jw-title{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.3;margin:0;color:var(--jw-ink)}
.jw-sub{margin:6px 0 0;font-size:15px;color:var(--jw-ink3)}
.jw-empty{padding:28px;border:2px dashed #cfd6de;border-radius:14px;text-align:center;color:#8b939d;font-size:14px}

/* ── 2. 폼 ── */
/* Jake 문의폼 (K 주문서)
 * 1) .jw-qf 기본 변수  2) 스킨은 :where() 로 낮은 우선순위 → 위젯 [스타일] 탭 값이 항상 이김  */
.jw-qf{
  --qf-accent:var(--jw-brand,#ea4b2c);--qf-accent2:#f5b83d;--qf-ink:#1d1f24;
  --qf-gx:16px;--qf-gy:20px;
  --qf-box-bg:#fff;--qf-box-bs:solid;--qf-box-bw:1px;--qf-box-bd:#e6e8ec;--qf-box-rad:20px;--qf-box-pad:32px;--qf-box-sh:none;--qf-box-blur:none;
  --qf-ft-c:var(--qf-ink);--qf-ft-font:inherit;--qf-stamp:var(--qf-accent);--qf-stamp-rot:-8deg;
  --qf-lb-c:var(--qf-ink);--qf-req:var(--qf-accent);--qf-lb-gap:8px;
  --qf-in-bg:#fff;--qf-in-bg-f:#fff;--qf-in-bd:#dfe3e8;--qf-in-bd-f:var(--qf-accent);--qf-in-c:var(--qf-ink);--qf-in-ph:#a3aab3;
  --qf-in-bw:1px;--qf-in-rad:10px;--qf-in-h:50px;--qf-in-px:16px;--qf-ta-h:140px;
  --qf-ring:0 0 0 4px color-mix(in srgb,var(--qf-in-bd-f) 16%,transparent);
  --qf-chip-on-bg:var(--qf-accent);--qf-chip-on-c:#fff;
  --qf-tg-bg:color-mix(in srgb,var(--qf-accent2) 24%,#fff);--qf-tg-c:var(--qf-ink);
  --qf-ag-bg:transparent;
  --qf-btn-bg:var(--qf-accent);--qf-btn-c:#fff;--qf-btn-bg-h:color-mix(in srgb,var(--qf-btn-bg) 88%,#000);--qf-btn-c-h:var(--qf-btn-c);
  --qf-btn-bd:transparent;--qf-btn-bw:0px;--qf-btn-h:54px;--qf-btn-px:34px;--qf-btn-rad:12px;
  --qf-btn-sh:none;--qf-btn-sh-h:var(--qf-btn-sh);--qf-btn-sh-p:var(--qf-btn-sh);
  --qf-rc-bg:#fffdf8;--qf-rc-c:var(--qf-ink);--qf-rc-line:color-mix(in srgb,var(--qf-rc-c) 22%,transparent);
  --qf-rc-w:440px;--qf-rc-rad:16px;--qf-rc-em:40px;--qf-rc-st:var(--qf-accent);--qf-rc-st-size:64px;--qf-rc-st-rot:-14deg;--qf-rc-st-op:.85;--qf-err:#d93025}

/* ── 스킨: 레트로 주문서 ── */
:where(.jw-qf-skin-retro) .jw-qf{--qf-accent:#d23a24;--qf-accent2:#f5b83d;--qf-ink:#2b1b15;
  --qf-box-bs:dashed;--qf-box-bw:2.5px;--qf-box-bd:var(--qf-ink);--qf-box-rad:24px;--qf-box-pad:38px 40px;
  --qf-ft-c:var(--qf-accent);--qf-ft-font:'Black Han Sans','Pretendard',sans-serif;
  --qf-in-bd:#e5ddd4;--qf-in-bw:1.5px;--qf-in-h:52px;--qf-in-bd-f:var(--qf-ink);
  --qf-ring:3px 3px 0 var(--qf-accent2);--qf-chip-on-bg:var(--qf-ink);
  --qf-btn-bd:var(--qf-ink);--qf-btn-bw:3px;--qf-btn-rad:999px;--qf-btn-h:58px;--qf-btn-px:40px;
  --qf-btn-sh:4px 4px 0 var(--qf-ink);--qf-btn-sh-h:6px 6px 0 var(--qf-ink);--qf-btn-sh-p:0 0 0 var(--qf-ink);
  --qf-btn-bg-h:var(--qf-accent);--qf-rc-bg:#fff8ea}
/* ── 스킨: 채움형 (앱 느낌) ── */
:where(.jw-qf-skin-soft) .jw-qf{--qf-accent:#3182f6;--qf-ink:#191f28;
  --qf-box-bs:none;--qf-box-rad:28px;--qf-box-pad:36px;--qf-box-sh:0 24px 60px -34px rgba(20,30,60,.35);
  --qf-lb-c:#4e5968;--qf-in-bg:#f2f4f6;--qf-in-bg-f:#fff;--qf-in-bd:#f2f4f6;--qf-in-bw:2px;--qf-in-rad:14px;--qf-in-h:56px;
  --qf-btn-rad:16px;--qf-btn-h:58px;--qf-tg-bg:#f2f4f6;--qf-rc-bg:#f4f6f9}
/* ── 스킨: 밑줄 미니멀 ── */
:where(.jw-qf-skin-line) .jw-qf{--qf-ink:#111;--qf-accent:#111;
  --qf-box-bs:none;--qf-box-bg:transparent;--qf-box-pad:0;--qf-box-rad:0;
  --qf-in-bg:transparent;--qf-in-bg-f:transparent;--qf-in-bd:#cfd3d8;--qf-in-bd-f:#111;--qf-in-bw:1.5px;--qf-in-rad:0;--qf-in-px:0;
  --qf-ring:0 1.5px 0 0 #111;--qf-btn-rad:0;--qf-btn-h:56px;--qf-gy:28px;--qf-tg-bg:#f4f4f4;--qf-rc-bg:#fff}
/* ── 스킨: 글래스 ── */
:where(.jw-qf-skin-glass) .jw-qf{--qf-accent:#7b5cff;--qf-accent2:#ff7ab6;--qf-ink:#1b1740;
  --qf-box-bg:rgba(255,255,255,.55);--qf-box-bs:solid;--qf-box-bd:rgba(255,255,255,.85);--qf-box-rad:30px;
  --qf-box-sh:0 30px 80px -40px rgba(60,40,140,.45);--qf-box-blur:blur(18px) saturate(1.4);
  --qf-in-bg:rgba(255,255,255,.7);--qf-in-bg-f:#fff;--qf-in-bd:rgba(255,255,255,.95);--qf-in-rad:16px;--qf-in-h:54px;
  --qf-btn-rad:999px;--qf-tg-bg:rgba(255,255,255,.65);--qf-rc-bg:rgba(255,255,255,.85);
  --qf-btn-img:linear-gradient(120deg,var(--qf-accent),var(--qf-accent2))}

/* ── 주문서 상자 ── */
.jw-qf .jw-qf-form{position:relative;margin:0;background:var(--qf-box-bg);border:var(--qf-box-bw) var(--qf-box-bs) var(--qf-box-bd);
  border-radius:var(--qf-box-rad);padding:var(--qf-box-pad);box-shadow:var(--qf-box-sh);
  -webkit-backdrop-filter:var(--qf-box-blur);backdrop-filter:var(--qf-box-blur)}
.jw-qf-fhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}
.jw-qf .jw-qf-ftitle{font-family:var(--qf-ft-font);font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.25;letter-spacing:-.01em;color:var(--qf-ft-c);word-break:keep-all}
.jw-qf-femoji{display:inline-block;margin-right:.3em;font-family:initial}
.jw-qf-fdesc{margin:6px 0 0;font-size:14.5px;color:#737a84}
.jw-qf-stamp{flex:0 0 auto;display:inline-block;padding:7px 14px;border:2.5px solid var(--qf-stamp);border-radius:10px;color:var(--qf-stamp);
  font-size:13px;font-weight:900;letter-spacing:.04em;white-space:nowrap;transform:rotate(var(--qf-stamp-rot));opacity:.92;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--qf-stamp) 20%,transparent)}

/* ── 배치: 6칸 격자 (1/3=2, 1/2=3, 2/3=4, 전체=6) ── */
.jw-qf-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--qf-gy) var(--qf-gx);align-items:start}
.jw-qf-w100{grid-column:span 6}.jw-qf-w66{grid-column:span 4}.jw-qf-w50{grid-column:span 3}.jw-qf-w33{grid-column:span 2}
@media (max-width:1024px){.jw-qf-w33{grid-column:span 3}.jw-qf-w66{grid-column:span 6}}
@media (max-width:767px){.jw-qf-grid>*{grid-column:span 6}
  :where(.jw-qf-skin-retro,.jw-qf-skin-soft,.jw-qf-skin-glass) .jw-qf{--qf-box-pad:24px 18px}
  .jw-qf-fhead{margin-bottom:20px}}
.jw-qf-field{min-width:0;display:flex;flex-direction:column}
.jw-qf-t-toggle{align-self:end}

/* ── 항목 이름 ── */
.jw-qf .jw-qf-lb{display:flex;align-items:center;gap:4px;margin:0 0 var(--qf-lb-gap);padding:0;font-size:14.5px;font-weight:700;color:var(--qf-lb-c);line-height:1.4;border:0;white-space:nowrap}
.jw-qf-req{color:var(--qf-req);margin-left:1px}
.jw-qf-tag{display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:4px 6px;border-radius:6px;background:#eef0f3;color:#7b838d;margin-left:3px}
.jw-qf-tag.is-req{background:color-mix(in srgb,var(--qf-req) 13%,#fff);color:var(--qf-req)}
.jw-qf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jw-qf-sec{padding-top:6px;border-top:1.5px dashed color-mix(in srgb,var(--qf-ink) 22%,transparent);margin-top:4px}
.jw-qf-sec strong{display:block;font-size:16px;font-weight:800;color:var(--qf-ink);padding-top:14px}
.jw-qf-sec span{display:block;font-size:13.5px;color:#7b838d;margin-top:2px}

/* ── 입력칸 ── */
.jw-qf-ctl{position:relative}
.jw-qf .jw-qf-in{display:block;width:100%;min-height:var(--qf-in-h);height:var(--qf-in-h);margin:0;padding:0 var(--qf-in-px);
  background:var(--qf-in-bg);color:var(--qf-in-c);border:var(--qf-in-bw) solid var(--qf-in-bd);border-radius:var(--qf-in-rad);
  font-family:inherit;font-size:16px;line-height:1.5;box-shadow:none;outline:none;
  transition:border-color .15s,box-shadow .18s,background .15s,transform .18s;-webkit-appearance:none;appearance:none}
.jw-qf textarea.jw-qf-in{height:var(--qf-ta-h);padding-top:13px;padding-bottom:13px;resize:vertical}
.jw-qf .jw-qf-in::placeholder{color:var(--qf-in-ph);opacity:1}
.jw-qf .jw-qf-in:focus{background:var(--qf-in-bg-f);border-color:var(--qf-in-bd-f);box-shadow:var(--qf-ring)}
:where(.jw-qf-skin-retro) .jw-qf .jw-qf-in:focus{transform:translate(-1px,-1px)}
.jw-qf-ring-ring .jw-qf .jw-qf-in:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--qf-in-bd-f) 16%,transparent);transform:none}
.jw-qf-ring-offset .jw-qf .jw-qf-in:focus{box-shadow:3px 3px 0 var(--qf-accent2);transform:translate(-1px,-1px)}
.jw-qf-ring-none .jw-qf .jw-qf-in:focus{box-shadow:none;transform:none}
:where(.jw-qf-skin-line) .jw-qf .jw-qf-in{border-width:0 0 var(--qf-in-bw)}
.jw-qf-sel::after{content:"";position:absolute;right:calc(var(--qf-in-px) + 4px);top:50%;width:8px;height:8px;margin-top:-6px;
  border:solid var(--qf-in-c);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none;opacity:.6}
:where(.jw-qf-skin-line) .jw-qf-sel::after{right:4px}
.jw-qf-sel select.jw-qf-in{padding-right:calc(var(--qf-in-px) + 26px);cursor:pointer}
.jw-qf-sel select.jw-qf-in:invalid,.jw-qf-sel select.jw-qf-in.is-empty{color:var(--qf-in-ph)}
.jw-qf-t-insta .jw-qf-in{padding-left:calc(var(--qf-in-px) + 20px)}
.jw-qf-pre{position:absolute;left:calc(var(--qf-in-px) + var(--qf-in-bw));top:calc(var(--qf-in-h) / 2);transform:translateY(-52%);
  font-weight:800;color:var(--qf-in-c);opacity:.55;pointer-events:none;z-index:1}
.jw-qf-count{align-self:flex-end;margin-top:5px;font-size:12px;color:#9aa1a9;font-variant-numeric:tabular-nums}
.jw-qf-count.is-full{color:var(--qf-err);font-weight:700}

/* 칸 안에서 떠오르는 이름 */
.jw-qf .is-float .jw-qf-lb{position:absolute;left:calc(var(--qf-in-px) + var(--qf-in-bw));top:calc(var(--qf-in-h) / 2);transform:translateY(-50%);
  margin:0;font-size:15px;font-weight:500;color:var(--qf-in-ph);pointer-events:none;transition:all .16s ease;z-index:1}
.jw-qf .is-float textarea ~ .jw-qf-lb{top:24px}
.jw-qf .is-float .jw-qf-in{padding-top:18px}
.jw-qf .is-float textarea.jw-qf-in{padding-top:28px}
.jw-qf .is-float .jw-qf-in::placeholder{color:transparent}
.jw-qf .is-float .jw-qf-in:focus::placeholder{color:var(--qf-in-ph)}
.jw-qf .is-float .jw-qf-in:focus ~ .jw-qf-lb,.jw-qf .is-float .jw-qf-in:not(:placeholder-shown) ~ .jw-qf-lb{
  top:9px;transform:none;font-size:11.5px;font-weight:700;color:var(--qf-lb-c)}
.jw-qf .is-float.jw-qf-t-insta .jw-qf-lb{left:calc(var(--qf-in-px) + 20px)}
.jw-qf .is-float.jw-qf-t-insta .jw-qf-pre{top:calc(var(--qf-in-h) / 2 + 8px)}

/* 오류 */
.jw-qf .is-bad .jw-qf-in,.jw-qf .is-bad .jw-qf-choice span,.jw-qf .is-bad .jw-qf-toggle{border-color:var(--qf-err)}
.jw-qf .is-bad .jw-qf-in{box-shadow:0 0 0 3px color-mix(in srgb,var(--qf-err) 14%,transparent)}
.jw-qf-err{font-size:13px;color:var(--qf-err);margin-top:6px;line-height:1.4;font-weight:600}
.jw-qf-err:empty{display:none}
.jw-qf .is-bad{animation:jwqf-shake .32s}
@keyframes jwqf-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* ── 고르기 ── */
.jw-qf-set{border:0;margin:0;padding:0;min-width:0}
.jw-qf-choices{display:flex;flex-wrap:wrap;gap:8px}
.jw-qf-choice{position:relative;display:inline-flex;margin:0;cursor:pointer}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice input{position:absolute;opacity:0;width:1px;height:1px}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice span{display:inline-flex;align-items:center;gap:6px;padding:10px 17px;
  border:var(--qf-in-bw) solid var(--qf-in-bd);border-radius:999px;background:var(--qf-in-bg);color:var(--qf-in-c);
  font-size:14.5px;font-weight:600;line-height:1.3;transition:all .15s}
.jw-qf-choice-card .jw-qf-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.jw-qf-choice-card .jw-qf-choice span{width:100%;justify-content:center;border-radius:var(--qf-in-rad);padding:14px 12px;min-height:var(--qf-in-h)}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice:hover span{border-color:var(--qf-ink)}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice input:checked+span{background:var(--qf-chip-on-bg);border-color:var(--qf-chip-on-bg);color:var(--qf-chip-on-c)}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice input:checked+span::before{content:"✓";font-weight:900}
:is(.jw-qf-choice-chip,.jw-qf-choice-card) .jw-qf-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--qf-accent) 40%,transparent);outline-offset:2px}
.jw-qf-choice-plain .jw-qf-choices{flex-direction:column;gap:6px}
.jw-qf-choice-plain .jw-qf-choice{align-items:center;gap:8px;font-size:15px}
.jw-qf-choice-plain .jw-qf-choice input{accent-color:var(--qf-accent);width:18px;height:18px;margin:0}

/* ── 강조 체크 (릴스 관심 있어요) ── */
.jw-qf-toggle{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--qf-in-h);margin:0;padding:10px 16px;cursor:pointer;
  background:var(--qf-tg-bg);color:var(--qf-tg-c);border:var(--qf-in-bw) solid transparent;border-radius:var(--qf-in-rad);transition:all .15s}
.jw-qf-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.jw-qf-tg-ui{flex:0 0 auto;position:relative;width:22px;height:22px;border:2px solid var(--qf-ink);border-radius:6px;background:#fff;transition:all .15s}
.jw-qf-toggle input:checked+.jw-qf-tg-ui{background:var(--qf-accent);border-color:var(--qf-accent)}
.jw-qf-toggle input:checked+.jw-qf-tg-ui::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.jw-qf-tg-switch .jw-qf-tg-ui{width:42px;height:24px;border-radius:999px;border-width:0;background:#cfd4da}
.jw-qf-tg-switch .jw-qf-tg-ui::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s}
.jw-qf-tg-switch .jw-qf-toggle input:checked+.jw-qf-tg-ui::after{left:3px;top:3px;width:18px;height:18px;border:0;transform:translateX(18px)}
.jw-qf-toggle input:focus-visible+.jw-qf-tg-ui{outline:3px solid color-mix(in srgb,var(--qf-accent) 40%,transparent);outline-offset:2px}
.jw-qf-tg-txt{display:flex;flex-direction:column;min-width:0}
.jw-qf-tg-txt b{font-size:15px;font-weight:700;line-height:1.35}
.jw-qf-tg-txt small{font-size:12.5px;opacity:.7;margin-top:1px}
.jw-qf-toggle:has(input:checked){border-color:var(--qf-accent2)}

/* ── 개인정보 동의 ── */
.jw-qf-agree{margin-top:calc(var(--qf-gy) + 4px);padding:0;background:var(--qf-ag-bg);border-radius:12px;font-size:14.5px;color:#4a5058}
.jw-qf-agree-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.jw-qf-check{display:inline-flex;align-items:center;gap:9px;margin:0;cursor:pointer;font-weight:600;color:var(--qf-ink)}
.jw-qf-check input{flex:0 0 auto;width:19px;height:19px;margin:0;accent-color:var(--qf-accent)}
.jw-qf-more-btn,.jw-qf-more summary{padding:0;border:0;background:none;font:inherit;font-size:13.5px;color:#737a84;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;white-space:nowrap;list-style:none}
.jw-qf-more summary::-webkit-details-marker{display:none}
.jw-qf-more{margin:6px 0 0 28px}
.jw-qf-agree.is-inline .jw-qf-policy{margin:10px 0 0 28px}
.jw-qf-policy{font-size:13px;line-height:1.6;color:#4a5058}
.jw-qf-more .jw-qf-policy{margin-top:8px}
.jw-qf-policy table{width:100%;border-collapse:collapse;margin:0;background:#fff;border-radius:8px;overflow:hidden}
.jw-qf-policy th,.jw-qf-policy td{border:1px solid #e7eaee;padding:8px 11px;text-align:left;vertical-align:top;font-size:inherit}
.jw-qf-policy th{width:84px;background:#fafbfc;font-weight:700;white-space:nowrap}
.jw-qf-policy p{margin:8px 0 0;color:#737a84}
.jw-qf-agree.is-bad .jw-qf-check{color:var(--qf-err)}
.jw-qf-agree .jw-qf-err{margin-left:28px}
/* 팝업 */
.jw-qf-dialog{width:min(480px,calc(100vw - 32px));padding:0;border:0;border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.4);color:#1d1f24}
.jw-qf-dialog::backdrop{background:rgba(15,17,22,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.jw-qf-dialog[open]{animation:jwqf-pop .22s cubic-bezier(.2,.8,.3,1.2)}
.jw-qf-dialog-in{padding:22px 22px 20px}
.jw-qf-dialog-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:17px}
.jw-qf-x{border:0;background:#f1f3f5;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:14px;color:#555;padding:0}
.jw-qf-agree-ok{display:block;width:100%;margin-top:16px;height:50px;border:0;border-radius:12px;background:var(--qf-accent,#ea4b2c);color:#fff;font:inherit;font-weight:800;font-size:15px;cursor:pointer}
@keyframes jwqf-pop{from{opacity:0;transform:translateY(12px) scale(.97)}}

/* ── 버튼 ── */
.jw-qf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:calc(var(--qf-gy) + 8px)}
.jw-qf .jw-qf-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--qf-btn-h);
  padding:0 var(--qf-btn-px);border:var(--qf-btn-bw) solid var(--qf-btn-bd);border-radius:var(--qf-btn-rad);
  background:var(--qf-btn-bg);background-image:var(--qf-btn-img,none);color:var(--qf-btn-c);box-shadow:var(--qf-btn-sh);
  font-family:var(--qf-ft-font);font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.2;cursor:pointer;
  transition:background .15s,color .15s,transform .15s,box-shadow .15s}
:where(.jw-qf-skin-soft,.jw-qf-skin-line,.jw-qf-skin-glass) .jw-qf .jw-qf-btn{font-family:inherit;font-size:16.5px}
.jw-qf .jw-qf-btn:hover,.jw-qf .jw-qf-btn:focus-visible{background:var(--qf-btn-bg-h);color:var(--qf-btn-c-h)}
.jw-qf .jw-qf-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--qf-accent) 40%,transparent);outline-offset:3px}
.jw-qf-bic{display:inline-flex;font-size:.9em;transition:transform .2s}
.jw-qf-bic svg{width:1em;height:1em;fill:currentColor}
.jw-qf-bnote{font-size:13.5px;color:#7b838d}
.jw-qf-bw-full .jw-qf-actions{flex-direction:column;align-items:stretch}
.jw-qf-bw-full .jw-qf-btn{width:100%}
.jw-qf-bw-full .jw-qf-bnote{text-align:center}
/* 모양 효과 */
.jw-qf-bfx-stamp .jw-qf{--qf-btn-bw:3px;--qf-btn-bd:var(--qf-ink);--qf-btn-sh:4px 4px 0 var(--qf-ink);--qf-btn-sh-h:6px 6px 0 var(--qf-ink);--qf-btn-sh-p:0 0 0 var(--qf-ink)}
.jw-qf-bfx-flat .jw-qf{--qf-btn-sh:none;--qf-btn-sh-h:none;--qf-btn-sh-p:none}
.jw-qf-bfx-glow .jw-qf{--qf-btn-sh:0 12px 30px -10px var(--qf-btn-bg);--qf-btn-sh-h:0 16px 36px -10px var(--qf-btn-bg);--qf-btn-sh-p:0 6px 16px -8px var(--qf-btn-bg)}
.jw-qf-bfx-gradient .jw-qf{--qf-btn-img:linear-gradient(120deg,var(--qf-accent),var(--qf-accent2))}
.jw-qf .jw-qf-btn:hover{filter:saturate(1.08)}
/* 마우스오버 동작 */
.jw-qf-bh-lift .jw-qf .jw-qf-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--qf-btn-sh-h)}
.jw-qf-bh-press .jw-qf .jw-qf-btn:hover{transform:translate(3px,3px);box-shadow:var(--qf-btn-sh-p)}
.jw-qf-bh-wiggle .jw-qf .jw-qf-btn:hover{animation:jwqf-wiggle .45s}
.jw-qf-bh-arrow .jw-qf .jw-qf-btn:hover .jw-qf-bic{transform:translateX(5px) rotate(-8deg)}
.jw-qf .jw-qf-btn:active{transform:translate(3px,3px);box-shadow:var(--qf-btn-sh-p)}
@keyframes jwqf-wiggle{20%{transform:rotate(-3deg)}40%{transform:rotate(3deg)}60%{transform:rotate(-2deg)}80%{transform:rotate(1deg)}}
.jw-qf .jw-qf-btn[disabled]{opacity:.7;cursor:wait;transform:none}
.jw-qf .jw-qf-btn.is-busy .jw-qf-bic{display:none}
.jw-qf .jw-qf-btn.is-busy::before{content:"";width:17px;height:17px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:jwqf-spin .7s linear infinite}
@keyframes jwqf-spin{to{transform:rotate(360deg)}}

/* ── 메시지 · 완료 영수증 ── */
.jw-qf-msg{margin-top:14px;font-size:15px;line-height:1.6}
.jw-qf-msg:empty{display:none}
.jw-qf-msg.is-err{color:var(--qf-err);font-weight:600}
.jw-qf-msg.is-ok{padding:16px 18px;border-radius:12px;background:#edf9f0;color:#17692c;font-weight:600}
.jw-qf-form.is-done .jw-qf-grid,.jw-qf-form.is-done .jw-qf-agree,.jw-qf-form.is-done .jw-qf-actions{display:none}
.jw-qf-form.is-done .jw-qf-msg{margin-top:0}
.jw-qf-msg.is-rc{padding:0;background:none}
.jw-qf-rc{--qf-rc-edge:10px;position:relative;max-width:var(--qf-rc-w);margin:4px auto calc(var(--qf-rc-edge) + 8px);padding:28px 26px 26px;
  background:var(--qf-rc-bg);color:var(--qf-rc-c);border-radius:var(--qf-rc-rad) var(--qf-rc-rad) 0 0;box-shadow:0 18px 40px -26px rgba(0,0,0,.4);
  font-variant-numeric:tabular-nums;text-align:left;animation:jwqf-print .55s cubic-bezier(.2,.8,.2,1)}
.jw-qf-rc:focus{outline:none}
.jw-qf-rc.no-print{animation:jwqf-fade .25s ease}
@keyframes jwqf-print{from{opacity:0;transform:translateY(-18px);clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(-40px -40px -40px -40px)}}
@keyframes jwqf-fade{from{opacity:0}}
/* 아래 끝 모양 */
.jw-qf-rc::after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--qf-rc-edge);background-repeat:repeat-x}
.jw-qf-rc.edge-zigzag::after{background:linear-gradient(-45deg,transparent 7px,var(--qf-rc-bg) 0) 0 0/14px 10px repeat-x,linear-gradient(45deg,transparent 7px,var(--qf-rc-bg) 0) 0 0/14px 10px repeat-x}
.jw-qf-rc.edge-wave::after{background:radial-gradient(circle at 10px 0,var(--qf-rc-bg) 9.5px,transparent 10px) 0 0/20px 10px repeat-x}
.jw-qf-rc.edge-none,.jw-qf-rc.edge-ticket{border-radius:var(--qf-rc-rad);margin-bottom:12px}
.jw-qf-rc.edge-none::after{display:none}
.jw-qf-rc.edge-none .jw-qf-rc-top{border-bottom:1px solid var(--qf-rc-line)}
.jw-qf-rc.edge-none .jw-qf-rc-msg{border-top:1px solid var(--qf-rc-line)}
.jw-qf-rc.edge-none{box-shadow:0 12px 32px -22px rgba(0,0,0,.35)}
.jw-qf-rc.edge-ticket::after{display:none}
.jw-qf-rc.edge-ticket{-webkit-mask:radial-gradient(circle 12px at 0 var(--qf-rc-cut,50%),transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--qf-rc-cut,50%),transparent 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 12px at 0 var(--qf-rc-cut,50%),transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--qf-rc-cut,50%),transparent 98%,#000) right/51% 100% no-repeat}
/* 윗부분 */
.jw-qf-rc-top{padding-bottom:18px;border-bottom:2px dashed var(--qf-rc-line);text-align:center}
.jw-qf-rc.al-left .jw-qf-rc-top{text-align:left;padding-right:80px}
.jw-qf-rc-emoji{display:block;font-size:var(--qf-rc-em);line-height:1;margin-bottom:10px}
.jw-qf .jw-qf-rc-title{font-family:var(--qf-ft-font);font-size:24px;font-weight:800;color:var(--qf-rc-c);line-height:1.3;word-break:keep-all}
.jw-qf-rc-no{margin-top:6px;font-size:13px;opacity:.6;letter-spacing:.04em}
/* 내역 */
.jw-qf-rc-sec{padding-top:14px}
.jw-qf-rc-lt{font-size:12px;font-weight:800;letter-spacing:.12em;opacity:.55;margin-bottom:4px}
.jw-qf-rc-list{margin:0;padding:0}
.jw-qf-rc-list div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:14px}
.jw-qf-rc-list dt{opacity:.6;white-space:nowrap}
.jw-qf-rc-list dd{margin:0;font-weight:700;text-align:right;word-break:break-all}
.jw-qf-rc-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:12px;padding-top:12px;border-top:2px solid var(--qf-rc-c);font-size:15px;font-weight:700}
.jw-qf-rc-total b{font-size:20px;font-weight:900;color:var(--qf-accent)}
.jw-qf-rc-msg{margin:16px 0 0;padding-top:16px;border-top:2px dashed var(--qf-rc-line);text-align:center;font-size:14.5px;font-weight:600;line-height:1.6}
.jw-qf-rc-foot{margin:12px 0 0;text-align:center;font-size:12px;opacity:.55}
/* 바코드 */
.jw-qf-rc-bar{margin:18px auto 0;text-align:center}
.jw-qf-rc-bar i{display:block;height:44px;max-width:240px;margin:0 auto;
  background:repeating-linear-gradient(90deg,var(--qf-rc-c) 0 2px,transparent 2px 4px,var(--qf-rc-c) 4px 5px,transparent 5px 8px,var(--qf-rc-c) 8px 11px,transparent 11px 12px,var(--qf-rc-c) 12px 13px,transparent 13px 16px)}
.jw-qf-rc-bar span{display:block;margin-top:4px;font-size:11px;letter-spacing:.35em;opacity:.7}
/* 도장 */
.jw-qf-rc-stamp{position:absolute;display:grid;place-items:center;color:var(--qf-rc-st);font-size:calc(var(--qf-rc-st-size) * .21);font-weight:900;
  line-height:1.1;text-align:center;word-break:keep-all;opacity:0;transform:rotate(var(--qf-rc-st-rot));animation:jwqf-stamp .35s .45s forwards;z-index:2;pointer-events:none}
.jw-qf-rc-stamp.pos-rt{right:18px;top:18px}.jw-qf-rc-stamp.pos-lt{left:18px;top:18px}.jw-qf-rc-stamp.pos-rb{right:18px;bottom:18px}
.jw-qf-rc-stamp.st-circle{width:var(--qf-rc-st-size);height:var(--qf-rc-st-size);border:2.5px solid currentColor;border-radius:50%;
  box-shadow:inset 0 0 0 3px var(--qf-rc-bg),inset 0 0 0 4.5px currentColor}
.jw-qf-rc-stamp.st-square{width:var(--qf-rc-st-size);height:var(--qf-rc-st-size);border:3px solid currentColor;border-radius:6px;
  box-shadow:inset 0 0 0 3px var(--qf-rc-bg),inset 0 0 0 4.5px currentColor}
.jw-qf-rc-stamp.st-ribbon{padding:6px 16px;border:2.5px solid currentColor;border-radius:4px;font-size:calc(var(--qf-rc-st-size) * .23);letter-spacing:.1em}
.jw-qf-rc.no-stamp-anim .jw-qf-rc-stamp{animation:none;opacity:var(--qf-rc-st-op)}
@keyframes jwqf-stamp{from{opacity:0;transform:rotate(var(--qf-rc-st-rot)) scale(1.9)}to{opacity:var(--qf-rc-st-op);transform:rotate(var(--qf-rc-st-rot)) scale(1)}}
.jw-qf-again{display:block;margin:14px auto 0;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:13.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.jw-qf-note{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#fff8e1;color:#7a5a00;font-size:13px}
.jw-qf-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

@media (prefers-reduced-motion:reduce){.jw-qf *{transition:none!important;animation:none!important}.jw-qf-rc-stamp{opacity:var(--qf-rc-st-op)}}

/* ── 3. 스타일 위젯 전용 옵션 ── */
.kqf{position:relative}
/* 레트로: 제목 글꼴 끄기 */
.kqf-nofont .jw-qf{--qf-ft-font:inherit}

/* 앱 스타일: 모바일에서 보내기 버튼 아래 고정 */
@media (max-width:767px){
  .kqf-sticky .jw-qf-actions{position:sticky;bottom:0;z-index:5;margin-left:-4px;margin-right:-4px;
    padding:18px 4px calc(12px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(to top,var(--kqf-sticky-bg,#fff) 72%,color-mix(in srgb,var(--kqf-sticky-bg,#fff) 0%,transparent))}
  .kqf-sticky .jw-qf-actions .jw-qf-btn{width:100%}
}

/* 미니멀: 항목 번호 */
.kqf-num .jw-qf-grid{counter-reset:kqfn}
.kqf-num .jw-qf-field{counter-increment:kqfn}
.kqf-num .jw-qf-field .jw-qf-lb::before{content:counter(kqfn,decimal-leading-zero);display:inline-block;min-width:1.9em;
  font-size:.78em;font-weight:600;letter-spacing:.04em;color:var(--kqf-num-c,#9aa1a9);font-variant-numeric:tabular-nums}
.kqf-num .jw-qf-t-toggle .jw-qf-tg-txt b::before{content:counter(kqfn,decimal-leading-zero);display:inline-block;min-width:1.9em;
  font-size:.78em;font-weight:600;color:var(--kqf-num-c,#9aa1a9)}

/* 글래스: 뒤 배경 빛 방울 */
.kqf-blobs{isolation:isolate;overflow:clip;padding:4px}
.kqf-blobs::before,.kqf-blobs::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(46px);opacity:.55;pointer-events:none}
.kqf-blobs::before{width:46%;aspect-ratio:1;left:-6%;top:-4%;background:var(--kqf-blob1,#7b5cff)}
.kqf-blobs::after{width:42%;aspect-ratio:1;right:-4%;bottom:-6%;background:var(--kqf-blob2,#ff7ab6)}

/* 예약 날짜 안내 */
.jw-qf .jw-qf-bknote{display:block;margin-top:6px;font-size:12.5px;color:#8b939d;line-height:1.5}
