/* 모든 페이지 공통(디자인 시험): 앱 폭 좌우 그림자 + 글꼴 프리텐다드. 이 파일 링크를 빼면 원래대로 돌아온다. */

/* 앱 액자 그림자는 마우스를 쓰는 넓은 화면에서만 그린다.
   CSS 폭이 448px보다 큰 휴대폰도 있으므로 폭만으로 모바일을 구분하지 않는다.
   아래쪽 그림자는 주소창이 접힐 때 메뉴 위에 띠로 남을 수 있어 잘라낸다. */
@media screen and (min-width: 449px) and (hover: hover) and (pointer: fine) {
  body::after { content: ''; position: fixed; top: 0; left: 50%; height: 100vh; height: 100lvh; width: min(100%, 448px); transform: translateX(-50%); box-shadow: 0 0 36px rgba(60, 40, 30, .16); clip-path: inset(0 -48px); pointer-events: none; z-index: 2147483000; }
}

/* 글꼴: 모든 글자 프리텐다드. 풀이 본문(premium-body: PDF로도 만들어진다)과 홈 상품 카드 제목은 제외한다. */
body:not(.premium-body), body:not(.premium-body) *, body:not(.premium-body) *::before, body:not(.premium-body) *::after { font-family: 'Pretendard Variable', Pretendard, system-ui, 'Apple SD Gothic Neo', sans-serif !important; }

/* 금갈색(#8A6941, --ui-gold)을 쓰는 글씨는 모두 딥 로즈로: 연못에 남긴 소원, 주월의 작은 점괘, 운영자 전용 라벨, 채팅 화살표 등 */
:root { --ui-gold: #b8365a; }

/* 햄버거 메뉴 상단 로고 삭제 */
.site-menu-brand { display: none !important; }

/* 로딩 화면(page-loader)·계산 중 화면(calc-overlay)에도 앱 폭 좌우 그림자 */
#page-loader::after { content: ''; position: fixed; top: 0; bottom: 0; left: 50%; width: min(100%, 448px); transform: translateX(-50%); box-shadow: 0 0 36px rgba(60, 40, 30, .16); pointer-events: none; }
.calc-overlay { box-shadow: 0 0 36px rgba(60, 40, 30, .16); }
@media (hover: none), (pointer: coarse) {
  body::after, #page-loader::after { content: none; }
  .calc-overlay { box-shadow: none; }
}

/* ── 알림판(스피커 버튼) : 홈과 같은 톤 ── 흰 패널, 웜 화이트 구획, 선택 탭은 딥 로즈 */
.notice-panel { background: #fff !important; }
.notice-close { background: #f4f1ec !important; color: #77736d !important; }
.notice-tabs { background: #f4f1ec !important; border: 1px solid #ece8e1 !important; }
.notice-tabs button { color: #77736d !important; }
.notice-tabs button[aria-selected="true"], .notice-tabs button.is-active { background: #fff !important; color: #b8365a !important; box-shadow: 0 2px 8px rgba(60, 40, 30, .08) !important; }
.notice-tab-dot, .notice-news-dot { background: #b8365a !important; }
.notice-empty { background: #faf8f5 !important; border: 1px dashed #e2d6d9 !important; color: #77736d !important; border-radius: 16px !important; }
.notice-empty p { color: #77736d !important; }
.notice-row, .notice-news-row { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 16px !important; box-shadow: 0 6px 18px rgba(60, 40, 30, .05) !important; }
.notice-row-title { color: #222 !important; }
.notice-row-date, .notice-news-date { color: #8d8a85 !important; }
.notice-tag { background: #fbeef1 !important; color: #b8365a !important; border-color: #f0c9d4 !important; }
.notice-pager button[aria-current="true"], .notice-pager .is-current { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; }

/* 새 로고(정사각, 달이 큼): 헤더에서 더 크게. 공유 카드·살 테스트 상단 로고는 정사각이 되어 폭을 줄여 높이를 비슷하게 맞춘다. */
.site-logo img { height: 58px !important; }
.bc-logo, .reading-logo { width: 11cqw !important; }

/* ══ 결제창(풀이 선택 · 엽전 충전): 홈과 같은 톤 ══ 흰 시트, 얇은 테두리, 딥 로즈 버튼, 큰 모서리 */
.pay-dialog { border-radius: 26px !important; }
.pay-dialog::backdrop { background: rgba(28, 22, 26, .52) !important; }
.pay-box { background: #fff !important; background-image: none !important; border: 1px solid #ece8e1 !important; border-radius: 26px !important; padding: 28px 22px 22px !important; box-shadow: 0 24px 60px rgba(40, 24, 30, .28); }
.pay-close { top: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #f4f1ec !important; color: #77736d !important; font-size: 20px !important; }
.pay-title { font-family: 'Pretendard Variable', Pretendard, system-ui, sans-serif !important; font-size: 19px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #222 !important; }
.pay-price strong { color: #b8365a !important; font-size: 28px !important; }
.pay-price del { color: #9a9690 !important; }
.pay-note { color: #6d6a65 !important; }
/* 상품 선택 카드 */
.pay-report-product, .pay-coin-product { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 16px !important; color: #222 !important; box-shadow: 0 4px 14px rgba(60, 40, 30, .04); }
.pay-report-product.is-selected, .pay-coin-product.is-selected { background: #fdf2f5 !important; border-color: #b8365a !important; box-shadow: 0 0 0 1px #b8365a, 0 6px 18px rgba(184, 54, 90, .14) !important; }
.pay-report-name, .pay-coin-amount { color: #222 !important; }
.pay-report-amount, .pay-coin-price { color: #b8365a !important; }
.pay-report-discount { color: #b8365a !important; }
.pay-coin-detail { color: #77736d !important; }
.pay-coin-badge { background: #f4f1ec !important; color: #6d6a65 !important; }
.pay-coin-badge.is-popular { background: #b8365a !important; color: #fff !important; }
.pay-coin-badge.is-once { background: #fff !important; border: 1px solid #b8365a !important; color: #b8365a !important; }
.pay-coin-rate { background: #fbeef1 !important; color: #b8365a !important; }
/* 입력·동의 */
.pay-phone { color: #222 !important; }
.pay-phone input { background: #faf8f5 !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; padding: 13px 14px !important; color: #222 !important; }
.pay-phone input:focus { outline: none; border-color: #b8365a !important; box-shadow: 0 0 0 3px rgba(184, 54, 90, .14); }
.pay-phone-note { color: #77736d !important; }
.pay-consents { background: #faf8f5 !important; border: 1px solid #ece8e1 !important; border-radius: 16px !important; }
.pay-consent { color: #4a4743 !important; }
.pay-consent input { accent-color: #b8365a !important; }
.pay-beta { background: #fbeef1 !important; color: #b8365a !important; border-radius: 12px !important; }
.pay-message { color: #b8365a !important; }
/* 결제 버튼 */
.pay-submit { min-height: 54px !important; border: 0 !important; border-radius: 18px !important; background: #b8365a !important; color: #fff !important; font-size: 16px !important; font-weight: 800 !important; box-shadow: 0 10px 24px rgba(184, 54, 90, .32); }
.pay-submit:hover:not(:disabled), .pay-submit:active:not(:disabled) { background: #9e2c4d !important; }
.pay-submit:disabled { background: #ece8e1 !important; color: #a9a59f !important; box-shadow: none; }
.pay-dialog:not(.pay-coins-dialog) .pay-submit { box-shadow: 0 -12px 12px -4px #fff, 0 10px 24px rgba(184, 54, 90, .32) !important; }
.pay-coin-login, .pay-coin-retry { color: #b8365a !important; border-radius: 14px !important; }
.pay-close:focus-visible, .pay-submit:focus-visible { outline-color: #b8365a !important; }

/* "궁금한 것을 적어 보세요" 입력칸(질문 카드·질문 시트): 스크롤바를 보이지 않게. 글은 계속 스크롤된다 */
.rt-ask-input, .ov-ask-input { overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; }
.rt-ask-input::-webkit-scrollbar, .ov-ask-input::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* ══ 도화 테스트(/test/saju-sal) · 본캐 테스트(/test/character): 진행 화면의 배경·폰트·색만 홈 톤으로. 최종 카드(.reading, .bc-card, 공유 카드)는 그대로 둔다 ══ */
body.is-test-page, body:has(#test-main), body:has(.intro-copy) { }
html:has(.onescreen, #test-main) { background: #faf8f5 !important; }
body:has(.onescreen, #test-main)::before { background-image: none !important; background: #faf8f5 !important; }
:root:has(.onescreen, #test-main) { --ui-action: #b8365a; --ui-action-hover: #9e2c4d; --accent: #b8365a; --strong: #9e2c4d; --ui-soft: #f4f1ec; --ui-line: #ece8e1; --line: #ece8e1; --paper: #faf8f5; }
/* 질감(한지·수묵 산수) 제거: 안내 장면의 큰 배경 장식 */
.onescreen, .onescreen::before, .onescreen::after, #test-main::before, #test-main::after { background-image: none !important; }
/* 버튼: 갈색 → 딥 로즈, 큰 모서리 */
:is(.primary, #start, .bform-actions .primary, button.primary) { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; border-radius: 16px !important; box-shadow: 0 10px 24px rgba(184, 54, 90, .28) !important; }
:is(.primary, #start, button.primary):hover:not(:disabled) { background: #9e2c4d !important; }
/* 입력·선택 */
.bform :is(input[type="text"], input:not([type]), input[type="number"], input[type="tel"], select), .field input { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; }
.bform :is(input, select):focus, .field input:focus { border-color: #b8365a !important; box-shadow: 0 0 0 3px rgba(184, 54, 90, .14) !important; outline: none !important; }
.options > button, .mode-option, .bform .options label { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 16px !important; color: #222 !important; box-shadow: 0 4px 14px rgba(60, 40, 30, .04); }
.options > button:hover, .mode-option:hover, .mode-option:has(input:checked), .options > button[aria-pressed="true"] { border-color: #b8365a !important; background: #fdf2f5 !important; }
/* 양력/음력·성별 선택 상태 */
.bform [aria-pressed="true"], .bform .is-active, .bform input:checked + span, .bform label:has(input:checked) { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; }
.bform [data-time-known], .bform .calendar-choice, .bform .ms-pills { background: #f4f1ec !important; border: 1px solid #ece8e1 !important; }
/* 글씨: 갈색·남색 → 회색/먹, 강조 → 딥 로즈, 폰트는 프리텐다드 */
.eyebrow, .intro-disc, .field-head small, .input-note, .fine, .loading-seal { color: #b8365a !important; }
.intro-copy, .input-note, .fine, .field-head span { color: #6d6a65 !important; }
.intro-list li::before, .intro-list i { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; }
.intro-seal, .intro-inscription { color: #b8365a !important; border-color: #b8365a !important; }
#test-main .character-intro { color: #6d6a65 !important; }
#test-main, #test-main * , .onescreen, .onescreen * { font-family: 'Pretendard Variable', Pretendard, system-ui, sans-serif !important; }
/* 최종 카드(공유 카드)만은 원래 글꼴·색을 지킨다: 위 규칙의 폰트 덮어쓰기를 되돌린다 */
.character-card-shell, .character-card-shell *, .reading, .reading *, .bc-card, .bc-card * { font-family: revert-layer; }

/* 로그인 전 보관함: 잠긴 탭(비밀서랍·엽전 기록)은 회색으로 흐리고 눌러도 반응하지 않는다 */
[data-asset-tab].is-locked, [data-asset-tab]:disabled { opacity: .42; cursor: not-allowed !important; pointer-events: none; }

/* ══ 달빛 연못(홈 · 소원빌기) 누런색 개선: 황토·금색 → 연분홍·딥 로즈·회색 ══ */
.pond-quest-count { background: #fbeef1 !important; border-color: #f0c9d4 !important; color: #b8365a !important; }
.pond-quest-visual { background: #faf8f5 !important; border-color: #ece8e1 !important; }
.pond-quest-rewardbox { border-top-color: #ece8e1 !important; }
.pond-quest-reward, .pond-quest-reset { color: #77736d !important; }
/* 단계 달 아이콘: 베이지/금색 → 회색(비어 있음) · 딥 로즈(채움) */
.pond-quest-moon { background: #ece8e1 !important; border-color: #d9d4cc !important; box-shadow: 0 0 0 3px #f4f1ec !important; }
.pond-quest-moon.is-crescent::after { background: #faf8f5 !important; }
.pond-quest-moon.is-half { background: linear-gradient(90deg, #faf8f5 50%, #e07d98 50%) !important; border-color: #e9b4c3 !important; }
.pond-quest-moon.is-full { background: #e07d98 !important; border-color: #e07d98 !important; box-shadow: 0 0 0 3px #f9e3ea, 0 0 15px rgba(224, 125, 152, .5) !important; }
/* 보상 칩("엽전 30개", "24시간 채팅 엽전 30% 할인"): 황토 → 연분홍 */
.pond-quest-rewardbox span, .pond-quest-rewardbox [class*="chip"], .pond-quest-rewardbox [class*="tag"] { background: #fbeef1 !important; border-color: #f0c9d4 !important; color: #b8365a !important; }
/* 단계 진행 막대: 베이지 → 연회색, 채워진 칸 → 딥 로즈 */
.pond-quest progress, .pond-quest [class*="step"], .pond-quest [class*="bar"] > * { background-color: #ece8e1; }
.pond-quest [class*="step"].is-done, .pond-quest [class*="step"].is-active, .pond-quest [class*="step"].is-on, .pond-quest [class*="bar"] > .is-on { background-color: #b8365a !important; }

/* ══ 만세력 결과 안쪽 누런색 개선 ══ */
#zodiac-today-screen .ms-card, #zodiac-today-screen .ms-summary, #zodiac-today-screen .ms-period, #zodiac-today-screen .ms-element, #zodiac-today-screen .ms-table-wrap { background: #fff !important; border-color: #ece8e1 !important; }
#zodiac-today-screen .ms-card { border-radius: 20px !important; box-shadow: 0 8px 24px rgba(60, 40, 30, .06) !important; }
#zodiac-today-screen .ms-table th, #zodiac-today-screen .ms-table td { border-color: #ece8e1 !important; }
#zodiac-today-screen .ms-table thead th, #zodiac-today-screen .ms-table th:first-child { background: #f4f1ec !important; color: #6d6a65 !important; }
#zodiac-today-screen .ms-table .is-day, #zodiac-today-screen .ms-table td.is-day, #zodiac-today-screen .ms-table th.is-day { background: #fbeef1 !important; }
#zodiac-today-screen .ms-table th.is-day { color: #b8365a !important; }
#zodiac-today-screen .ms-element { background: #faf8f5 !important; border-radius: 14px !important; }
#zodiac-today-screen .ms-element.is-selected, #zodiac-today-screen .ms-period.is-current, #zodiac-today-screen .ms-period[aria-pressed="true"] { border-color: #b8365a !important; }
#zodiac-today-screen .ms-sub, #zodiac-today-screen .ms-meta, #zodiac-today-screen .ms-note, #zodiac-today-screen .ms-status { color: #77736d !important; }
#zodiac-today-screen .ms-summary :is(.ms-chip, .ms-badge, [class*="strength"], b, strong) { }
#zodiac-today-screen .ms-card :is([class*="chip"], [class*="pill"], [class*="badge"]) { background: #fbeef1 !important; color: #b8365a !important; border-color: #f0c9d4 !important; }
/* 오행 중 土(토) 글자색: 금갈색 → 분홍 계열과 구분되는 차분한 황금 대신 짙은 회갈색에서 로즈골드로 */
#zodiac-today-screen .ms-symbol[style*="139"], #zodiac-today-screen .ms-symbol.is-earth { color: #b0894f !important; }

/* ══ 달빛 연못 단계 막대 + 소원 적기 화면 ══ */
.pond-quest-track span { background: #ece8e1 !important; }
.pond-quest-track span.is-lit { background: linear-gradient(90deg, #b8365a, #e07d98) !important; }
.pond-quest-feature { color: #6d6a65 !important; }
.pond-quest-feature-mark { background: #fbeef1 !important; border-color: #f0c9d4 !important; color: #b8365a !important; }
/* 소원 적기: 안내문·피드·입력·공개 스위치·저장 완료 박스 */
.pond-wishes { border-top-color: #ece8e1 !important; }
.pond-wish-hint { color: #6d6a65 !important; }
.pond-wish-feed { background: #faf8f5 !important; border-color: #ece8e1 !important; color: #6d6a65 !important; border-radius: 14px !important; }
.pond-wish-form > label:first-child { color: #222 !important; }
.pond-wish-form input[type=text] { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; color: #222 !important; }
.pond-wish-form input[type=text]:focus, .pond-wish-form input[type=text]:focus-visible { border-color: #b8365a !important; outline: none !important; box-shadow: 0 0 0 3px rgba(184, 54, 90, .14) !important; }
.pond-wish-form input[type=text]::placeholder { color: #a9a59f !important; }
.pond-wish-count { color: #a9a59f !important; }
.pond-wish-form .pond-wish-share { background: #faf8f5 !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; }
.pond-wish-switch { background: #d9d4cc !important; }
.pond-wish-share input:checked + .pond-wish-switch { background: #b8365a !important; }
.pond-wish-share-text b { color: #222 !important; }
.pond-wish-share-text small { color: #77736d !important; }
.pond-wish-share input { accent-color: #b8365a !important; }
.pond-wish-form button[type=submit], .pond-wish-form .asset-action { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; border-radius: 16px !important; min-height: 52px !important; font-weight: 800 !important; }
.pond-wish-saved { background: #fbeef1 !important; border-color: #f0c9d4 !important; color: #b8365a !important; border-radius: 16px !important; }
.pond-wish-reply, .pond-wish-reply * { color: #4a4743; }
.pond-wishes h4 { color: #b8365a !important; }
/* 공양 버튼(앞 이모지 포함 문구는 그대로): 딥 로즈 */
.pond-quest .asset-action:not([href*="kakao"]) { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; border-radius: 16px !important; }
/* 소원 적기 카드(소원빌기·홈): 누런 크림 바탕 → 흰 카드 */
.pond-wish-inline, #wishes-write-panel .pond-wishes, .wishes-screen #wishes-write-panel > * { background-color: #fff; }
.pond-wish-inline { background: #fff !important; border: 1px solid #ece8e1 !important; border-radius: 20px !important; box-shadow: 0 8px 24px rgba(60, 40, 30, .06) !important; }
.pond-wish-hint-box, .pond-wish-inline .pond-wish-hint { background: transparent !important; }

/* ══ 보관함 팝업: "내 명식 수정" · "내 짝의 명식" ══ 흰 시트, 큰 모서리, 딥 로즈 선택/저장, 입력은 웜 화이트 ══ */
.asset-dialog.self-sheet { width: min(460px, calc(100% - 32px)); padding: 26px 22px 22px !important; border: 1px solid #ece8e1 !important; border-radius: 26px !important; background: #fff !important; color: #222 !important; box-shadow: 0 24px 60px rgba(40, 24, 30, .28); }
.asset-dialog.self-sheet::backdrop { background: rgba(28, 22, 26, .52) !important; }
.self-sheet h3 { margin: 0 0 6px !important; padding-right: 0 !important; font-family: 'Pretendard Variable', Pretendard, system-ui, sans-serif !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #222 !important; }
.self-sheet .self-note { color: #77736d !important; }
.self-sheet form { display: grid; gap: 16px; }
.self-sheet .self-field > span { color: #222 !important; font-weight: 700 !important; }
.self-sheet .self-field input[type="text"], .self-sheet .self-field input[type="date"], .self-sheet .self-field input[type="time"] { min-height: 50px !important; padding: 12px 14px !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; background: #faf8f5 !important; color: #222 !important; font: 500 16px/1.4 'Pretendard Variable', Pretendard, system-ui, sans-serif !important; }
.self-sheet .self-field input:focus { outline: none !important; border-color: #b8365a !important; box-shadow: 0 0 0 3px rgba(184, 54, 90, .14) !important; background: #fff !important; }
.self-sheet .self-field input:disabled { background: #f4f1ec !important; color: #a9a59f !important; }
.self-sheet .self-chips { gap: 8px; }
.self-sheet .self-chip { min-height: 46px !important; border: 1px solid #ece8e1 !important; border-radius: 14px !important; background: #fff !important; color: #6d6a65 !important; font-weight: 700 !important; }
.self-sheet .self-chip[aria-pressed="true"] { border-color: #b8365a !important; background: #b8365a !important; color: #fff !important; box-shadow: 0 6px 16px rgba(184, 54, 90, .24); }
.self-sheet .self-leap { color: #4a4743; }
.self-sheet .self-leap input { accent-color: #b8365a; }
.self-sheet .self-status { color: #b8365a !important; }
.self-sheet .self-actions { grid-template-columns: 2fr 1fr; gap: 10px; margin-top: 4px; }
.self-sheet .self-save, .self-sheet .self-cancel { min-height: 54px !important; border-radius: 18px !important; font-weight: 800 !important; }
.self-sheet .self-save { background: #b8365a !important; color: #fff !important; box-shadow: 0 10px 24px rgba(184, 54, 90, .3); }
.self-sheet .self-save:hover:not(:disabled) { background: #9e2c4d !important; }
.self-sheet .self-cancel { background: #f4f1ec !important; border: 0 !important; color: #6d6a65 !important; }
/* 보관함의 내 명식 카드: 일주 칸 갈색 → 딥 로즈, 수정 버튼 */
.self-pillar.is-day { border-color: #b8365a !important; background: #fdf2f5 !important; }
.self-pillar.is-day small { color: #b8365a !important; }
.self-who small { color: #b8365a !important; }
.self-edit { border-radius: 50% !important; background: #f4f1ec !important; border-color: transparent !important; color: #77736d !important; }
.self-edit:hover { border-color: #b8365a !important; color: #b8365a !important; }
.self-open { background: #b8365a !important; border-color: #b8365a !important; color: #fff !important; border-radius: 16px !important; }
.self-open:hover { background: #9e2c4d !important; }

/* ══ 엽전 안내 팝업("엽전을 모두 사용했어요" 등): 결제창·내 명식 시트와 같은 톤 ══ 흰 시트, 큰 모서리, 딥 로즈 버튼, 같은 배경막 */
.chat-upgrade-dialog { width: min(420px, calc(100% - 32px)); padding: 32px 22px 20px !important; border: 1px solid #ece8e1 !important; border-radius: 26px !important; background: #fff !important; color: #222 !important; box-shadow: 0 24px 60px rgba(40, 24, 30, .28) !important; }
.chat-upgrade-dialog::backdrop { background: rgba(28, 22, 26, .52) !important; backdrop-filter: none !important; }
.chat-upgrade-close { top: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; min-height: 36px !important; border-radius: 50% !important; background: #f4f1ec !important; color: #77736d !important; font-size: 20px !important; }
.chat-upgrade-coin { width: 46px; height: 46px; margin-bottom: 16px; border-color: #d9b36a; background: #f0d28a; }
.chat-upgrade-kicker { display: inline-block; margin: 0 0 10px !important; padding: 5px 11px; border-radius: 999px; background: #fdf2f5; color: #b8365a !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.chat-upgrade-dialog h2 { color: #222 !important; font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.03em !important; }
.chat-upgrade-dialog > p:not(.chat-upgrade-kicker) { margin: 12px 0 22px !important; color: #6d6a65 !important; font-size: 14px !important; }
.chat-upgrade-cta { min-height: 54px; border-radius: 18px !important; background: #b8365a !important; color: #fff !important; font-weight: 800 !important; box-shadow: 0 10px 24px rgba(184, 54, 90, .3); }
.chat-upgrade-cta:hover { background: #9e2c4d !important; }
.chat-upgrade-cta b { color: #ffe1e8 !important; }
.chat-upgrade-later { display: block; width: 100%; margin-top: 8px !important; padding: 14px 18px !important; border-radius: 14px; background: #f4f1ec !important; color: #6d6a65 !important; font-size: 13px !important; font-weight: 700 !important; }
.chat-upgrade-later:hover { background: #ece8e1 !important; }

/* 인쇄·PDF에는 앱 액자 그림자를 그리지 않는다(PDF를 굽는 브라우저는 넓은 마우스 화면으로 보여 위 조건에 걸린다). */
@media print {
  body::after, #page-loader::after { content: none !important; }
  .calc-overlay { box-shadow: none !important; }
}

/* 결제 화면: 팝업이 아니라 화면 전체를 쓰는 한 페이지처럼 보이게 하고, 글씨는 한 화면에 들어오도록 줄인다. */
.pay-dialog:not(.pay-coins-dialog) { width: 100vw !important; max-width: none !important; height: 100dvh !important; max-height: none !important; border-radius: 0 !important; background: #fff !important; }
.pay-dialog:not(.pay-coins-dialog)::backdrop { background: #fff !important; }
.pay-dialog:not(.pay-coins-dialog) .pay-box { min-height: 100%; width: min(480px, 100%); margin: 0 auto; box-sizing: border-box; gap: 9px; padding: 18px 16px 16px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.pay-dialog:not(.pay-coins-dialog) .pay-title { font-size: 16px !important; padding-right: 40px; }
.pay-dialog:not(.pay-coins-dialog) .pay-close { top: 8px !important; right: 6px !important; }
.pay-dialog:not(.pay-coins-dialog) .pay-report-product { padding: 10px 12px; font-size: 13px; border-radius: 12px !important; }
.pay-dialog:not(.pay-coins-dialog) .pay-note { font-size: 12px; line-height: 1.55; }
.pay-dialog:not(.pay-coins-dialog) .pay-includes { gap: 4px; padding: 9px 11px; }
.pay-dialog:not(.pay-coins-dialog) .pay-includes li { font-size: 12px; }
.pay-dialog:not(.pay-coins-dialog) .pay-breakdown { gap: 4px; padding: 10px 12px; font-size: 12px; }
.pay-dialog:not(.pay-coins-dialog) .pay-breakdown-row.is-list span:first-child, .pay-dialog:not(.pay-coins-dialog) .pay-breakdown-row.is-total span:first-child { font-size: 12.5px; }
.pay-dialog:not(.pay-coins-dialog) .pay-breakdown-row.is-list span:last-child { font-size: 19px; }
.pay-dialog:not(.pay-coins-dialog) .pay-breakdown-row.is-total span:last-child { font-size: 22px; }
.pay-dialog:not(.pay-coins-dialog) .pay-phone { font-size: 12px; }
.pay-dialog:not(.pay-coins-dialog) .pay-phone input { padding: 10px 12px !important; border-radius: 10px !important; }
.pay-dialog:not(.pay-coins-dialog) .pay-phone-note { font-size: 11px; }
.pay-dialog:not(.pay-coins-dialog) .pay-submit { min-height: 46px !important; font-size: 14px !important; border-radius: 14px !important; box-shadow: 0 -12px 12px -4px #fff !important; }
.pay-consent-item { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 8px; }
.pay-consent-more { padding: 2px 4px; border: 0; background: none; color: #77736d; font: inherit; font-size: 11px; text-decoration: underline; cursor: pointer; }
.pay-consent-detail { grid-column: 1 / -1; margin: 0 0 2px; padding: 8px 10px 8px 26px; border-radius: 10px; background: #fff; color: #6d6a65; font-size: 11px; line-height: 1.55; word-break: keep-all; }
.pay-consent-detail[hidden] { display: none; }
/* 할인 안내는 결제 단추 안쪽 아랫줄에 작게 넣는다 */
[data-benefit]::after { content: attr(data-benefit); display: block; margin-top: 3px; font-size: 10.5px; font-weight: 600; line-height: 1.3; letter-spacing: 0; opacity: .92; }
.ov-float-cta[data-benefit], .ov-float-cta:has(.pay-pill-sub) { border-radius: 22px !important; padding-block: 8px !important; }
[data-benefit] { flex-direction: column; }
.pay-proof { display: grid; gap: 6px; }
.pay-proof[hidden] { display: none; }
.pay-proof-head { margin: 2px 0 -2px; color: #b8365a; font-size: 12px; font-weight: 800; line-height: 1.3; }
.pay-proof-list { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 2px 2px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.pay-proof-list::-webkit-scrollbar { display: none; }
.pay-proof-item { flex: 0 0 82%; scroll-snap-align: start; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ece8e1; border-radius: 12px; background: #faf8f5; }
.pay-proof-item small { color: #b8365a; font-size: 10.5px; font-weight: 700; }
.pay-proof-item p { margin: 2px 0 0; color: #4a4743; font-size: 11.5px; line-height: 1.55; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pay-count { margin: 0; color: #b8365a; font-size: 12px; font-weight: 800; line-height: 1.4; text-align: center; }   /* 후기 아래로 옮겨 닫기 단추를 피하는 오른쪽 여백은 뺐다 */
.pay-count[hidden] { display: none; }
.pay-includes-title { margin: 2px 0 -4px; color: #b8365a; font-size: 12px; font-weight: 800; line-height: 1.3; }
.pay-includes-title[hidden] { display: none; }
.pay-volume { margin: -4px 0 0; color: #6d6a65; font-size: 12px; font-weight: 600; line-height: 1.4; }
.pay-volume[hidden] { display: none; }
/* 화면 아래 고정 단추: 1줄 행동 문구, 2줄 가격 차이, 3줄 할인 종료 시계 */
body #ov-floats .ov-float-cta:has(.pay-pill-sub) { flex-direction: column; gap: 2px; min-height: 72px; padding-block: 9px !important; border-radius: 22px !important; }
.pay-pill-sub { display: flex; flex-direction: column; align-items: center; gap: 3px; margin-top: 2px; line-height: 1.25; }
.pay-pill-price { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; }
.pay-pill-price del { opacity: .8; font-size: 13px; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.pay-pill-price b { font-size: 16px; font-weight: 800; letter-spacing: -.01em; }
.pay-pill-cut { font-style: normal; font-size: 12px; font-weight: 800; color: #8f1f40; background: #fff; padding: 2px 8px; border-radius: 999px; }
.pay-pill-ev { display: flex; align-items: center; gap: 6px; padding: 2px 10px; border-radius: 999px; background: rgba(40, 8, 20, .38); font-size: 11px; font-weight: 700; color: #ffe9a8; }
.pay-pill-ev[hidden] { display: none; }
.pay-pill-clock { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-variant-numeric: tabular-nums; font-size: 14px; font-weight: 800; letter-spacing: .02em; color: #fff3c4; }
.pay-pill-ev.is-urgent .pay-pill-clock { color: #ffb3a6; animation: pay-pill-pulse 1s ease-in-out infinite; }
@keyframes pay-pill-pulse { 50% { opacity: .55 } }
@media (prefers-reduced-motion: reduce) { .pay-pill-ev.is-urgent .pay-pill-clock { animation: none } }
/* 고정 단추는 글자색을 흰색으로 강제하므로(modern-frame.css) 안쪽 배지·시계는 같은 세기로 다시 정한다 */
body #ov-floats .ov-float-cta .pay-pill-cut { color: #8f1f40 !important; -webkit-text-fill-color: #8f1f40 !important; }
body #ov-floats .ov-float-cta .pay-pill-ev { color: #ffe9a8 !important; -webkit-text-fill-color: #ffe9a8 !important; }
body #ov-floats .ov-float-cta .pay-pill-clock { color: #fff3c4 !important; -webkit-text-fill-color: #fff3c4 !important; }
body #ov-floats .ov-float-cta .pay-pill-ev.is-urgent .pay-pill-clock { color: #ffb3a6 !important; -webkit-text-fill-color: #ffb3a6 !important; }
/* 결제 팝업 하단 고정 영역: 팝업 배경이 흰색인데 단추 묶음만 옛 베이지(#f4eadb)로 남아 색 사각형이 보였다. 흰색으로 맞춘다. */
.pay-dialog:not(.pay-coins-dialog) .pay-actions { background: #fff !important; box-shadow: 0 -10px 10px -4px #fff !important; }
