/* 사주꼬리 UI v2 (2026-09-30): 청월당·점신 비교 후 정리.
   원칙: 글꼴 3종(제목 써라운드 / 본문·UI 나눔스퀘어라운드 / 한자 둥근 한자), 주 버튼 색 하나(#d4553f), 선택된 칩은 진갈색, 입력칸은 밑줄형. */
:root{--v2-brand:#d4553f;--v2-brand-press:#bf4833;--v2-ink:#382f2b;--v2-ink-soft:#6b5d54;--v2-line-soft:#e8dccf;--v2-choice:#3b2f2a;--v2-cream:#fffaf3}

/* ---------- 입력칸: 작은 라벨 + 밑줄형 48px ---------- */
html body .q-label,html body.rv-page .profile-q .q-field>.q-label,html body.rv-page .profile-q label.q-field>span.q-label,html body.rv-page .profile-q .q-field>label.q-label,html body #flow-dialog .q-label{font-family:var(--f-ui)!important;font-size:17px!important;font-weight:800!important;color:var(--v2-ink)!important;margin:0 0 4px!important;letter-spacing:-.015em}
.q-label small,.profile-q .q-label small,#flow-dialog .q-label small{font-family:var(--f-ui)!important;font-size:12.5px!important;font-weight:500;color:#a39489!important}
.input-wrap{position:relative;display:block;flex:1 1 auto;min-width:0}
.profile-q .field input:not([type=radio]):not([type=checkbox]){min-height:48px!important;height:48px;padding:0 34px 0 2px!important;border:0!important;border-bottom:1.5px solid var(--v2-line-soft)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-family:var(--f-ui)!important;font-size:18px!important;font-weight:700!important;color:var(--v2-ink)!important;letter-spacing:.01em}
.profile-q .field input::placeholder{font-weight:500;color:#c3b6ab;letter-spacing:0}
.profile-q .field input:focus{border-bottom-color:var(--v2-brand)!important;outline:none}
.clear-x{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#efe6dc;color:#8a7b70;font:700 17px/1 var(--f-ui);display:grid;place-items:center;padding:0;cursor:pointer}
.input-wrap input:placeholder-shown+.clear-x{display:none}
.date-row{align-items:flex-end!important;gap:10px!important}
.time-row{align-items:end!important}

/* ---------- 선택: 알약 모양, 고르면 진갈색 ---------- */
.seg-opt span,.date-row .seg .seg-opt span{min-height:44px!important;border-radius:999px!important;border:1.5px solid var(--v2-line-soft)!important;background:#fff!important;font-family:var(--f-ui)!important;font-size:15px!important;font-weight:700!important;color:var(--v2-ink-soft)!important;box-shadow:none!important}
.seg-opt input:checked+span{background:var(--v2-choice)!important;border-color:var(--v2-choice)!important;color:#fff!important}
.date-row .seg{background:transparent!important;padding:0!important;gap:6px!important}
.seg-gender{gap:8px!important}
.chip,.chip-check span,.hour-chip{font-family:var(--f-ui)!important;font-weight:700!important}
.chip[aria-checked=true],.chip-check input:checked+span,.hour-chip[aria-pressed=true]{background:var(--v2-choice)!important;border-color:var(--v2-choice)!important;color:#fff!important}
.hour-toggle{font-family:var(--f-ui)!important;font-weight:600;color:var(--v2-ink-soft)}
.question-card textarea{font-family:var(--f-ui)!important;color:var(--v2-ink)!important;border:1.5px solid var(--v2-line-soft)!important;border-radius:14px!important;padding:12px 14px!important;line-height:1.55}
.question-card textarea:focus{border-color:var(--v2-brand)!important;outline:none;box-shadow:none}
.card-title{font-family:var(--f-display)!important;font-size:17px!important}

/* ---------- 주 버튼: 한 색, 한 모양 ---------- */
.button.primary,.submit-button,#pay-seed,.seed-pack,#preview-cta,#teaser-unlock{background:var(--v2-brand)!important;color:#fff!important;border:0!important;min-height:56px!important;border-radius:16px!important;font-family:var(--f-ui)!important;font-size:17px!important;font-weight:800!important;letter-spacing:-.01em;box-shadow:0 8px 20px #d4553f33}
.button.primary:active:not(:disabled),.submit-button:active:not(:disabled),#preview-cta:active:not(:disabled),.seed-pack:active{background:var(--v2-brand-press)!important}
/* 빠진 항목이 있을 때: 누를 수는 있지만 안내 문구 + 차분한 색 */
.submit-button.is-waiting{background:#efe4d8!important;color:#8a7b70!important;box-shadow:none!important;font-weight:700!important;font-size:15.5px!important}

/* 미리보기 아래 결제 버튼: 화면 아래에 붙어 따라온다 */
#preview-cta-box{position:sticky;bottom:0;z-index:6;margin:18px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffdf9;box-shadow:0 -10px 18px -8px #6a4b3724;border-top:1px solid #f1e3d3;display:grid;gap:8px}
#preview-cta-box>p:first-child{margin:0;text-align:center;font-family:var(--f-ui);font-size:13px;font-weight:600;color:var(--v2-ink-soft)}
#preview-cta{width:100%}
.cta-terms{margin:0;text-align:center;font-size:11.5px;line-height:1.5;color:#9a8b80}
.cta-terms a{color:#9a8b80}
.pay-box .seed-terms-link{font-size:11.5px!important;color:#9a8b80!important}
/* overflow-x:hidden on html/body makes body a scroll container and breaks position:sticky. clip hides overflow the same way without that. */
html,body{overflow-x:clip!important;overflow-y:visible!important}

/* ---------- MY (로그인 전) ---------- */
.my-guest{display:grid;gap:14px}
.my-guest-hero{display:flex;align-items:center;gap:14px;padding:16px;border-radius:20px;background:#fff8ec}
.my-guest-hero img{flex:0 0 72px;width:72px;height:72px;object-fit:contain}
.my-guest-hero b{display:block;font-family:var(--f-display);font-size:18px;font-weight:400;color:var(--v2-ink);line-height:1.35}
.my-guest-hero span{display:block;margin-top:4px;font-family:var(--f-ui);font-size:13px;color:var(--v2-ink-soft)}
.my-perks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.my-perks li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid #f1e3d3;border-radius:16px;background:#fff}
.my-perks i{flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:#fff3e3;display:grid;place-items:center}
.my-perks b{display:block;font-family:var(--f-ui);font-size:15px;font-weight:800;color:var(--v2-ink)}
.my-perks span{display:block;margin-top:2px;font-family:var(--f-ui);font-size:13px;color:var(--v2-ink-soft);line-height:1.45}
.my-free{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.my-free-card{display:grid;gap:4px;padding:14px;border-radius:16px;background:#fffaf3;border:1.5px solid #f1e3d3;text-decoration:none;color:var(--v2-ink)}
.my-free-card b{font-family:var(--f-ui);font-size:15px;font-weight:800}
.my-free-card small{font-family:var(--f-ui);font-size:12px;color:var(--v2-ink-soft);line-height:1.4}
.my-free-card .free-tag{justify-self:start;font-family:var(--f-ui);font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--v2-brand);color:#fff}
.login-btn{min-height:52px!important;border-radius:14px!important;font-family:var(--f-ui)!important;font-weight:700!important}


/* 아까 보던 미리보기 이어 보기 (자동으로 아래로 끌고 가지 않음) */
.resume-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:12px 14px;border-radius:16px;background:#fff8ec;border:1.5px solid #f1e3d3;font-family:var(--f-ui);font-size:13px;color:var(--v2-ink-soft)}
.resume-btn{flex:0 0 auto;min-height:38px;padding:0 14px;border:0;border-radius:999px;background:var(--v2-choice);color:#fff;font-family:var(--f-ui);font-size:13px;font-weight:800;cursor:pointer}

/* 양력/음력: 선택 표시가 보이게, 동그라미가 아니라 알약으로 */
.date-row .seg .seg-opt span{padding:0 16px!important;min-width:58px}
.date-row .seg .seg-opt input:checked+span,.seg-gender .seg-opt input:checked+span{background:var(--v2-choice)!important;border-color:var(--v2-choice)!important;color:#fff!important}
