/* cdu-pass.css — 트립 패스 · 결제 · 방문 준비 패키지 · 설문 · 추천 원칙 화면. 기존 테마 변수(--blue 등)를 따른다.
 * 되돌리기: index.html 에서 cdu-pass.css / cdu-qr.js / cdu-pass.js 세 줄을 지우면 된다. */
.cdup-page{position:fixed;inset:0;z-index:9995;background:var(--bg,#fbf6f7);overflow:auto;-webkit-overflow-scrolling:touch;color:var(--ink,#2a1a20);font-family:inherit}
.cdup-wrap{max-width:520px;margin:0 auto;padding:18px 18px 56px;box-sizing:border-box}
.cdup-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cdup-top .cdup-x{width:40px;height:40px;border:none;background:none;font-size:26px;line-height:1;color:var(--muted,#8a7a80);cursor:pointer;border-radius:10px}
.cdup-top .cdup-x:hover{background:rgba(192,72,108,.08)}
.cdup-eyebrow{font-family:"Gloock",Georgia,serif;letter-spacing:.14em;font-size:13px;color:var(--blue,#c0486c)}
.cdup-h1{font-size:25px;line-height:1.3;margin:6px 0 8px;font-weight:650;letter-spacing:-.3px}
html[lang=ko] .cdup-h1{font-family:"Noto Serif KR",serif}
.cdup-sub{color:var(--muted,#7a6a70);font-size:14.5px;line-height:1.65;margin:0 0 16px}
.cdup-card{background:#fff;border:1px solid var(--line,#e6d5da);border-radius:16px;padding:16px 16px 14px;margin:12px 0}
.cdup-card h2{font-size:15px;margin:0 0 8px;font-weight:650}
.cdup-ul{margin:8px 0 0;padding:0;list-style:none}
.cdup-ul li{position:relative;padding:5px 0 5px 22px;font-size:14px;line-height:1.55}
.cdup-ul li:before{content:"";position:absolute;left:3px;top:11px;width:9px;height:5px;border-left:2px solid var(--blue,#c0486c);border-bottom:2px solid var(--blue,#c0486c);transform:rotate(-45deg)}
.cdup-price{display:flex;align-items:baseline;gap:8px;margin:6px 0 2px}
.cdup-price b{font-size:30px;font-weight:700;letter-spacing:-.5px}
.cdup-price small{color:var(--muted,#8a7a80);font-size:13px}
.cdup-methods{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}
.cdup-method{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--line,#e6d5da);border-radius:12px;background:#fff;cursor:pointer;font-size:14.5px}
.cdup-method input{accent-color:var(--blue,#c0486c)}
.cdup-method.on{border-color:var(--blue,#c0486c);background:var(--soft,#fff7f9)}
.cdup-method .cur{margin-left:auto;color:var(--muted,#8a7a80);font-size:12.5px}
.cdup-btn{display:block;width:100%;height:50px;border:none;border-radius:14px;background:var(--blue,#c0486c);color:#fff;font-size:15.5px;font-weight:650;cursor:pointer;margin-top:12px}
.cdup-btn[disabled]{opacity:.5;cursor:default}
.cdup-btn.alt{background:#fff;color:var(--blue,#c0486c);border:1px solid var(--blue,#c0486c)}
.cdup-btn.ghost{background:none;color:var(--muted,#8a7a80);border:1px solid var(--line,#e6d5da);height:42px;font-weight:500}
.cdup-note{font-size:12.5px;line-height:1.65;color:var(--muted,#8a7a80);margin:10px 2px 0}
.cdup-note a,.cdup-link{color:var(--blue,#c0486c);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font:inherit}
.cdup-err{color:#b3261e;font-size:13px;min-height:18px;margin-top:8px}
.cdup-kv{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:5px 0}
.cdup-kv span:first-child{color:var(--muted,#8a7a80)}
.cdup-tag{display:inline-block;font-size:12px;padding:2px 9px;border-radius:999px;background:var(--soft,#fff7f9);color:var(--blue,#c0486c);border:1px solid #f3d7e0;margin-left:6px;font-weight:600}
.cdup-order{border-top:1px solid var(--line,#f0e4e8);padding:10px 0 2px;font-size:13.5px}
.cdup-order:first-of-type{border-top:none}
.cdup-qr{text-align:center;padding:6px 0 2px}
.cdup-qr svg{width:224px;height:224px;border:1px solid var(--line,#e6d5da);border-radius:12px;background:#fff}
.cdup-spin{width:34px;height:34px;border:3px solid #f0d9e0;border-top-color:var(--blue,#c0486c);border-radius:50%;margin:18px auto;animation:cdupspin 1s linear infinite}
@keyframes cdupspin{to{transform:rotate(360deg)}}
.cdup-center{text-align:center}
.cdup-ok{font-size:44px;line-height:1;margin:18px 0 6px;color:var(--blue,#c0486c)}
/* 대화창 위 배지 */
.cdup-badge{display:inline-flex;align-items:center;gap:6px;margin:4px 0 6px;padding:4px 11px;border-radius:999px;font-size:12.5px;background:var(--soft,#fff7f9);color:var(--blue,#c0486c);border:1px solid #f3d7e0;cursor:pointer}
/* 하단 안내 카드(한도·로그인·일정 저장 뒤 제안) */
.cdup-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:9994;width:min(440px,calc(100vw - 28px));background:#fff;border:1px solid var(--line,#e6d5da);border-radius:16px;box-shadow:0 12px 36px rgba(36,27,33,.18);padding:14px 14px 12px;box-sizing:border-box}
.cdup-toast p{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ink,#2a1a20)}
.cdup-toast .row{display:flex;gap:8px}
.cdup-toast button{flex:1;height:40px;border-radius:12px;font-size:14px;cursor:pointer}
.cdup-toast .go{border:none;background:var(--blue,#c0486c);color:#fff;font-weight:650}
.cdup-toast .no{border:1px solid var(--line,#e6d5da);background:#fff;color:var(--muted,#8a7a80)}
/* 설문 */
.cdup-chips{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 4px}
.cdup-chip{padding:8px 13px;border:1px solid var(--line,#e6d5da);border-radius:999px;background:#fff;font-size:14px;cursor:pointer;color:var(--ink,#3a2a30)}
.cdup-chip.on{background:var(--blue,#c0486c);border-color:var(--blue,#c0486c);color:#fff}
.cdup-q{margin:16px 0 0}.cdup-q>b{display:block;font-size:14.5px;margin-bottom:2px}
.cdup-page textarea{width:100%;box-sizing:border-box;min-height:70px;border:1px solid var(--line,#e6d5da);border-radius:12px;padding:10px 12px;font:inherit;font-size:14px;margin-top:6px;resize:vertical}
/* 방문 준비 패키지 */
.cdup-q-item{padding:9px 0;border-top:1px solid var(--line,#f0e4e8);font-size:14.5px;line-height:1.55}
.cdup-q-item:first-child{border-top:none}
.cdup-q-item .ko{display:block;margin-top:3px;font-size:13px;color:var(--muted,#8a7a80)}
.cdup-sec-title{font-size:15.5px;font-weight:650;margin:0 0 6px}
.cdup-lang{display:flex;gap:6px;margin:4px 0 10px}
.cdup-lang button{padding:5px 11px;border:1px solid var(--line,#e6d5da);border-radius:999px;background:#fff;font-size:12.5px;cursor:pointer}
.cdup-lang button.on{background:var(--blue,#c0486c);border-color:var(--blue,#c0486c);color:#fff}
@media print{
  body>*:not(#cdu-prep){display:none!important}
  #cdu-prep{position:static!important;overflow:visible!important}
  #cdu-prep .cdup-noprint{display:none!important}
  #cdu-prep .cdup-card{border:none;padding:6px 0;break-inside:avoid}
}
/* 잔액 · 충전 화면 */
.cdup-balance b{font-size:34px}
.cdup-amounts{margin:4px 0 8px}
.cdup-field{display:block;margin-top:6px;font-size:13px;color:var(--muted,#8a7a80)}
.cdup-field span{display:block;margin-bottom:5px}
.cdup-amount{width:100%;box-sizing:border-box;height:46px;border:1px solid var(--line,#e6d5da);border-radius:12px;padding:0 13px;font:inherit;font-size:17px;color:var(--ink,#2a1a20);background:#fff}
.cdup-amount:focus{outline:none;border-color:var(--blue,#c0486c)}

/* 잔액·충전 화면 전용 표시 서체 — Sora(디지털·모던 기하 산스, 또렷한 정렬 숫자). 쓰는 글리프가 있을 때만 내려받고(지연 로드), 실패하면 앱 기본 산스로 대체된다. 한·중 글자는 앱 서체를 그대로 쓴다. */
@font-face{font-family:"CDU Digital";font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/sora@5.1.0/files/sora-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"CDU Digital";font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/sora@5.1.0/files/sora-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"CDU Digital";font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/sora@5.1.0/files/sora-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"CDU Digital";font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/sora@5.1.0/files/sora-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* 원(₩) 기호만 Noto Sans KR 의 깔끔한 글리프로 쓴다 — 큰 글자에서 이중 가로선이 뭉개지지 않게(U+20A9 한 글자만 내려받는다). */
@font-face{font-family:"CDU Won";font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/noto-sans-kr@5.1.0/files/noto-sans-kr-103-600-normal.woff2) format("woff2");unicode-range:U+20A9}
@font-face{font-family:"CDU Won";font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/noto-sans-kr@5.1.0/files/noto-sans-kr-103-700-normal.woff2) format("woff2");unicode-range:U+20A9}
/* ===== 잔액 · 충전 — 사용자 시안(플럼 히어로 + 곡선 + 흰 시트) =====
 * 장식(그라데이션·빛무리·곡선)은 히어로 배경에만 두고, 금액은 단색·고대비·탭 숫자로 또렷하게 둔다. */
.cdup-page.cdup-wallet{--w-display:"CDU Won","CDU Digital",var(--w-body,sans-serif);background:#fdfafb;--w-ink:#2a1e30;--w-mute:#857a8b;--w-rose:#c2426a;--w-tint:#fdecf2;--w-line:#e9dfe6}
.cdup-wallet .cdup-wrap{position:relative;padding:0 0 56px;max-width:520px}
.cdup-wallet .cdup-top{position:absolute;top:0;left:0;right:0;z-index:3;padding:14px 20px 0;margin:0}
.cdup-wallet .cdup-eyebrow{font-size:22px;letter-spacing:.22em;color:#e47ea1}
.cdup-wallet .cdup-top .cdup-x{color:#fff;font-size:34px;width:46px;height:46px}
.cdup-wallet .cdup-top .cdup-x:hover{background:rgba(255,255,255,.12)}
.cdupw-hero{position:relative;overflow:hidden;color:#fff;padding:68px 24px 76px;
  background:radial-gradient(90% 70% at 100% 0%,rgba(190,70,120,.55) 0%,rgba(190,70,120,0) 62%),radial-gradient(70% 60% at 0% 100%,rgba(90,40,100,.4) 0%,rgba(90,40,100,0) 60%),linear-gradient(170deg,#2c1632 0%,#331a3a 52%,#43203f 100%)}
.cdupw-arcs{position:absolute;right:0;top:0;width:62%;max-width:320px;pointer-events:none}
.cdupw-arcs svg{display:block;width:100%;height:auto}
.cdupw-h1{position:relative;margin:30px 0 8px;font-size:30px;line-height:1.25;font-weight:750;letter-spacing:-.4px;color:#fff}
.cdupw-hsub{position:relative;margin:0 0 30px;font-size:15px;color:#e8d6e3}
.cdupw-label{position:relative;font-size:13.5px;color:#d9c6d6;margin-bottom:6px}
html .cdup-l-en .cdupw-label{text-transform:uppercase;letter-spacing:.16em;font-size:12.5px}
.cdupw-amount{position:relative;font-size:56px;line-height:1.1;font-weight:800;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 2px 14px rgba(220,100,150,.28)}
.cdupw-pill{position:relative;display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:11px 20px;border-radius:999px;font-size:15px;color:#f6e9f2;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}
.cdupw-pi{display:inline-flex;color:#f1d6e6}
.cdupw-wave{position:absolute;left:0;right:0;bottom:-1px;height:62px;display:block;pointer-events:none}
.cdupw-wave svg{display:block;width:100%;height:100%;fill:#fdfafb}
.cdupw-sheet{padding:6px 20px 0}
.cdupw-free{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:#fdeef3;margin:4px 0 26px}
.cdupw-dot svg{stroke:#c2426a}
.cdupw-dot{flex:none;width:46px;height:46px;border-radius:50%;background:#f9d4e1;color:var(--w-rose);display:grid;place-items:center}
.cdupw-free b{display:block;font-size:17px;color:var(--w-ink);margin-bottom:3px}
.cdupw-free span{font-size:14px;color:#6c5f73}
.cdupw-sec{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 12px}
.cdupw-sec h2{margin:0;font-size:19px;font-weight:750;color:var(--w-ink)}
.cdupw-cur{font-size:13.5px;color:var(--w-mute)}
.cdupw-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px}
.cdupw-tile{position:relative;height:60px;border-radius:15px;border:1.5px solid var(--w-line);background:#fff;font:inherit;font-size:16.5px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--w-ink);cursor:pointer;padding:0}
.cdupw-tile.on{background:var(--w-tint);border-color:var(--w-rose);color:var(--w-rose)}
.cdupw-tick{position:absolute;top:-9px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--w-rose);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px #fdfafb}
.cdupw-lbl{display:block;font-size:15px;color:#4a3d52;margin:4px 0 9px}
.cdupw-field{display:flex;align-items:center;height:58px;border:1.5px solid var(--w-line);border-radius:15px;background:#fff;padding:0 18px;gap:14px}
.cdupw-field:focus-within{border-color:var(--w-rose)}
.cdupw-isym{font-size:22px;font-weight:700;color:var(--w-ink)}
.cdupw-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--w-ink)}
.cdupw-input::placeholder{color:#b3a8b9;font-weight:400}
.cdupw-min{margin:9px 2px 24px;font-size:13.5px;color:var(--w-mute)}
.cdupw-methods{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.cdupw-method{position:relative;display:flex;align-items:center;gap:14px;padding:20px 20px;border-radius:15px;border:1.5px solid var(--w-line);background:#fff;font-size:17px;color:var(--w-ink);cursor:pointer}
.cdupw-method input{position:absolute;opacity:0;pointer-events:none}
.cdupw-method .dot{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid #cfc3d4;background:#fff;box-sizing:border-box}
.cdupw-method.on{border-color:var(--w-rose);background:#fff8fb}
.cdupw-method.on .dot{border:7px solid var(--w-rose);background:#fff}
.cdupw-method .nm{font-weight:600}
.cdupw-method .tag{padding:5px 13px;border-radius:999px;font-size:13px;background:#fbdce8;color:var(--w-rose)}
.cdupw-method .cur{margin-left:auto;font-size:14px;color:var(--w-mute)}
.cdupw-total{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 14px;padding-top:20px;border-top:1px solid var(--w-line);font-size:17px;color:#4a3d52}
.cdupw-total b{font-size:23px;font-weight:800;color:var(--w-ink);font-variant-numeric:tabular-nums}
.cdupw-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:62px;border:none;border-radius:15px;font:inherit;font-size:18px;font-weight:700;color:#fff;cursor:pointer;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#cb4b73 0%,#b73c63 100%);box-shadow:0 10px 22px rgba(183,60,99,.28)}
.cdupw-cta[disabled]{opacity:.5;cursor:default;box-shadow:none}
.cdupw-lock{display:inline-flex}
.cdupw-notice{margin:16px 6px 4px;text-align:center;font-size:14px;line-height:1.7;color:#7d7184}
.cdupw-center{text-align:center}
.cdupw-hist{display:flex;justify-content:space-between;padding:9px 2px;font-size:14.5px;color:var(--w-mute)}
.cdupw-hist b{color:var(--w-ink)}
.cdup-wallet .cdup-note{color:var(--w-mute)}
.cdup-wallet .cdup-err{margin-top:10px}
@media (max-width:380px){.cdupw-tiles{gap:7px}.cdupw-tile{font-size:15px}.cdupw-amount{font-size:48px}}

.cdupw-h1,.cdupw-amount,.cdupw-sec h2,.cdupw-free b,.cdupw-tile,.cdupw-total b,.cdupw-isym,.cdupw-input,.cdupw-hist b{font-family:var(--w-display)}
.cdupw-h1{font-weight:700;letter-spacing:-.6px;font-size:29px}
.cdupw-amount{font-weight:700;letter-spacing:-1.6px;font-size:50px;font-feature-settings:"tnum" 1}
.cdupw-sec h2{font-weight:700;font-size:18.5px;letter-spacing:-.3px}
.cdupw-free b{font-weight:700;font-size:16.5px}
.cdupw-tile{font-weight:600;font-size:15.5px;letter-spacing:-.4px;font-feature-settings:"tnum" 1}
.cdupw-total b{font-weight:700;font-size:22px;letter-spacing:-.6px;font-feature-settings:"tnum" 1}
.cdupw-isym{font-weight:600}
.cdupw-input{font-weight:600;font-size:18px;letter-spacing:-.3px;font-feature-settings:"tnum" 1}
.cdupw-input::placeholder{font-family:var(--w-body,sans-serif);font-weight:400;letter-spacing:0}
.cdupw-hist b{font-weight:600}
@media (max-width:380px){.cdupw-amount{font-size:42px}.cdupw-tile{font-size:14px}}
/* 결제 대기·완료·실패 — 같은 시안 톤 */
.cdupw-hero.small{padding:68px 24px 62px}
.cdupw-hero.small .cdupw-hsub{margin-bottom:6px}
.cdupw-qrbox{margin:6px 0 4px;padding:26px 18px 22px;border-radius:22px;background:#fff;border:1.5px solid var(--w-line);text-align:center;box-shadow:0 14px 30px rgba(60,38,80,.08)}
.cdupw-qrbox .cdup-qr svg{width:224px;height:224px;border:1px solid var(--w-line);border-radius:14px;background:#fff}
.cdupw-spin{width:34px;height:34px;margin:18px auto 6px;border:3px solid #f3d9e4;border-top-color:var(--w-rose);border-radius:50%;animation:cdupspin 1s linear infinite}
.cdupw-wait{margin:8px 0 0;font-size:14px;color:var(--w-mute)}
.cdupw-alt{display:block;width:100%;height:56px;margin-top:12px;border-radius:15px;border:1.5px solid var(--w-rose);background:#fff;color:var(--w-rose);font:inherit;font-size:16.5px;font-weight:650;cursor:pointer}
.cdupw-okwrap{display:flex;justify-content:center;margin:8px 0 22px}
.cdupw-okbadge{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#d9557d,#a63a60);box-shadow:0 14px 28px rgba(166,58,96,.35)}
.cdupw-okbadge svg{width:42px;height:42px}
