/* assets/css/chungwol-result.css
 * 5/20 후반 Phase B-3 (재작업) — paljalab/result.html 청월당 100% 카피
 * 사토시 P0 "청월당 긴빠이 그대로 치라" — chungwol-index.css 컴포넌트 패턴 그대로
 *
 * 전략: body.cw-result scope override + 옛 inline <style> cascade 무력화.
 * 사진 = placeholder (사토시 추후 박음) + dim 시각 (자산 없어도 안 깨짐).
 * 폭 = var(--site-max, 448px) SSoT 보호.
 */

/* ========== 청월 색 토큰 (chungwol-index.css 동일) ========== */
:root {
  --cw-dark:         #111111;
  --cw-navy:         #1B2F49;
  --cw-blue:         #04336D;
  --cw-blue-mid:     #2B557E;
  --cw-cream:        #F5F3EC;
  --cw-sky:          #BDCEED;
  --cw-border:       #F1F1F1;
  --cw-border-mid:   #E1E1E1;
  --cw-gray:         #757575;
  --cw-text-mid:     #4A4A4A;
  --cw-font:         'NanumSquareRound','Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --cw-font-serif:   'Noto Serif KR','Nanum Myeongjo',serif;
}

/* ========== body base — 흰 배경 + 검은 텍스트 (사이트 wide 통일) ========== */
body.cw-result {
  background: #fff !important;
  margin: 0 !important;
  font-family: var(--cw-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--cw-dark) !important;
  word-break: keep-all !important;
}
body.cw-result .funnel-progress,
body.cw-result .tab-bar-spacer { display: none !important; }

/* app-container 사이트 SSoT (448 max-width — sub-spec 참조) */
body.cw-result .app-container {
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: var(--site-max, 448px) !important;
  width: 100% !important;
  background: #fff !important;
  position: relative !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important; /* 사이즈 삐져나감 보호 P0 */
}
body.cw-result .app-header,
body.cw-result .app-header-spacer {
  max-width: var(--site-max, 448px) !important;
  margin: 0 auto !important;
}

/* ========== result-layout / page-slide 잔재 stack 으로 폄 ========== */
body.cw-result .result-layout,
body.cw-result .result-content,
body.cw-result main.result-content {
  background: #fff !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: var(--site-max, 448px) !important;
  width: 100% !important;
  display: block !important;
}
body.cw-result .page-slide,
body.cw-result .page-slide:not(.page-slide--active),
body.cw-result .reveal {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  position: relative !important;
  visibility: visible !important;
}

/* 모든 element 사이즈 보호 — viewport 안 박힘 */
body.cw-result main img,
body.cw-result main picture,
body.cw-result main video,
body.cw-result main iframe {
  max-width: 100% !important;
  height: auto !important;
}

/* ========== Typography (chungwol-index 톤) ========== */
body.cw-result h1, body.cw-result h2, body.cw-result h3 {
  font-family: var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.025em !important;
  word-break: keep-all !important;
  margin: 0 !important;
}
body.cw-result p, body.cw-result li, body.cw-result span:not([class]) {
  color: var(--cw-text-mid) !important;
  word-break: keep-all !important;
}
body.cw-result strong, body.cw-result b {
  color: var(--cw-dark) !important;
  font-weight: 700 !important;
}
body.cw-result em, body.cw-result i {
  color: var(--cw-blue) !important;
  font-style: italic !important;
}

/* ========== placeholder 시각 — 이미지 자리 (자산 도착 전 깨짐 X) ========== */
body.cw-result .cw-image-placeholder,
body.cw-result picture:has(img[loading="lazy"]) {
  background: linear-gradient(135deg, #F5F3EC 0%, #E8E4D8 100%) !important;
}

/* ========================================================
   1. Cover (result-header) — 청월 hero-card 패턴 (4:5 PNG + overlay label)
   ======================================================== */
body.cw-result .result-header {
  background: #fff !important;
  padding: 0 0 24px 0 !important;
  margin: 0 !important;
  text-align: left !important;
  border: 0 !important;
}
body.cw-result .result-header__cover-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 0 20px 0 !important;
  overflow: hidden !important;
  background: var(--cw-dark) !important;
  display: block !important;
}
body.cw-result .result-header__cover-wrap::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
body.cw-result .result-header__cover-wrap video,
body.cw-result .result-header__cover-wrap picture,
body.cw-result .result-header__cover-wrap img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body.cw-result .result-header__catchphrase {
  display: block !important;
  font: 700 11.5px/1 var(--cw-font) !important;
  letter-spacing: 0.22em !important;
  color: var(--cw-blue) !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  padding: 0 16px !important;
}
body.cw-result .result-header__title {
  font: 800 26px/1.3 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 6px 0 !important;
  padding: 0 16px !important;
  word-break: keep-all !important;
}
body.cw-result .result-header__info {
  font: 500 13px/1.55 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  margin: 0 0 16px 0 !important;
  padding: 0 16px !important;
}
body.cw-result .result-header__intro {
  font: 500 14px/1.7 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  margin: 0 0 10px 0 !important;
  padding: 0 16px !important;
  letter-spacing: -0.015em !important;
  word-break: keep-all !important;
  font-family: var(--cw-font) !important;
  max-width: none !important;
}
body.cw-result .result-header__intro strong { color: var(--cw-dark) !important; font-weight: 700 !important; }
body.cw-result .result-header__intro .sp-master { color: var(--cw-blue) !important; font-weight: 600 !important; }

body.cw-result .result-header__saju {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  margin: 18px 16px 0 16px !important;
  padding: 16px 10px !important;
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
}
body.cw-result .saju-pillar {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}
body.cw-result .saju-pillar__label {
  font: 600 10px/1 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  letter-spacing: 0.08em !important;
}
body.cw-result .saju-pillar__char {
  font: 700 18px/1 var(--cw-font-serif) !important;
  color: var(--cw-dark) !important;
}
body.cw-result .saju-pillar__heaven { color: var(--cw-blue) !important; }
body.cw-result .saju-pillar__earth { color: var(--cw-dark) !important; }

/* swipe hint 폐기 (한 페이지 stack) */
body.cw-result .r1a-swipe-hint,
body.cw-result .pricing-hint { display: none !important; }

/* ========================================================
   2. cw-divider / cw-section-gap (chungwol-index 동일 — 옅은 분리)
   ======================================================== */
body.cw-result .cw-divider,
body.cw-result hr {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 20px auto !important;
  border: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.04) !important;
}

/* result-section 사이 자연 분리 */
body.cw-result .result-section + .result-section,
body.cw-result .result-tldr + section,
body.cw-result section + section {
  margin-top: 0 !important;
}
body.cw-result .result-section,
body.cw-result section[class*="result-"] {
  padding: 24px 0 24px 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border-top: 1px solid rgba(0,0,0,0.04) !important;
}
body.cw-result .result-section--new:first-of-type { border-top: 0 !important; }

/* ========================================================
   3. TLDR (한 줄 풀이) — 청월 review-card 톤 (큰 pull quote)
   ======================================================== */
body.cw-result .result-tldr {
  background: #fff !important;
  margin: 0 16px 4px 16px !important;
  padding: 22px 18px !important;
  border-radius: 10px !important;
  border: 1px solid var(--cw-border) !important;
  text-align: center !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02) !important;
}
body.cw-result .result-tldr__label {
  display: block !important;
  font: 700 10.5px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
}
body.cw-result .result-tldr__phrase {
  font: 700 19px/1.45 var(--cw-font-serif) !important;
  color: var(--cw-dark) !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.02em !important;
  word-break: keep-all !important;
}
body.cw-result .result-tldr__sub {
  font: 500 13px/1.6 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  margin: 0 0 16px 0 !important;
}
body.cw-result .result-tldr__share {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 18px !important;
  background: var(--cw-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font: 600 12.5px/1 var(--cw-font) !important;
  cursor: pointer !important;
}
body.cw-result .result-tldr__share:hover { background: #062E5C !important; }

body.cw-result .result-tldr__preview {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cw-border) !important;
  text-align: left !important;
}
body.cw-result .result-tldr__preview-label {
  font: 600 11.5px/1 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 10px 0 !important;
  text-align: center !important;
}
body.cw-result .result-tldr__preview-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.cw-result .result-tldr__preview-list li {
  display: grid !important;
  grid-template-columns: 28px auto 1fr !important;
  gap: 6px 10px !important;
  align-items: baseline !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed var(--cw-border) !important;
}
body.cw-result .result-tldr__preview-list li:last-child { border-bottom: 0 !important; }
body.cw-result .result-tldr__preview-num {
  font: 700 12px/1 var(--cw-font-serif) !important;
  color: var(--cw-blue) !important;
}
body.cw-result .result-tldr__preview-master {
  font: 700 13px/1.3 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  white-space: nowrap !important;
}
body.cw-result .result-tldr__preview-desc {
  font: 500 12px/1.5 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  word-break: keep-all !important;
}
body.cw-result .result-tldr__preview-hint { display: none !important; }

/* ========================================================
   4. Ch1~5 (result-section--new + chapter-hero + result-chapter)
   청월 hero-card 패턴 그대로
   ======================================================== */
/* Chapter hero = 청월당 hero-card 패턴 (4:5 + overlay 라벨 좌측 하단) */
body.cw-result .chapter-hero {
  position: relative !important;
  margin: 0 16px 20px 16px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  background: linear-gradient(135deg, #F5F3EC 0%, #E8E4D8 100%) !important;
  display: block !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}
body.cw-result .chapter-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.62) 100%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
body.cw-result .chapter-hero picture,
body.cw-result .chapter-hero img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  z-index: 1 !important;
}
/* caption = 청월 hero-card__label 톤 (white 좌측 하단, 큼) */
body.cw-result .chapter-hero__caption {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  font: 700 16px/1.3 var(--cw-font) !important;
  color: #fff !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  letter-spacing: -0.025em !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  z-index: 3 !important;
  word-break: keep-all !important;
}

/* Chapter header — 청월당 review-section 위계 (sa-in 작게 + label/title 위계 명확) */
body.cw-result .result-chapter {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 16px 18px 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.cw-result .result-chapter__sa-in {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border) !important;
  flex-shrink: 0 !important;
}
body.cw-result .result-chapter__sa-in img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body.cw-result .result-chapter__head { min-width: 0 !important; }
/* 라벨 = 청월 eyebrow (blue 11px 700 tracking 0.2em uppercase) */
body.cw-result .result-chapter__label {
  display: block !important;
  font: 700 11px/1.2 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 6px 0 !important;
}
/* 제목 = serif 강조 (review-section 톤 22px 800) */
body.cw-result .result-chapter__title {
  font: 800 22px/1.3 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 4px 0 !important;
  word-break: keep-all !important;
}
body.cw-result .result-chapter__sub {
  font: 500 13px/1.55 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  margin: 0 !important;
  letter-spacing: -0.005em !important;
}
body.cw-result .result-chapter__signoff {
  font: 600 13px/1 var(--cw-font-serif) !important;
  color: var(--cw-gray) !important;
  text-align: right !important;
  margin: 18px 16px 0 16px !important;
  letter-spacing: 0.02em !important;
}

/* result-section 간 청월 옅은 분리 (.cw-divider 톤 + 28px gap) */
body.cw-result section.result-section + section.result-section,
body.cw-result section.result-section--new + section.result-section--new {
  border-top: 1px solid rgba(0,0,0,0.04) !important;
}

/* summary-highlight — 청월 pull-quote 톤 (큰 serif 인용구 + 양옆 ─ 라인, 가운데 정렬) */
body.cw-result .summary-highlight {
  background: transparent !important;
  border: 0 !important;
  padding: 22px 24px 26px 24px !important;
  margin: 4px 16px 22px 16px !important;
  border-radius: 0 !important;
  text-align: center !important;
  position: relative !important;
}
body.cw-result .summary-highlight::before,
body.cw-result .summary-highlight::after {
  content: '' !important;
  display: block !important;
  width: 32px !important;
  height: 1px !important;
  background: var(--cw-blue) !important;
  margin: 0 auto !important;
  opacity: 0.55 !important;
}
body.cw-result .summary-highlight::before { margin-bottom: 16px !important; }
body.cw-result .summary-highlight::after  { margin-top: 16px !important; }
body.cw-result .summary-highlight__text {
  font: 600 18px/1.65 var(--cw-font-serif) !important;
  color: var(--cw-dark) !important;
  margin: 0 !important;
  letter-spacing: -0.015em !important;
  word-break: keep-all !important;
}

/* 본문 단락 — Pretendard 14px 1.85 + 단락 간 18px gap */
body.cw-result .personality-text,
body.cw-result .result-section__body {
  font: 500 14px/1.85 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  padding: 0 18px !important;
  margin: 0 0 18px 0 !important;
  letter-spacing: -0.005em !important;
  word-break: keep-all !important;
}
body.cw-result .personality-text p,
body.cw-result .result-section__body p {
  margin: 0 0 18px 0 !important;
}
body.cw-result .personality-text p:last-child,
body.cw-result .result-section__body p:last-child { margin-bottom: 0 !important; }
body.cw-result .personality-text strong,
body.cw-result .result-section__body strong { color: var(--cw-dark) !important; font-weight: 700 !important; }
body.cw-result .result-section__title {
  font: 800 18px/1.3 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.03em !important;
  margin: 4px 16px 14px 16px !important;
}
body.cw-result .result-traits {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 0 16px 16px 16px !important;
}
body.cw-result .result-traits__col {
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
  padding: 14px 12px !important;
}
body.cw-result .result-traits__col--strength { border-left: 3px solid var(--cw-blue) !important; }
body.cw-result .result-traits__col--weakness { border-left: 3px solid var(--cw-blue-mid) !important; }
body.cw-result .result-traits__label {
  font: 700 12px/1 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  margin: 0 0 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
body.cw-result .result-traits__label-han {
  font: 700 10px/1 var(--cw-font-serif) !important;
  color: var(--cw-gray) !important;
  letter-spacing: 0.08em !important;
}
body.cw-result .result-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
body.cw-result .result-tags > * {
  background: var(--cw-cream) !important;
  color: var(--cw-dark) !important;
  font: 600 11px/1 var(--cw-font) !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  border: 0 !important;
}

/* preview-card (오행 차트 / 격국 / 신살 / 용신) */
body.cw-result .preview-card {
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin: 0 16px 16px 16px !important;
  max-width: calc(100% - 32px) !important;
  box-sizing: border-box !important;
}
body.cw-result .preview-card img,
body.cw-result .preview-card picture {
  max-width: 100% !important;
  height: auto !important;
}

/* ========================================================
   5. lock teaser (r1a-lock-teaser — paywall 가림 카드)
   ======================================================== */
body.cw-result .r1a-lock-teaser {
  position: relative !important;
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
  padding: 18px 16px 20px 16px !important;
  margin: 4px 16px 16px 16px !important;
  text-align: left !important;
  overflow: hidden !important;
}
body.cw-result .r1a-lock-teaser__label {
  display: block !important;
  font: 700 10px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px 0 !important;
}
body.cw-result .r1a-lock-teaser__title {
  font: 800 16px/1.35 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 12px 0 !important;
}
body.cw-result .r1a-lock-teaser__hook {
  font: 500 13.5px/1.75 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  margin: 0 0 12px 0 !important;
  word-break: keep-all !important;
}
body.cw-result .r1a-lock-teaser__hook .sp-keyword,
body.cw-result .sp-keyword {
  color: var(--cw-blue) !important;
  font-weight: 700 !important;
}
body.cw-result .r1a-lock-teaser__deep {
  font: 500 13px/1.8 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  margin: 0 0 10px 0 !important;
  filter: blur(3.5px) !important;
  word-break: keep-all !important;
  user-select: none !important;
  pointer-events: none !important;
}
body.cw-result .r1a-lock-teaser__deep-end {
  font: 600 11.5px/1 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  text-align: center !important;
  margin: 12px 0 16px 0 !important;
  letter-spacing: 0.04em !important;
}
body.cw-result .r1a-lock-teaser__cta {
  display: block !important;
  width: 100% !important;
  background: var(--cw-blue) !important;
  color: #fff !important;
  font: 700 14px/1 var(--cw-font) !important;
  padding: 13px 20px !important;
  border: 0 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}
body.cw-result .r1a-lock-teaser__cta:hover { background: #062E5C !important; }

/* ========================================================
   6. chapter-gets (풀버전 구성 카드)
   ======================================================== */
/* (사토시 5/22) 챕터별 "풀버전 공개 구성" 강조 — 흰 카드 + 골드 좌측바/배지/불릿 */
body.cw-result .chapter-gets {
  background: #fff !important;
  border: 1px solid rgba(201,162,39,0.38) !important;
  border-left: 4px solid #C9A227 !important;
  border-radius: 12px !important;
  padding: 20px 18px 16px !important;
  margin: 4px 16px 16px 16px !important;
  box-shadow: 0 6px 18px rgba(4,51,109,0.14) !important;
  position: relative !important;
}
body.cw-result .chapter-gets::before {
  content: "🔓 풀버전 공개" !important;
  position: absolute !important; top: -11px !important; right: 14px !important;
  background: linear-gradient(135deg, #C9A227, #E8C667) !important;
  color: #1B2F49 !important;
  font: 800 10.5px/1 var(--cw-font) !important; letter-spacing: 0.03em !important;
  padding: 6px 12px !important; border-radius: 999px !important;
  box-shadow: 0 3px 10px rgba(201,162,39,0.42) !important;
}
body.cw-result .chapter-gets__label {
  font: 800 14px/1.35 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  margin: 0 0 12px 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
body.cw-result .chapter-gets__label-sub {
  font: 700 11px/1 var(--cw-font) !important;
  color: #B08D1E !important;
  letter-spacing: 0.04em !important;
}
body.cw-result .chapter-gets ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.cw-result .chapter-gets li {
  position: relative !important;
  padding: 7px 0 7px 20px !important;
  font: 500 13.5px/1.65 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  word-break: keep-all !important;
}
body.cw-result .chapter-gets li + li { border-top: 1px solid rgba(201,162,39,0.12) !important; }
body.cw-result .chapter-gets li::before {
  content: "✦" !important;
  position: absolute !important;
  left: 2px !important;
  top: 8px !important;
  color: #C9A227 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}
body.cw-result .chapter-gets li b { color: var(--cw-navy) !important; font-weight: 800 !important; }

/* ========================================================
   7. Paywall + Grand Finale (pricing-card + r1d-finale-hero)
   ======================================================== */
body.cw-result .pricing-card {
  background: #fff !important;
  padding: 28px 0 24px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--cw-border) !important;
}
body.cw-result .r1d-finale-hero {
  margin: 0 16px 22px 16px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
body.cw-result .r1d-finale-hero .chapter-hero {
  margin: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: 5/3 !important;
}
body.cw-result .r1d-finale-hero__eyebrow {
  display: block !important;
  font: 700 10px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 20px 18px 10px 18px !important;
}
body.cw-result .r1d-finale-hero__title {
  font: 800 21px/1.35 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.03em !important;
  margin: 0 18px 14px 18px !important;
  word-break: keep-all !important;
}
body.cw-result .r1d-finale-hero__lead {
  font: 500 13.5px/1.75 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  margin: 0 18px 16px 18px !important;
  word-break: keep-all !important;
}
body.cw-result .r1d-finale-hero__lead strong,
body.cw-result .r1d-finale-hero__lead .sp-keyword { color: var(--cw-blue) !important; font-weight: 700 !important; }
body.cw-result .r1d-finale-hero__gets {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 18px 18px 18px !important;
}
body.cw-result .r1d-finale-hero__gets li {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 4px 8px !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed var(--cw-border) !important;
  font: 500 12.5px/1.55 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  word-break: keep-all !important;
}
body.cw-result .r1d-finale-hero__gets li::before {
  content: "✓" !important;
  color: var(--cw-blue) !important;
  font-weight: 700 !important;
}
body.cw-result .r1d-finale-hero__gets li:last-child { border-bottom: 0 !important; }
body.cw-result .r1d-finale-hero__gets li span {
  font-weight: 700 !important;
  color: var(--cw-dark) !important;
  white-space: nowrap !important;
}
body.cw-result .r1d-finale-hero__price-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 18px 12px 18px !important;
  flex-wrap: wrap !important;
}
body.cw-result .r1d-finale-hero__price-original {
  font: 500 12px/1 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  text-decoration: line-through !important;
}
body.cw-result .r1d-finale-hero__price-new {
  font: 800 24px/1 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  letter-spacing: -0.02em !important;
}
body.cw-result .r1d-finale-hero__price-new strong {
  font: 800 28px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
}
body.cw-result .r1d-finale-hero__price-discount {
  font: 700 11px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  background: rgba(4,51,109,0.10) !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
}
body.cw-result .r1d-finale-hero__cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: calc(100% - 36px) !important;
  margin: 0 18px 14px 18px !important;
  padding: 15px 22px !important;
  background: var(--cw-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font: 700 16px/1 var(--cw-font) !important;
  cursor: pointer !important;
  letter-spacing: -0.01em !important;
}
body.cw-result .r1d-finale-hero__cta:hover { background: #062E5C !important; }
body.cw-result .r1d-finale-hero__cta-arrow { font-size: 17px !important; }
body.cw-result .r1d-finale-hero__trust {
  list-style: none !important;
  padding: 12px 18px 18px 18px !important;
  margin: 0 !important;
  background: var(--cw-cream) !important;
  border-top: 1px solid var(--cw-border) !important;
}
body.cw-result .r1d-finale-hero__trust li {
  font: 500 12px/1.55 var(--cw-font) !important;
  color: var(--cw-text-mid) !important;
  margin: 3px 0 !important;
}
body.cw-result .r1d-finale-hero__trust strong { color: var(--cw-blue) !important; font-weight: 700 !important; }

/* pricing-headline / sub */
body.cw-result .pricing-headline {
  font: 800 19px/1.4 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  text-align: center !important;
  margin: 24px 16px 10px 16px !important;
  letter-spacing: -0.03em !important;
  word-break: keep-all !important;
}
body.cw-result .pricing-sub {
  font: 500 13px/1.7 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  text-align: center !important;
  margin: 0 16px 14px 16px !important;
  word-break: keep-all !important;
}

/* pricing-tiers carousel — 청월 reco-carousel 패턴 */
body.cw-result .pricing-carousel-wrap {
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.cw-result .pricing-tiers {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 4px 16px 16px 16px !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
body.cw-result .pricing-tiers::-webkit-scrollbar { display: none !important; }
body.cw-result .pricing-tier {
  flex: 0 0 240px !important;
  background: #fff !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 10px !important;
  padding: 14px 14px 18px 14px !important;
  scroll-snap-align: start !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
body.cw-result .pricing-tier--best {
  border-color: var(--cw-blue) !important;
  box-shadow: 0 4px 16px rgba(4,51,109,0.14) !important;
}
body.cw-result .pricing-tier__best-badge {
  position: absolute !important;
  top: -8px !important;
  left: 14px !important;
  background: var(--cw-blue) !important;
  color: #fff !important;
  font: 700 10px/1 var(--cw-font) !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
}
body.cw-result .pricing-tier__visual {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  background: linear-gradient(135deg, #F5F3EC 0%, #E8E4D8 100%) !important;
}

/* 옛 inline negative margin overflow 영구 fix (사토시 P0 "사이즈 다 삐져나가") */
body.cw-result .premium-locked__visual {
  margin: 0 0 14px 0 !important;
  width: 100% !important;
  border-radius: 10px !important;
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
}
body.cw-result .premium-locked--with-visual { padding: 16px !important; }
body.cw-result .pricing-tier__visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body.cw-result .pricing-tier__name {
  font: 800 15.5px/1.3 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.025em !important;
  word-break: keep-all !important;
}
body.cw-result .pricing-tier__copy {
  font: 500 12px/1.6 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  margin: 0 0 10px 0 !important;
  flex: 1 !important;
  word-break: keep-all !important;
}
body.cw-result .pricing-tier__copy strong { color: var(--cw-dark) !important; font-weight: 700 !important; }
body.cw-result .pricing-tier__original {
  font: 500 11.5px/1 var(--cw-font) !important;
  color: var(--cw-gray) !important;
  text-decoration: line-through !important;
  margin: 0 0 3px 0 !important;
}
body.cw-result .pricing-tier__price {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
}
body.cw-result .pricing-tier__price > span:first-child {
  font: 800 20px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
}
body.cw-result .pricing-tier__discount {
  font: 700 10px/1 var(--cw-font) !important;
  color: var(--cw-blue) !important;
  background: rgba(4,51,109,0.10) !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
}

/* 옛 premium-locked overlay 폐기 */
body.cw-result .premium-locked__overlay { display: none !important; }
body.cw-result .premium-locked__blur { filter: blur(2px) !important; }
body.cw-result .premium-locked { cursor: default !important; }

/* ========================================================
   8. share-section (마지막 공유 카드)
   ======================================================== */
body.cw-result .share-section {
  background: #fff !important;
  margin: 0 !important;
  padding: 28px 16px 24px 16px !important;
  text-align: center !important;
  border-top: 1px solid var(--cw-border) !important;
}
body.cw-result .share-section__title {
  font: 700 14.5px/1.4 var(--cw-font) !important;
  color: var(--cw-dark) !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.025em !important;
}
body.cw-result .share-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: center !important;
}
body.cw-result .share-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 10px 16px !important;
  font: 600 12px/1 var(--cw-font) !important;
  border: 1px solid var(--cw-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--cw-dark) !important;
  cursor: pointer !important;
}
body.cw-result .share-btn:hover { background: var(--cw-cream) !important; }
body.cw-result .share-btn--kakao { background: #FEE500 !important; color: #3C1E1E !important; border-color: #FEE500 !important; }
body.cw-result .share-btn--twitter { background: #1DA1F2 !important; color: #fff !important; border-color: #1DA1F2 !important; }

/* ========================================================
   9. MBTI 섹션 + suggestHero — 청월 톤 override (옛 gold 톤 차단)
   ======================================================== */
body.cw-result #mbtiPromoSection,
body.cw-result #mbtiCrossSection { background: transparent !important; }
body.cw-result #mbtiPromoSection [style*="background"],
body.cw-result #mbtiCrossSection [style*="background"],
body.cw-result #mbtiTipBox,
body.cw-result .preview-card[style*="background"] {
  background: #fff !important;
  border-color: var(--cw-border) !important;
}
body.cw-result #mbtiLabel { background: rgba(4,51,109,0.08) !important; color: var(--cw-blue) !important; }
body.cw-result #mbtiMatchBar { background: var(--cw-blue) !important; }

body.cw-result #suggestHero {
  display: block !important;
  margin: 16px auto 0 !important;
  padding: 0 16px !important;
  max-width: 100% !important;
}
body.cw-result #suggestHero [style*="background"] {
  background: #fff !important;
  border-color: var(--cw-border) !important;
}

/* ========================================================
   10. footer
   ======================================================== */
body.cw-result .app-footer {
  background: #fff !important;
  border-top: 1px solid var(--cw-border) !important;
  padding: 20px 16px !important;
  margin: 0 !important;
  text-align: center !important;
  font: 500 11.5px/1.6 var(--cw-font) !important;
  color: var(--cw-gray) !important;
}

/* ========================================================
   11. 분석 차트 청월 톤 (B-3-0a-1, 5/21) — 오행/격국/신살/조후/일간강약
   inline <style> 차트 CSS → 청월 톤 이관. B-3-2 inline 삭제 후에도 유지.
   원칙: 박스/accent = 청월 네이비·베이지 + 그라데이션 제거(AI티). 의미색(오행/길흉/강약) = 정보라 유지.
   ======================================================== */

/* ----- 오행 = 청월 오각 상생상극 도식 SVG (B-3-0a-S1, five-circle 100% 카피) ----- */
body.cw-result .ohaeng-chart { padding: 8px 0 4px !important; }
body.cw-result .ohaeng-pentagram {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  margin: 0 auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* ----- (구) 오행 막대 — 청월 톤 BC (pentagram 전환으로 미사용) ----- */
body.cw-result .ohaeng-bar { border-bottom: 1px solid rgba(27,47,73,0.08) !important; }
body.cw-result .ohaeng-bar__track {
  background: #ECEAE3 !important;
  box-shadow: inset 0 1px 2px rgba(17,17,17,0.05) !important;
}
body.cw-result .ohaeng-bar__fill { box-shadow: none !important; }
body.cw-result .ohaeng-bar__fill--wood  { background: #4A7359 !important; }
body.cw-result .ohaeng-bar__fill--fire  { background: #B05656 !important; }
body.cw-result .ohaeng-bar__fill--earth { background: #C0902F !important; }
body.cw-result .ohaeng-bar__fill--metal { background: #7A8290 !important; }
body.cw-result .ohaeng-bar__fill--water { background: #2B557E !important; }
body.cw-result .ohaeng-bar__value { color: var(--cw-navy) !important; }
body.cw-result .ohaeng-analysis {
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
  border-left: 3px solid var(--cw-navy) !important;
  color: var(--cw-dark) !important;
}

/* ----- 격국 카드 (그라데이션 bg→단색 + gold→navy) ----- */
body.cw-result .gyeokguk-card {
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
  box-shadow: 0 2px 10px rgba(17,17,17,0.04) !important;
}
body.cw-result .gyeokguk-card__icon {
  background: rgba(27,47,73,0.07) !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
}
body.cw-result .gyeokguk-card__desc { color: var(--cw-blue) !important; }
body.cw-result .gyeokguk-card__traits { border-top: 1px solid var(--cw-border-mid) !important; }
body.cw-result .gyeokguk-trait-chip {
  background: rgba(27,47,73,0.07) !important;
  border: 1px solid rgba(27,47,73,0.14) !important;
  color: var(--cw-navy) !important;
}
/* 강점(--pos)/약점(--neg) = 의미색 유지 */
body.cw-result .gyeokguk-card__career {
  background: rgba(27,47,73,0.05) !important;
  border-left: 3px solid var(--cw-navy) !important;
  color: var(--cw-text-mid) !important;
}
body.cw-result .gyeokguk-card__career-label { color: var(--cw-blue) !important; }
body.cw-result .gyeokguk-card__advice {
  background: var(--cw-cream) !important;
  color: var(--cw-text-mid) !important;
}

/* ----- 신살 매거진 카드 (accent=길흉 의미색 JS inline 유지, 박스만 청월) ----- */
body.cw-result .sinsal-mag-card {
  background: #fff !important;
  border: 1px solid var(--cw-border-mid) !important;
  box-shadow: 0 2px 10px rgba(17,17,17,0.05) !important;
}
body.cw-result .sinsal-mag-card__name { color: var(--cw-navy) !important; }
body.cw-result .sinsal-mag-card__effect { color: var(--cw-text-mid) !important; }

/* ----- 조후용신 (chip gold→navy, sub blue 유지) ----- */
body.cw-result .johu-yongsin-section { border-top: 1px solid var(--cw-border-mid) !important; }
body.cw-result .johu-yongsin-title { color: var(--cw-gray) !important; }
body.cw-result .johu-yongsin-chip--main {
  background: rgba(27,47,73,0.10) !important;
  border: 1px solid rgba(27,47,73,0.22) !important;
  color: var(--cw-navy) !important;
}
body.cw-result .johu-yongsin-chip--sub {
  background: rgba(43,85,126,0.10) !important;
  border: 1px solid rgba(43,85,126,0.20) !important;
  color: var(--cw-blue-mid) !important;
}
body.cw-result .johu-yongsin-reason { color: var(--cw-text-mid) !important; }

/* ----- 일간 강약 게이지 (bar 색 = result.js inline → 0a-2 에서 청월 교체. 여기는 fallback navy) ----- */
body.cw-result .ilgan-strength-card {
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
}
body.cw-result .ilgan-strength-card::before { color: rgba(27,47,73,0.06) !important; }
body.cw-result .ilgan-strength-card__level {
  background: var(--cw-navy) !important;
  color: #fff !important;
}
/* 청월 7원 점층 스펙트럼 (strength-diagram 카피, 신약→신강) */
body.cw-result .ilgan-strength-gauge {
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  margin-bottom: 14px !important;
}
body.cw-result .strength-spectrum { width: 100%; }
body.cw-result .strength-spectrum__axis {
  display: flex;
  justify-content: space-between;
  font: 700 11px/1 var(--cw-font);
  color: var(--cw-gray);
  margin-bottom: 10px;
  letter-spacing: 0.03em;
}
body.cw-result .strength-spectrum__track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 2px;
}
body.cw-result .strength-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--dot);
  flex-shrink: 0;
  transition: transform .3s ease;
}
body.cw-result .strength-dot--active {
  width: 42px;
  height: 42px;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--cw-navy);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.cw-result .strength-dot__val {
  font: 800 13px/1 var(--cw-font);
  font-style: normal;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
body.cw-result .ilgan-strength-card__desc strong { color: var(--cw-blue) !important; }

/* ========================================================
   12. 프리뷰/사주표 청월 톤 (B-3-0b/0c) — chapters-preview / oneshot / saju-pillar
   gold·cream → 청월 navy·베이지. 한자 element 색 = 의미색 유지.
   ======================================================== */

/* ----- chapters-preview (paywall 챕터 목록 프리뷰) ----- */
body.cw-result .chapters-preview__toggle {
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
  color: var(--cw-navy) !important;
  box-shadow: 0 2px 8px rgba(27,47,73,0.06) !important;
}
body.cw-result .chapters-preview__toggle:hover {
  border-color: var(--cw-navy) !important;
  box-shadow: 0 6px 16px rgba(27,47,73,0.12) !important;
}
body.cw-result .chapters-preview__arrow { color: var(--cw-blue-mid) !important; }
body.cw-result .chapters-preview__list {
  background: #fff !important;
  border: 1px solid var(--cw-border-mid) !important;
}
body.cw-result .chapters-preview__item { border-bottom-color: rgba(27,47,73,0.12) !important; }
body.cw-result .chapters-preview__num {
  color: var(--cw-blue) !important;
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
  box-shadow: none !important;
}
body.cw-result .chapters-preview__item strong { color: var(--cw-dark) !important; }
body.cw-result .chapters-preview__item p { color: var(--cw-text-mid) !important; }
body.cw-result .chapters-preview__cta {
  background: var(--cw-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(4,51,109,0.25) !important;
}
body.cw-result .chapters-preview__cta:hover { box-shadow: 0 10px 24px rgba(4,51,109,0.35) !important; }

/* ----- oneshot-card (epilogue 한 컷 카드) ----- */
body.cw-result .oneshot-card {
  background: var(--cw-cream) !important;
  border: 1px solid var(--cw-border-mid) !important;
  box-shadow: 0 4px 18px rgba(27,47,73,0.08) !important;
}
body.cw-result .oneshot-card__visual {
  background: #fff !important;
  border: 1px solid var(--cw-border-mid) !important;
  box-shadow: 0 2px 10px rgba(27,47,73,0.12) !important;
}
body.cw-result .oneshot-card__visual-text { color: var(--cw-blue) !important; }
body.cw-result .oneshot-card__btn {
  background: var(--cw-blue) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(4,51,109,0.28) !important;
}
body.cw-result .oneshot-card__btn:hover { box-shadow: 0 8px 20px rgba(4,51,109,0.4) !important; }

/* ----- saju-pillar (사주 4기둥) — 한자 의미색 유지, 구분선만 navy ----- */
body.cw-result .saju-pillar__heaven { border-bottom-color: rgba(27,47,73,0.28) !important; }

/* ========================================================
   13. 사진 위 동적 글자 보험 (B-3-1) — 청월은 글자·scrim 다 PNG에 박음.
   우리도 사진 프롬프트에 scrim 포함(spec). CSS scrim/입체 꾸밈 = 청월에 없어 안 만듦.
   동적 글자(사용자명/가격/CTA)만 사진 어두운 영역 위에 얹음 → 톤 안 튀게 그림자 1줄만.
   ======================================================== */
body.cw-result .cw-overlay-text {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  word-break: keep-all;
}

/* ========================================================
   14. 슬라이드 1-7 청월 톤 (B-3-3) — Cover / TL;DR / Chapter 본문
   옛 gold/cream → 청월 navy·blue. 라벨·강조=blue, accent선=navy,
   strong highlight=sky 배경. 강점/약점 green·red = 의미색 유지(안 건드림).
   inline 살아있는 동안 override(!important). 추후 inline 삭제(B-3-2e) 시 그대로 SSoT.
   ======================================================== */

/* ----- Cover swipe hint (Slide 1) ----- */
body.cw-result .r1a-swipe-hint {
  color: var(--cw-blue) !important;
  background: linear-gradient(135deg, rgba(27,47,73,0.04) 0%, rgba(4,51,109,0.07) 100%) !important;
  border-color: rgba(27,47,73,0.22) !important;
  box-shadow: 0 4px 14px rgba(27,47,73,0.08) !important;
}
body.cw-result .r1a-swipe-hint .r1a-arrow { color: var(--cw-blue) !important; }

/* ----- 슬라이더 progress (전 슬라이드 공통 chrome) ----- */
body.cw-result .page-slider__progress { border-bottom-color: rgba(27,47,73,0.18) !important; }
body.cw-result .page-slider__progress-fill {
  background: linear-gradient(90deg, var(--cw-blue-mid) 0%, var(--cw-navy) 100%) !important;
}
body.cw-result .page-slider__progress-label { color: var(--cw-blue) !important; }

/* ----- TL;DR 시그니처 (Slide 2) ----- */
body.cw-result .result-tldr__label { color: var(--cw-blue) !important; }
body.cw-result .result-tldr__phrase { color: var(--cw-dark) !important; }
body.cw-result .result-tldr__phrase::before,
body.cw-result .result-tldr__phrase::after { background: rgba(27,47,73,0.32) !important; }
body.cw-result .result-tldr__share {
  color: var(--cw-blue) !important;
  border-color: rgba(4,51,109,0.32) !important;
}
body.cw-result .result-tldr__share:hover {
  background: rgba(4,51,109,0.06) !important;
  border-color: rgba(4,51,109,0.5) !important;
}
body.cw-result .result-tldr__preview { border-top-color: rgba(27,47,73,0.22) !important; }
body.cw-result .result-tldr__preview-label { color: var(--cw-blue) !important; }
body.cw-result .result-tldr__preview-list li {
  background: var(--cw-cream) !important;
  border-color: var(--cw-border-mid) !important;
}
body.cw-result .result-tldr__preview-num { color: var(--cw-blue) !important; }
body.cw-result .result-tldr__preview-master { color: var(--cw-dark) !important; }
body.cw-result .result-tldr__preview-hint { color: var(--cw-blue-mid) !important; }
/* MBTI 교차 섹션 (보통 숨김, class 레벨만 — 깊은 inline 은 DOM 정리 때) */
body.cw-result .result-epilogue__label { color: var(--cw-blue) !important; }
body.cw-result .btn--outline-gold {
  color: var(--cw-blue) !important;
  border-color: var(--cw-blue) !important;
}

/* ----- 챕터 헤더 (Slide 3-7) ----- */
body.cw-result .result-chapter { border-bottom-color: var(--cw-border-mid) !important; }
body.cw-result .result-chapter::after { background: var(--cw-blue) !important; opacity: 0.55 !important; }
body.cw-result .result-chapter__sa-in::after { border-color: rgba(27,47,73,0.16) !important; }
body.cw-result .result-chapter__label { color: var(--cw-blue) !important; }
body.cw-result .result-chapter__label::before { background: var(--cw-blue) !important; }
body.cw-result .result-chapter__title { color: var(--cw-dark) !important; }
body.cw-result .result-chapter__sub {
  color: var(--cw-text-mid) !important;
  border-left-color: rgba(27,47,73,0.32) !important;
}
body.cw-result .result-chapter__signoff {
  color: var(--cw-gray) !important;
  border-top-color: var(--cw-border-mid) !important;
}

/* ----- 챕터 본문 — summary-highlight / personality / pullquote ----- */
body.cw-result .summary-highlight::before { color: var(--cw-blue) !important; opacity: 0.12 !important; }
body.cw-result .summary-highlight__text {
  color: var(--cw-dark) !important;
  border-left-color: rgba(27,47,73,0.4) !important;
}
body.cw-result .summary-highlight__text p:first-child::first-letter { color: var(--cw-blue) !important; }
body.cw-result .personality-text {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.1) !important;
  border-left-color: rgba(27,47,73,0.32) !important;
}
body.cw-result .personality-text strong {
  color: var(--cw-blue) !important;
  background: linear-gradient(transparent 70%, rgba(189,206,237,0.45) 70%) !important;
}
body.cw-result .magazine-pullquote {
  color: var(--cw-blue) !important;
  border-top-color: rgba(27,47,73,0.28) !important;
  border-bottom-color: rgba(27,47,73,0.28) !important;
}
body.cw-result .magazine-pullquote::before { background: var(--cw-navy) !important; }

/* ========================================================
   15. Paywall (Slide 8) + Grand Finale (Slide 9) 청월 톤 (B-3-4) — P0 결제 영역
   gold gradient/badge/price/shadow → 청월 blue(#04336D)·navy. CTA=blue gradient,
   다크 CTA 카드=navy, 가격=blue. 할인 red·건강 green = 의미색 유지. warm cream → 청월 light.
   ======================================================== */

/* ----- premium-locked 카드 ----- */
body.cw-result .premium-locked:hover { box-shadow: 0 8px 28px rgba(27,47,73,0.12) !important; }
body.cw-result .premium-locked--with-visual { border-color: rgba(27,47,73,0.16) !important; }
body.cw-result .premium-locked__badge { background: linear-gradient(135deg, #2B557E, #04336D) !important; }
body.cw-result .premium-locked--wealth .premium-locked__visual--placeholder {
  background: linear-gradient(135deg, #2B557E 0%, #3B5E86 50%, #1B2F49 100%) !important;
}
/* destiny(navy)·health(green) placeholder = 의미색 유지 */

/* ----- 통합 결제 CTA (4카드 아래) ----- */
body.cw-result .r1c-deeper-cta__btn {
  background: linear-gradient(135deg, #04336D 0%, #1B2F49 100%) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(4,51,109,0.30) !important;
}
body.cw-result .r1c-deeper-cta__btn:hover { box-shadow: 0 12px 32px rgba(4,51,109,0.40) !important; }

/* ----- 가격 카드/캐러셀 ----- */
body.cw-result .pricing-card {
  background: #fff !important;
  border-color: var(--cw-border-mid) !important;
  box-shadow: 0 8px 32px rgba(27,47,73,0.08) !important;
}
body.cw-result .pricing-card::before { background: linear-gradient(90deg, #2B557E, #04336D, #2B557E) !important; }
body.cw-result .pricing-tier { border-color: rgba(27,47,73,0.18) !important; }
body.cw-result .pricing-tier:hover {
  border-color: var(--cw-blue) !important;
  box-shadow: 0 12px 28px rgba(27,47,73,0.12) !important;
}
body.cw-result .pricing-tier--best {
  border-color: var(--cw-blue) !important;
  background: linear-gradient(180deg, #F5F8FC 0%, #FFFFFF 100%) !important;
  box-shadow: 0 8px 24px rgba(4,51,109,0.14) !important;
}
body.cw-result .pricing-tier__best-badge { background: var(--cw-blue) !important; }
body.cw-result .pricing-tier__price { color: var(--cw-blue) !important; }
body.cw-result .pricing-tier__visual { background: linear-gradient(135deg, #E5EAF2 0%, #EEF2F8 100%) !important; }
/* 할인 칩 red = 의미색 유지 */

/* 결정타 다크 CTA 카드 */
body.cw-result .pricing-tier--cta {
  background: linear-gradient(180deg, #1B2F49 0%, #04336D 100%) !important;
  border-color: var(--cw-blue) !important;
  color: #fff !important;
  box-shadow: 0 10px 32px rgba(27,47,73,0.28), inset 0 0 0 1px rgba(189,206,237,0.32) !important;
}
body.cw-result .pricing-tier--cta .pricing-tier__name,
body.cw-result .pricing-tier--cta .pricing-tier__copy { color: #fff !important; }
body.cw-result .pricing-tier--cta .pricing-tier__price { color: var(--cw-sky) !important; }
body.cw-result .pricing-tier--cta-eyebrow { color: var(--cw-sky) !important; }
body.cw-result .pricing-tier--cta-trust {
  color: rgba(255,255,255,0.78) !important;
  border-top-color: rgba(189,206,237,0.28) !important;
}
body.cw-result .pricing-tier--cta-button {
  background: #fff !important;
  color: var(--cw-blue) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25) !important;
}
body.cw-result .pricing-tier--cta-button:hover { box-shadow: 0 10px 26px rgba(0,0,0,0.32) !important; }

/* dots / hint / main-btn / fab */
body.cw-result .pricing-dot { background: rgba(27,47,73,0.24) !important; }
body.cw-result .pricing-dot.is-active {
  background: linear-gradient(90deg, #2B557E, #04336D) !important;
  box-shadow: 0 2px 6px rgba(4,51,109,0.32) !important;
}
body.cw-result .pricing-main-btn {
  background: linear-gradient(135deg, #04336D, #1B2F49) !important;
  box-shadow: 0 4px 16px rgba(4,51,109,0.25) !important;
}
body.cw-result .pricing-main-btn:hover { box-shadow: 0 6px 24px rgba(4,51,109,0.35) !important; }
body.cw-result .pricing-hint {
  background: linear-gradient(135deg, rgba(27,47,73,0.08), rgba(4,51,109,0.14)) !important;
  border-color: rgba(27,47,73,0.32) !important;
  color: var(--cw-blue) !important;
  box-shadow: 0 4px 16px rgba(27,47,73,0.10) !important;
}
body.cw-result .pricing-hint__arrow { color: var(--cw-blue) !important; }
body.cw-result .pricing-carousel-fab {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.32) !important;
  color: var(--cw-blue) !important;
  box-shadow: 0 4px 14px rgba(27,47,73,0.12) !important;
}
body.cw-result .pricing-carousel-fab:hover { box-shadow: 0 8px 20px rgba(27,47,73,0.20) !important; background: #fff !important; }
body.cw-result .pricing-carousel-fab__label { color: var(--cw-blue) !important; }

/* ----- FAQ ----- */
body.cw-result .sim-faq__item { background: var(--cw-cream) !important; border-color: var(--cw-border-mid) !important; }
body.cw-result .sim-faq__q { color: var(--cw-blue) !important; }

/* ----- Grand Finale hero (Slide 9) ----- */
body.cw-result .r1d-finale-hero {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.28) !important;
  box-shadow: 0 12px 40px rgba(27,47,73,0.08) !important;
}
body.cw-result .r1d-finale-hero__eyebrow {
  color: var(--cw-blue) !important;
  background: rgba(189,206,237,0.35) !important;
}
body.cw-result .r1d-finale-hero__lead strong { color: var(--cw-blue) !important; }
body.cw-result .r1d-finale-hero__price-new strong { color: var(--cw-blue) !important; }
/* price-discount red = 의미색 유지 */
body.cw-result .r1d-finale-hero__cta {
  background: linear-gradient(135deg, #04336D 0%, #1B2F49 100%) !important;
  color: #fff !important;
  border-color: #04336D !important;
  box-shadow: 0 10px 30px rgba(4,51,109,0.34) !important;
}
body.cw-result .r1d-finale-hero__cta:hover { box-shadow: 0 16px 40px rgba(4,51,109,0.44) !important; }
body.cw-result .r1d-finale-hero__trust strong { color: var(--cw-blue) !important; }
body.cw-result .r1d-finale-hero__gets {
  background: rgba(189,206,237,0.18) !important;
  border-color: rgba(27,47,73,0.18) !important;
}
body.cw-result .r1d-finale-hero__gets li::before { color: var(--cw-blue) !important; }
body.cw-result .r1d-finale-hero__gets li span { color: var(--cw-dark) !important; }

/* 키워드 하이라이트 (gold 밑줄 → 청월 sky) */
body.cw-result .sp-keyword {
  background: linear-gradient(transparent 70%, rgba(189,206,237,0.5) 70%) !important;
}

/* ========================================================
   16. 잔존 gold 마무리 (B-3-5) — 용신 차트 값 + MBTI 업셀 섹션 (DOM inline gold).
   ID 셀렉터 + !important 로 inline 덮음(DOM 편집 불필요). 죽은 lock-teaser(display:none) 제외.
   ======================================================== */
body.cw-result .yongsin-card__value { color: var(--cw-blue) !important; }

/* MBTI 교차 업셀 (mbtiPromoSection 보임 / mbtiCrossSection MBTI 데이터 시 표시) */
body.cw-result #mbtiPromoSection,
body.cw-result #mbtiCrossSection { border-top-color: rgba(27,47,73,0.28) !important; }
body.cw-result #mbtiPromoSection > div {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.16) !important;
}
body.cw-result #mbtiPromoSection strong { color: var(--cw-blue) !important; }
body.cw-result #mbtiCrossSection .preview-card {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.14) !important;
}
body.cw-result #mbtiLabel {
  color: var(--cw-blue) !important;
  background: rgba(189,206,237,0.30) !important;
}
body.cw-result #mbtiMatchRate { color: var(--cw-blue) !important; }
body.cw-result #mbtiMatchBar { background: linear-gradient(90deg, #2B557E, #04336D) !important; }
body.cw-result #mbtiTipBox {
  background: var(--cw-cream) !important;
  border-color: rgba(27,47,73,0.18) !important;
  border-left-color: var(--cw-blue) !important;
}

/* ========================================================
   17. 사진 풀-블리드 스토리텔링 (B-3-3 재작업) — 사토시 "재료를 요리해라"
   사이즈 맞춰 만든 긴 세로 사진(글자 박힘)을 crop 박스에 욱여넣지 말고
   청월처럼 자연비율 풀-블리드로 통째 깔기. 베이크된 중복 DOM 텍스트는 숨김.
   ======================================================== */

/* ----- Cover (Slide 1) — cover.png 글자 다 박힌 완성 세로 커버 ----- */
body.cw-result .result-header { padding: 0 !important; }
body.cw-result .result-header__cover-wrap {
  aspect-ratio: auto !important;
  margin: 0 0 16px 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
body.cw-result .result-header__cover-wrap::after { display: none !important; }
body.cw-result .result-header__cover-wrap img,
body.cw-result .result-header__cover-wrap video {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
/* 사진에 박힌 카피 = DOM 중복 숨김 (id 보존 — JS 안 깨짐) */
body.cw-result .result-header__catchphrase,
body.cw-result .result-header__title,
body.cw-result .result-header__info,
body.cw-result .result-header__intro { display: none !important; }

/* ----- 헤더 투명 오버레이 (몰입) + 스크롤 시 솔리드 등장. 탭바는 유지 ----- */
body.cw-result .app-header {
  position: fixed !important;
  top: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  transition: background .25s ease, box-shadow .25s ease !important;
  z-index: 80 !important;
}
/* 사진 위 로고/아이콘 가독성 — 상단 scrim */
body.cw-result .app-header::before {
  content: '' !important;
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(180deg, rgba(10,16,28,0.55) 0%, rgba(10,16,28,0) 100%) !important;
  pointer-events: none !important; z-index: -1 !important;
  transition: opacity .25s ease !important;
}
body.cw-result .app-header__logo-text { color: #fff !important; }
body.cw-result .app-header__logo-icon { filter: brightness(0) invert(1) !important; }
body.cw-result .app-header__hamburger,
body.cw-result .app-header__btn { color: #fff !important; }
body.cw-result .app-header__hamburger svg,
body.cw-result .app-header__btn svg { stroke: #fff !important; }
/* 헤더가 cover 위에 떠야 하므로 spacer 제거(몰입) */
body.cw-result .app-header-spacer { display: none !important; }
/* 스크롤 시 솔리드 (is-scrolled = JS 토글) */
body.cw-result.is-scrolled .app-header {
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(27,47,73,0.08) !important;
}
body.cw-result.is-scrolled .app-header::before { opacity: 0 !important; }
body.cw-result.is-scrolled .app-header__logo-text { color: var(--cw-dark) !important; }
body.cw-result.is-scrolled .app-header__logo-icon { filter: none !important; }
body.cw-result.is-scrolled .app-header__hamburger,
body.cw-result.is-scrolled .app-header__btn { color: var(--cw-dark) !important; }
body.cw-result.is-scrolled .app-header__hamburger svg,
body.cw-result.is-scrolled .app-header__btn svg { stroke: var(--cw-dark) !important; }

/* ----- 광고 진입 안내 (suggest) — 청월 슬림 카드, Cover 영상 아래 순서 ----- */
/* 다크 띠 — Cover 영상↔사주표 사진 사이 다크 연속 유지 (흰 카드 폐기, 몰입) */
body.cw-result .cw-suggest {
  display: flex !important; gap: 12px; align-items: flex-start;
  margin: 0 !important;
  padding: 16px !important;
  background: #11182a !important;
  border: 0 !important;
  border-top: 1px solid rgba(189,206,237,0.12) !important;
  border-radius: 0 !important;
}
body.cw-result .cw-suggest__icon { font-size: 22px; line-height: 1.2; flex-shrink: 0; }
body.cw-result .cw-suggest__kicker {
  font: 700 10.5px/1 var(--cw-font); letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cw-sky) !important; margin: 0 0 5px;
}
body.cw-result .cw-suggest__title {
  font: 700 14px/1.4 var(--cw-font); color: #fff !important; margin: 0 0 4px;
  letter-spacing: -0.01em; word-break: keep-all;
}
body.cw-result .cw-suggest__desc {
  font: 500 12.5px/1.55 var(--cw-font); color: rgba(255,255,255,0.82) !important; margin: 0; word-break: keep-all;
}
body.cw-result .cw-suggest__desc strong { color: var(--cw-sky) !important; font-weight: 700; }

/* ----- 챕터 hero — 청월 풀-블리드 (5:3 crop 폐기, 자연비율 연속) ----- */
body.cw-result .chapter-hero {
  aspect-ratio: auto !important;
  border-radius: 14px !important;
  margin: 4px 0 18px !important;
  box-shadow: 0 10px 30px rgba(27,47,73,0.14) !important;
  overflow: hidden !important;
}
body.cw-result .chapter-hero picture {
  display: block !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
}
body.cw-result .chapter-hero img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
body.cw-result .chapter-hero::after { display: none !important; }
body.cw-result .chapter-hero__caption {
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  padding: 28px 18px 16px !important;
  background: linear-gradient(0deg, rgba(10,16,28,0.78) 0%, rgba(10,16,28,0.32) 55%, transparent 100%) !important;
  color: #fff !important;
  font-family: var(--cw-font-serif) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}

/* ========================================================
   18. 풀이 시작 전환 (ch3-hanja 命 — 사주표→챕터 진입). 풀-블리드 + {name} 빈칸 overlay.
   사진에 "오직 ⬚ 님만을 위한 / 풀이를 시작합니다" 박힘 → ⬚ 자리에 #introUserName(골드).
   ======================================================== */
body.cw-result .cw-intro-divider {
  padding: 0 !important;
  margin: 0 !important;
  background: #0E1B33 !important;
}
body.cw-result .cw-intro-hero {
  position: relative !important;
  width: 100% !important;
  line-height: 0 !important;
}
body.cw-result .cw-intro-hero picture { display: block !important; }
body.cw-result .cw-intro-hero img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
body.cw-result .cw-intro-hero__name {
  position: absolute !important;
  /* 베이크된 첫줄 "오직 ___ 님만을 위한" 의 "님"(좌측 ~56.3%) 바로 앞에 우측정렬로 붙임 → "벗님만을". 첫줄 중앙 77.9% (둘째줄 "풀이를 시작합니다" 81.8% 와 구분), 흰색 (픽셀 측정 5/22) */
  top: 77.9% !important; left: 56.3% !important;
  transform: translate(-100%, -50%) !important;
  font-family: var(--cw-font) !important;
  font-weight: 700 !important;
  font-size: clamp(18px, 5.6vw, 25px) !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

/* ----- 사주표 (saju-board 풀-블리드 + 사주 8자 동적, Cover 직후) -----
   [몰입 다크] 블록 — 다크 사진/카드 연속(끊김 0). 사주 8자 표 = navy 다크 카드(흰 카드 폐기) */
body.cw-result .cw-sajupan {
  padding: 0 0 28px !important;
  margin: 0 !important;
  background: #0E1B33 !important;
}
body.cw-result .cw-sajupan__hero { width: 100% !important; line-height: 0 !important; }
body.cw-result .cw-sajupan__hero picture { display: block !important; }
body.cw-result .cw-sajupan__hero img {
  width: 100% !important; height: auto !important; display: block !important;
}
body.cw-result .cw-sajupan .result-header__saju {
  margin: 20px 16px 0 !important;
  background: #11182a !important;
  border: 1px solid rgba(189,206,237,0.18) !important;
  border-radius: 12px !important;
  padding: 14px 8px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}
body.cw-result .cw-sajupan .saju-pillar { border-color: rgba(189,206,237,0.12) !important; }
body.cw-result .cw-sajupan .saju-pillar__label { color: var(--cw-sky) !important; }
body.cw-result .cw-sajupan .saju-pillar__char { color: #fff !important; }
body.cw-result .cw-sajupan .saju-pillar__heaven {
  color: #E8C667 !important;
  border-bottom-color: rgba(189,206,237,0.18) !important;
}
body.cw-result .cw-sajupan .saju-pillar__earth { color: #fff !important; }

/* ----- 위기 카드 (crisis 풀-블리드 + {name} overlay, paywall 진입 티저) ----- */
/* ----- [결제유도] paywall-why 진입 hero (다크, 위기 다음 연속) ----- */
body.cw-result .cw-paywall-why { width: 100% !important; line-height: 0 !important; margin: 0 0 18px !important; border-radius: 12px !important; overflow: hidden !important; }
body.cw-result .cw-paywall-why picture { display: block !important; }
body.cw-result .cw-paywall-why img { width: 100% !important; height: auto !important; display: block !important; }

body.cw-result .cw-crisis { padding: 0 !important; margin: 0 !important; background: #0a0606 !important; }
body.cw-result .cw-crisis__hero { position: relative !important; width: 100% !important; line-height: 0 !important; }
body.cw-result .cw-crisis__hero picture { display: block !important; }
body.cw-result .cw-crisis__hero img { width: 100% !important; height: auto !important; display: block !important; }
body.cw-result .cw-crisis__name {
  /* 베이크된 "님에게 다가올" 의 "님"(좌측 ~55.9%) 바로 앞에 우측정렬로 붙임 → "벗님에게". 텍스트 중앙 6.5% (픽셀 측정 5/22) */
  position: absolute !important; top: 6.5% !important; left: 55.5% !important;
  transform: translate(-100%, -50%) !important;
  font-family: var(--cw-font) !important; font-weight: 700 !important;
  font-size: clamp(15px, 4.4vw, 19px) !important; line-height: 1 !important;
  color: #fff !important; white-space: nowrap !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7) !important;
}

/* footer 인사 (도사 공수 — 청월 footer-greeting) */
body.cw-result .cw-footer-greeting { display:block !important; width:92px !important; height:92px !important; border-radius:50% !important; object-fit:cover !important; margin:0 auto 16px !important; box-shadow:0 4px 14px rgba(27,47,73,0.12) !important; }

/* ========================================================
   19. [분석] 챕터 구간 다크 톤 통일 (사토시 5/21 — 사진 다크 → 본문도 다크 배경+흰 글씨 = 끊김 0)
   청월이 베이지로 통일한 것을 우리는 다크로 통일. hero(사진)↔본문 톤 같아 자연 연속.
   ======================================================== */
body.cw-result .result-section--new { background: #0E1B33 !important; padding: 0 0 28px !important; margin: 0 !important; }
/* 챕터 hero edge-to-edge (카드 느낌 제거 → 본문과 직결) + 캡션 챕터명 키움 */
body.cw-result .result-section--new .chapter-hero { border-radius: 0 !important; margin: 0 0 4px !important; box-shadow: none !important; }
body.cw-result .result-section--new .chapter-hero__caption { font-size: 20px !important; font-weight: 700 !important; }
/* 챕터 헤더 — 흰/sky */
body.cw-result .result-section--new .result-chapter { border-bottom-color: rgba(189,206,237,0.16) !important; padding: 4px 16px 22px !important; margin: 0 0 24px !important; }
body.cw-result .result-section--new .result-chapter::after { background: var(--cw-sky) !important; }
body.cw-result .result-section--new .result-chapter__sa-in::after { border-color: rgba(189,206,237,0.2) !important; }
body.cw-result .result-section--new .result-chapter__label { color: var(--cw-sky) !important; }
body.cw-result .result-section--new .result-chapter__label::before { background: var(--cw-sky) !important; }
body.cw-result .result-section--new .result-chapter__title { color: #fff !important; }
body.cw-result .result-section--new .result-chapter__sub { color: rgba(255,255,255,0.72) !important; border-left-color: rgba(189,206,237,0.4) !important; }
body.cw-result .result-section--new .result-chapter__signoff { color: rgba(255,255,255,0.5) !important; border-top-color: rgba(189,206,237,0.14) !important; }
/* 본문 — 다크 위 흰 글씨 */
body.cw-result .result-section--new .summary-highlight::before { color: var(--cw-sky) !important; opacity: 0.2 !important; }
/* 5/21 색구성 확정: 챕터 흰 카드 + 어두운 글씨 (청월 톤) — §25 와 동일 */
body.cw-result .result-section--new .summary-highlight { background: rgba(255,255,255,0.97) !important; border: 1px solid rgba(27,47,73,0.12) !important; box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important; }
body.cw-result .result-section--new .summary-highlight__text { color: #243450 !important; border-left-color: rgba(4,51,109,0.3) !important; }
body.cw-result .result-section--new .summary-highlight__text p:first-child::first-letter { color: #B8860B !important; }
body.cw-result .result-section--new .personality-text { background: rgba(255,255,255,0.97) !important; border: 1px solid rgba(27,47,73,0.12) !important; border-left-color: rgba(4,51,109,0.3) !important; color: #243450 !important; box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important; }
body.cw-result .result-section--new .personality-text p { color: #243450 !important; }
body.cw-result .result-section--new .personality-text strong { color: #1B2F49 !important; background: linear-gradient(transparent 70%, rgba(184,134,11,0.22) 70%) !important; }
body.cw-result .result-section--new .magazine-pullquote { color: #04336D !important; border-top-color: rgba(4,51,109,0.25) !important; border-bottom-color: rgba(4,51,109,0.25) !important; }
/* 본문 좌우 여백 (배경 다크 풀, 글자만 패딩) */
body.cw-result .result-section--new .summary-highlight,
body.cw-result .result-section--new .personality-text,
body.cw-result .result-section--new .result-traits { margin-left: 16px !important; margin-right: 16px !important; }

/* ========================================================
   20. D1 — result 전역 다크 통일 (사토시 5/21: 사진 다크 → 배경도 다크, 흰색 0)
   컨테이너 배경 먼저. 카드/텍스트/차트는 D3~D5.
   ======================================================== */
/* 안전영역: 448 컨테이너 바깥(데스크탑 좌우 여백)은 흰색 — 다크는 app-container 안만 */
body.cw-result { background: #fff !important; }
body.cw-result .app-container { background: #0E1B33 !important; }
body.cw-result .result-layout,
body.cw-result .result-content,
body.cw-result main.result-content { background: #0E1B33 !important; }
body.cw-result .result-header { background: #0E1B33 !important; }
body.cw-result .result-tldr { background: #0E1B33 !important; }
body.cw-result .result-section,
body.cw-result section[class*="result-"] { background: #0E1B33 !important; border-top-color: rgba(189,206,237,0.08) !important; }
body.cw-result .result-section--new { background: #0E1B33 !important; }
body.cw-result .result-epilogue { background: #0E1B33 !important; }
body.cw-result .app-footer { background: #0E1B33 !important; border-top-color: rgba(189,206,237,0.1) !important; }

/* ========================================================
   21. D3·D4·D5 — 카드/차트/텍스트 전부 다크 (흰 카드 0, 글씨 밝게, 차트 안보임 0)
   ======================================================== */
/* TL;DR */
body.cw-result .result-tldr__phrase { color: #fff !important; }
body.cw-result .result-tldr__sub { color: rgba(255,255,255,0.62) !important; }
body.cw-result .result-tldr__preview-label { color: var(--cw-sky) !important; }
body.cw-result .result-tldr__preview-list li { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .result-tldr__preview-num { color: var(--cw-sky) !important; }
body.cw-result .result-tldr__preview-master { color: #fff !important; }
body.cw-result .result-tldr__preview-desc { color: rgba(255,255,255,0.7) !important; }
body.cw-result .result-tldr__preview-hint { color: rgba(255,255,255,0.5) !important; }
body.cw-result .result-epilogue__label { color: var(--cw-sky) !important; }
body.cw-result .result-epilogue__heading, body.cw-result .result-epilogue__title { color: #fff !important; }
/* 강점/약점 */
body.cw-result .result-traits__col { background: #11182a !important; }
body.cw-result .result-traits__col--strength { border-color: rgba(93,196,140,0.45) !important; }
body.cw-result .result-traits__col--weakness { border-color: rgba(232,120,120,0.45) !important; }
body.cw-result .result-traits__col--strength .result-traits__label { color: #6FD89B !important; }
body.cw-result .result-traits__col--weakness .result-traits__label { color: #F08A8A !important; }
body.cw-result .result-traits .result-tag { color: rgba(255,255,255,0.86) !important; }
body.cw-result .result-traits__col--strength .result-tag::before { color: #6FD89B !important; }
body.cw-result .result-traits__col--weakness .result-tag::before { color: #F08A8A !important; }
/* 오행 */
body.cw-result .ohaeng-bar__label { color: #fff !important; }
body.cw-result .ohaeng-bar__track { background: rgba(255,255,255,0.08) !important; }
body.cw-result .ohaeng-bar__value { color: #fff !important; }
body.cw-result .ohaeng-bar { border-bottom-color: rgba(189,206,237,0.1) !important; }
body.cw-result .ohaeng-analysis { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; border-left-color: var(--cw-sky) !important; color: rgba(255,255,255,0.86) !important; }
/* 격국 */
body.cw-result .gyeokguk-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; box-shadow: none !important; }
body.cw-result .gyeokguk-card__name { color: #fff !important; }
body.cw-result .gyeokguk-card__desc { color: var(--cw-sky) !important; }
body.cw-result .gyeokguk-trait-chip { background: rgba(189,206,237,0.12) !important; border-color: rgba(189,206,237,0.2) !important; color: var(--cw-sky) !important; }
body.cw-result .gyeokguk-card__advice, body.cw-result .gyeokguk-card__career { background: rgba(189,206,237,0.06) !important; color: rgba(255,255,255,0.82) !important; }
body.cw-result .gyeokguk-card__sw { color: rgba(255,255,255,0.85) !important; }
body.cw-result .gyeokguk-card__traits { border-top-color: rgba(189,206,237,0.12) !important; }
/* 신살 */
body.cw-result .sinsal-mag-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .sinsal-mag-card__name { color: #fff !important; }
body.cw-result .sinsal-mag-card__effect, body.cw-result .sinsal-mag-card__body { color: rgba(255,255,255,0.82) !important; }
body.cw-result .sinsal-analysis { background: #11182a !important; color: rgba(255,255,255,0.85) !important; border-color: rgba(189,206,237,0.14) !important; }
/* 용신/조후 */
body.cw-result .yongsin-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .yongsin-card__label { color: var(--cw-sky) !important; }
body.cw-result .yongsin-analysis { background: #11182a !important; color: rgba(255,255,255,0.85) !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .johu-yongsin-chip { background: rgba(189,206,237,0.12) !important; color: var(--cw-sky) !important; }
/* 프리뷰 */
body.cw-result .preview-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .chapters-preview__toggle { background: #11182a !important; border-color: rgba(189,206,237,0.18) !important; color: #fff !important; }
body.cw-result .chapters-preview__list { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .chapters-preview__item strong { color: #fff !important; }
body.cw-result .chapters-preview__item p { color: rgba(255,255,255,0.7) !important; }
body.cw-result .chapters-preview__num { background: rgba(189,206,237,0.12) !important; border-color: rgba(189,206,237,0.2) !important; color: var(--cw-sky) !important; }
body.cw-result .oneshot-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .oneshot-card__visual { background: rgba(189,206,237,0.06) !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .oneshot-card__body { color: rgba(255,255,255,0.82) !important; }
/* paywall 가격/카드 */
body.cw-result .pricing-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .pricing-headline { color: #fff !important; }
body.cw-result .pricing-sub { color: rgba(255,255,255,0.7) !important; }
body.cw-result .pricing-tier { background: #11182a !important; border-color: rgba(189,206,237,0.16) !important; }
body.cw-result .pricing-tier__name { color: #fff !important; }
body.cw-result .pricing-tier__copy { color: rgba(255,255,255,0.78) !important; }
body.cw-result .pricing-tier__original { color: rgba(255,255,255,0.45) !important; }
body.cw-result .pricing-trust { color: rgba(255,255,255,0.6) !important; }
body.cw-result .pricing-hint { color: var(--cw-sky) !important; }
body.cw-result .premium-locked { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .premium-locked__title { color: #fff !important; }
body.cw-result .premium-locked__text, body.cw-result .premium-locked__blur { color: rgba(255,255,255,0.78) !important; }
body.cw-result .premium-locked__gets { color: rgba(255,255,255,0.7) !important; }
body.cw-result .r1c-deeper-cta__hint { color: rgba(255,255,255,0.7) !important; }
/* finale */
body.cw-result .r1d-finale-hero { background: #11182a !important; border-color: rgba(189,206,237,0.16) !important; }
body.cw-result .r1d-finale-hero__title { color: #fff !important; }
body.cw-result .r1d-finale-hero__lead { color: rgba(255,255,255,0.82) !important; }
body.cw-result .r1d-finale-hero__price-new { color: #fff !important; }
body.cw-result .r1d-finale-hero__trust li { color: rgba(255,255,255,0.8) !important; }
body.cw-result .r1d-finale-hero__gets li { color: rgba(255,255,255,0.82) !important; }
body.cw-result .r1d-finale-hero__gets li span { color: #fff !important; }
/* 후기/공유/FAQ/footer */
body.cw-result .share-section { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .sim-faq__item { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .sim-faq__a { color: rgba(255,255,255,0.8) !important; }
body.cw-result .app-footer__copyright, body.cw-result .app-footer__disclaimer { color: rgba(255,255,255,0.5) !important; }
body.cw-result .app-footer__links a { color: rgba(255,255,255,0.75) !important; }

/* §22. D4 잔여 흰 카드 — 풀버전구성/신강신약/finale trust/사인 프레임 다크 */
body.cw-result .chapter-gets { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .chapter-gets__label { color: var(--cw-sky) !important; }
body.cw-result .chapter-gets li, body.cw-result .chapter-gets p { color: rgba(255,255,255,0.82) !important; }
body.cw-result .ilgan-strength-card { background: #11182a !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .ilgan-strength-card__title { color: #fff !important; }
body.cw-result .ilgan-strength-card__desc { color: rgba(255,255,255,0.82) !important; }
body.cw-result .r1d-finale-hero__trust { background: rgba(189,206,237,0.06) !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result .result-chapter__sa-in { background: #11182a !important; }
body.cw-result .result-tag--strength { background: rgba(93,196,140,0.12) !important; border-color: rgba(93,196,140,0.3) !important; color: #6FD89B !important; }
body.cw-result .result-tag--weakness { background: rgba(232,120,120,0.12) !important; border-color: rgba(232,120,120,0.3) !important; color: #F08A8A !important; }

/* ───────────────────────── §23 MBTI 프로모 + 프리뷰 잔존 흰 카드 다크 (D4) ───────────────────────── */
/* §16에서 cream으로 둔 MBTI 프로모 박스가 전역 다크 위에서 흰 블록으로 떠 보임 → navy */
body.cw-result #mbtiPromoSection > div,
body.cw-result #mbtiPromoSection div[style],
body.cw-result #mbtiPromoSection .preview-card,
body.cw-result #mbtiCrossSection > div,
body.cw-result #mbtiCrossSection div[style],
body.cw-result #mbtiCrossSection .preview-card { background: #11182a !important; border-color: rgba(189,206,237,0.2) !important; }
body.cw-result #mbtiPromoSection h3,
body.cw-result #mbtiCrossSection h3,
body.cw-result #mbtiPromoSection strong,
body.cw-result #mbtiCrossSection strong { color: #fff !important; }
body.cw-result #mbtiPromoSection p,
body.cw-result #mbtiCrossSection p,
body.cw-result #mbtiPromoSection span,
body.cw-result #mbtiCrossSection span { color: rgba(255,255,255,0.82) !important; }
body.cw-result #mbtiTipBox { background: rgba(189,206,237,0.06) !important; border-color: rgba(189,206,237,0.14) !important; }
body.cw-result #mbtiTipBox p, body.cw-result #mbtiTipBox span { color: rgba(255,255,255,0.78) !important; }
/* magazine-preview (paywall 프리뷰) 흰 카드 → navy */
body.cw-result .magazine-preview,
body.cw-result .magazine-preview__cover,
body.cw-result .magazine-preview__body { background: #11182a !important; border-color: rgba(189,206,237,0.16) !important; }
body.cw-result .magazine-preview__title,
body.cw-result .magazine-preview h3, body.cw-result .magazine-preview h4 { color: #fff !important; }
body.cw-result .magazine-preview p,
body.cw-result .magazine-preview__copy { color: rgba(255,255,255,0.82) !important; }

/* ───────────────────────── §24 연속 사진 edge 맞닿 (D2) ───────────────────────── */
/* 다크 통일 후 사진 사이 잔여 dark gap 제거 — 사토시 "확실하게 이어붙임" */
/* Cover(영상) → 사주표: cover-wrap margin-bottom 16px 제거 */
body.cw-result .result-header__cover-wrap { margin-bottom: 0 !important; }
/* 위기(crisis) → paywall-why: premiumLockSection 상단 padding 24px 제거 (사진 edge 맞닿) */
body.cw-result #premiumLockSection { padding-top: 0 !important; }
/* paywall-why 사진 아래만 콘텐츠 호흡 유지 */
body.cw-result .cw-paywall-why { margin-bottom: 18px !important; }

/* ═══════════════════════════════════════════════════════════════════
   §25 챕터 청월 다크 카드 시스템 (사토시 5/21: 챕터 1~9 새 코드)
   원칙 = 은은하게 칸 나눠 "여기는 이 챕터, 다음은 다음" 인지 + 정렬·간격·통일 + 다크에서 다 잘 보이게
   청월 패턴(베이지 카드 + navy 3px border)을 다크로 번역: navy 카드 #11182a + 은은한 sky 경계
   ═══════════════════════════════════════════════════════════════════ */

/* (1) 공통 카드 — 챕터 본문 4블록 동일 토큰 (정렬·간격 통일감) */
body.cw-result .summary-highlight,
body.cw-result .personality-text,
body.cw-result .result-traits,
body.cw-result .r1a-lock-teaser {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  margin: 0 16px 14px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important;
}

/* (2) 본문 텍스트 — 흰 카드 위 어두운 네이비 (가독성 최고) */
body.cw-result .personality-text,
body.cw-result .personality-text p,
body.cw-result .summary-highlight__text {
  color: #243450 !important;
  line-height: 1.95 !important;
  word-break: keep-all !important;
}
body.cw-result .personality-text strong,
body.cw-result .summary-highlight__text strong { color: #1B2F49 !important; font-weight: 700 !important; }
/* 키워드 — 청월 블루 강조 */
body.cw-result .sp-keyword {
  color: #04336D !important;
  border-bottom: 1px solid rgba(4,51,109,0.35) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
/* drop-cap — 흰 배경 위 deep 골드 */
body.cw-result .summary-highlight__text::first-letter { color: #B8860B !important; }

/* (3) 챕터 헤더 — 라벨 띠로 "이 챕터" 인지 (청월 bg-[#2B557E] 블루) */
body.cw-result .result-chapter { margin: 0 16px 14px !important; }
body.cw-result .result-chapter__label {
  display: inline-block !important;
  background: #2B557E !important;
  color: #fff !important;
  padding: 5px 13px !important;
  border-radius: 999px !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
}
body.cw-result .result-chapter__title { color: #fff !important; }
body.cw-result .result-chapter__sub { color: rgba(255,255,255,0.62) !important; }

/* (4) 강점/주의 — 2칼럼 통일 (청월 칩 sky rounded-full) */
body.cw-result .result-traits {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  align-items: start !important;
}
body.cw-result .result-traits__col { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; margin: 0 !important; }
body.cw-result .result-traits__label { font-weight: 700 !important; margin-bottom: 10px !important; }
body.cw-result .result-traits__label-han { color: rgba(27,47,73,0.4) !important; }
body.cw-result .result-traits__col--strength .result-traits__label { color: #1F8A4C !important; }
body.cw-result .result-traits__col--weakness .result-traits__label { color: #C2453B !important; }
/* 칩 — 청월 연블루 rounded-full + 어두운 글씨 */
body.cw-result .result-traits .result-tag,
body.cw-result #strengthsTags .result-tag,
body.cw-result #weaknessesTags .result-tag {
  background: #E8EEF7 !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
  color: #1B2F49 !important;
  border-radius: 999px !important;
}

/* (5) 잠금 티저 — 흰 카드 + 어두운 글씨, deep 모자이크 유지 */
body.cw-result .r1a-lock-teaser__label { color: #04336D !important; letter-spacing: 0.16em !important; }
body.cw-result .r1a-lock-teaser__title { color: #1B2F49 !important; }
body.cw-result .r1a-lock-teaser__hook { color: #243450 !important; line-height: 1.9 !important; word-break: keep-all !important; }
body.cw-result .r1a-lock-teaser__cta {
  background: #04336D !important; color: #fff !important; border: 0 !important;
  border-radius: 10px !important; font-weight: 600 !important;
}

/* (6) signoff — 은은한 마무리 + 다음 챕터 경계감 */
body.cw-result .result-chapter__signoff {
  color: rgba(189,206,237,0.5) !important;
  text-align: right !important;
  margin: 2px 18px 4px !important;
  font-style: italic !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §26 챕터 1~5 정리 (사토시 5/21): 중간 hero 사진 삭제 + 강점/주의 분리
   ═══════════════════════════════════════════════════════════════════ */
/* (a) 챕터 1·2·4·5 중간 사진(chapter-hero + "사주 원국" 등 caption) 삭제
   — 안 어울리고 오늘 전달한 66장 아님. paywall finale hero(result-epilogue)는 유지 */
body.cw-result .result-section--new .chapter-hero { display: none !important; }

/* (b) 강점/주의 각각 흰 카드로 분리 (한 카드 안 2칼럼 → 별도 카드 2개) */
body.cw-result .result-traits {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 16px !important;
  margin: 0 0 14px !important;
}
body.cw-result .result-traits__col {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important;
  margin: 0 !important;
}
body.cw-result .result-traits__col--strength { border-top: 3px solid #1F8A4C !important; }
body.cw-result .result-traits__col--weakness { border-top: 3px solid #C2453B !important; }

/* (c) 한 줄 풀이 공유 버튼 — 파란 배경 위 파란 글씨(안 보임) 버그 → 흰 글씨 */
body.cw-result .result-tldr__share,
body.cw-result .result-tldr__share span { color: #fff !important; }
body.cw-result .result-tldr__share svg { fill: none !important; stroke: #fff !important; }

/* ═══════════════════════════════════════════════════════════════════
   §27 (사토시 5/21 확정) TL;DR lead 흰 카드 + summary drop-cap 라벨·키우기
   ═══════════════════════════════════════════════════════════════════ */
/* (B) 한 줄 풀이 lead 만 큰 흰 카드로 (MBTI·preview 는 카드 밖 — 별도) */
body.cw-result .result-tldr { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.cw-result .result-tldr__lead {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
  border-radius: 18px !important;
  margin: 16px !important;
  padding: 30px 22px 26px !important;
  box-shadow: 0 8px 26px rgba(0,0,0,0.3) !important;
  text-align: center !important;
}
body.cw-result .result-tldr__label { color: #04336D !important; }
body.cw-result .result-tldr__phrase { color: #1B2F49 !important; }
body.cw-result .result-tldr__phrase::before,
body.cw-result .result-tldr__phrase::after { color: #B8860B !important; }
body.cw-result .result-tldr__sub { color: #4A5568 !important; }

/* (A) summary-highlight (챕터1 매거진 리드) — 상단 라벨 띠 + drop-cap 키우기 */
body.cw-result .result-section--new .summary-highlight { position: relative !important; padding-top: 48px !important; }
body.cw-result .result-section--new .summary-highlight::before {
  content: "한마디로" !important;
  position: absolute !important; top: 18px !important; left: 20px !important;
  background: #2B557E !important; color: #fff !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.16em !important;
  padding: 4px 12px !important; border-radius: 999px !important;
}
/* drop-cap 폐기 (사토시 5/21: 큰 골드 글씨 가독성 별로) → 본문 키워드 강조로 대체 (§28) */
body.cw-result .result-section--new .summary-highlight__text::first-letter,
body.cw-result .result-section--new .summary-highlight__text:first-of-type::first-letter {
  font-size: inherit !important; color: inherit !important; font-weight: inherit !important;
  line-height: inherit !important; margin: 0 !important; float: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §28 (사토시 5/21) 사주표 한줄풀이로 이동 + 키워드 강조 + MBTI 흰 카드 + 사진 경계 그라데이션
   ═══════════════════════════════════════════════════════════════════ */

/* (1) 사주표 8자 — 한 줄 풀이쪽 흰 카드 (saju-board 사진 사이에서 이동) */
body.cw-result .result-tldr__saju-card {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(27,47,73,0.12) !important;
  border-radius: 18px !important;
  margin: 0 16px 14px !important;
  padding: 22px 18px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important;
}
body.cw-result .result-tldr__saju-label {
  display: block !important; text-align: center !important;
  color: #04336D !important; font-weight: 700 !important;
  font-size: 12px !important; letter-spacing: 0.16em !important; margin-bottom: 18px !important;
}
body.cw-result .result-tldr__saju-card .result-header__saju { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
body.cw-result .result-tldr__saju-card .saju-pillar { border-color: rgba(27,47,73,0.1) !important; background: transparent !important; }
body.cw-result .result-tldr__saju-card .saju-pillar__label { color: #6B7280 !important; }
body.cw-result .result-tldr__saju-card .saju-pillar__heaven { color: #B8860B !important; }
body.cw-result .result-tldr__saju-card .saju-pillar__earth { color: #1B2F49 !important; }

/* (2) 본문 키워드 — drop-cap 대신 골드 강조 (중요 단어) */
body.cw-result .sp-keyword { color: #B8860B !important; border-bottom-color: rgba(184,134,11,0.4) !important; font-weight: 700 !important; }

/* (3) MBTI x 사주 교차 — 챕터 흰 카드 톤 (인라인 cream / §23 navy override) */
body.cw-result #mbtiPromoSection, body.cw-result #mbtiCrossSection { background: transparent !important; border: 0 !important; }
body.cw-result #mbtiPromoSection > div, body.cw-result #mbtiPromoSection div[style],
body.cw-result #mbtiCrossSection > div, body.cw-result #mbtiCrossSection div[style] {
  background: rgba(255,255,255,0.97) !important; border: 1px solid rgba(27,47,73,0.12) !important;
}
/* 카드 밖 헤더(딥네이비 배경 위) = 흰/sky / 카드 안 본문 = 어두운 글씨 */
body.cw-result #mbtiPromoSection > h3, body.cw-result #mbtiCrossSection > h3 { color: #fff !important; }
body.cw-result #mbtiPromoSection > .result-epilogue__label,
body.cw-result #mbtiCrossSection > .result-epilogue__label { color: #BDCEED !important; }
body.cw-result #mbtiPromoSection div[style] p, body.cw-result #mbtiCrossSection div[style] p,
body.cw-result #mbtiPromoSection div[style] span, body.cw-result #mbtiCrossSection div[style] span { color: #243450 !important; }
body.cw-result #mbtiPromoSection div[style] p strong, body.cw-result #mbtiCrossSection div[style] p strong { color: #B8860B !important; }
body.cw-result #mbtiPromoSection .btn--outline-gold { color: #04336D !important; border-color: #04336D !important; }

/* saju-board ↔ 命 사진 이어붙임 (사주표 빠진 자리 28px gap 제거) */
body.cw-result .cw-sajupan { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.cw-result .cw-intro-divider { padding-top: 0 !important; margin-top: 0 !important; }

/* (4) 사진 → HTML 경계 자연스럽게 (사진 하단 딥네이비 페이드) */
body.cw-result .cw-intro-hero { position: relative !important; }
body.cw-result .cw-intro-hero::after {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 110px !important; background: linear-gradient(transparent, #0E1B33) !important;
  pointer-events: none !important; z-index: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §29 (사토시 5/21) summary 좌측정렬(여름날 자연스럽게) + personality drop-cap 폐기
   ═══════════════════════════════════════════════════════════════════ */
/* summary 가운데정렬 → 좌측정렬 (drop-cap 폐기 후 "여름날" 어절 자연스럽게, 줄바꿈 제대로) */
body.cw-result .result-section--new .summary-highlight__text { text-align: left !important; }
/* personality "당" drop-cap (44.8px) 폐기 → 일반 크기 (사토시: 작게) */
body.cw-result .result-section--new .personality-text::first-letter,
body.cw-result .result-section--new .personality-text p::first-letter,
body.cw-result .result-section--new .personality-text p:first-child::first-letter {
  font-size: inherit !important; color: inherit !important; font-weight: inherit !important;
  float: none !important; margin: 0 !important; line-height: inherit !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §30 (사토시 5/21) drop-cap 잔재 padding 제거(첫 글자 뒤 공백) + 강점/주의 1칼럼 펼침
   ═══════════════════════════════════════════════════════════════════ */
/* drop-cap 폐기했는데 ::first-letter 의 padding-right 12px 가 남아 "당/여" 뒤 공백 */
body.cw-result .result-section--new .summary-highlight__text::first-letter,
body.cw-result .result-section--new .personality-text::first-letter,
body.cw-result .result-section--new .personality-text p::first-letter {
  padding: 0 !important; margin: 0 !important;
}
/* 강점/주의 — 2칼럼 욱여넣기 → 1칼럼 세로 스택 (각 full-width 펼침) */
body.cw-result .result-traits { grid-template-columns: 1fr !important; gap: 12px !important; }

/* ═══════════════════════════════════════════════════════════════════
   §31 챕터 2~5 차트 + 프리뷰 청월 흰 카드 (사토시 5/21: navy→흰 카드 통일)
   오행/격국/신살/용신/일간강약 + 챕터목록/프리뷰. 의미색(SVG fill, 길흉) 유지
   ═══════════════════════════════════════════════════════════════════ */
/* 카드 배경 흰색 통일 (summary 카드와 동일 토큰) */
body.cw-result .ohaeng-analysis,
body.cw-result .gyeokguk-card,
body.cw-result .sinsal-mag-card,
body.cw-result .sinsal-analysis,
body.cw-result .yongsin-card,
body.cw-result .yongsin-analysis,
body.cw-result .ilgan-strength-card,
body.cw-result .result-tldr__preview-list li,
body.cw-result .preview-card,
body.cw-result .chapters-preview__toggle,
body.cw-result .chapters-preview__list,
body.cw-result .oneshot-card,
body.cw-result .chapter-gets {
  background: rgba(255,255,255,0.97) !important;
  border-color: rgba(27,47,73,0.12) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.22) !important;
}
/* 카드 안 본문 텍스트 어두운 네이비 (흰글씨 박힌 것 override) */
body.cw-result .ohaeng-analysis,
body.cw-result .sinsal-analysis,
body.cw-result .yongsin-analysis,
body.cw-result .ilgan-strength-card,
body.cw-result .ilgan-strength-card__desc,
body.cw-result .oneshot-card,
body.cw-result .preview-card,
body.cw-result .chapters-preview__list,
body.cw-result .result-tldr__preview-list li,
body.cw-result .chapter-gets { color: #243450 !important; }
/* gyeokguk advice/career 영역 — 연한 카드 */
body.cw-result .gyeokguk-card__advice, body.cw-result .gyeokguk-card__career { background: rgba(27,47,73,0.05) !important; color: #243450 !important; }
/* 제목/이름/라벨 어두운색 */
body.cw-result .gyeokguk-card h3, body.cw-result .gyeokguk-card h4, body.cw-result .gyeokguk-card__name,
body.cw-result .sinsal-mag-card__name, body.cw-result .sinsal-mag-card__head,
body.cw-result .yongsin-card h3, body.cw-result .ilgan-strength-card h3,
body.cw-result .oneshot-card h3, body.cw-result .oneshot-card h4,
body.cw-result .preview-card h3, body.cw-result .preview-card h4,
body.cw-result .chapters-preview__toggle,
body.cw-result .result-tldr__preview-list li strong { color: #1B2F49 !important; }
/* 칩 — 청월 연블루 + 어두운 글씨 */
body.cw-result .gyeokguk-trait-chip,
body.cw-result .johu-yongsin-chip,
body.cw-result .chapters-preview__num { background: #E8EEF7 !important; border-color: rgba(27,47,73,0.12) !important; color: #1B2F49 !important; }
/* 차트 track — 흰 카드 위 연한 회색 */
body.cw-result .ohaeng-bar__track { background: rgba(27,47,73,0.08) !important; }
/* sinsal effect/body 텍스트 */
body.cw-result .sinsal-mag-card__effect, body.cw-result .sinsal-mag-card__body { color: #243450 !important; }
body.cw-result .sinsal-mag-card__badge { background: #E8EEF7 !important; color: #1B2F49 !important; }

/* ═══════════════════════════════════════════════════════════════════
   §32 (사토시 5/21) 위기~paywall-why~영상 빈틈없이 + 영상→텍스트 경계 그라데이션
   ═══════════════════════════════════════════════════════════════════ */
/* 위기 → paywall-why → 영상 빈틈없이 연속 (margin/padding 0) */
body.cw-result .cw-crisis { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.cw-result .cw-paywall-why { margin: 0 !important; padding: 0 !important; }
body.cw-result .sim-result__hero { margin: 0 !important; position: relative !important; }
body.cw-result .sim-result__hero video { display: block !important; width: 100% !important; }
/* "FOR THE WHOLE PICTURE" 텍스트 영상 아래 — 위 간격 */
body.cw-result .result-epilogue__label { display: block !important; margin-top: 24px !important; }
/* 영상 하단 → 텍스트(HTML) 경계 딥네이비 그라데이션 */
body.cw-result .sim-result__hero::after {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 90px !important; background: linear-gradient(transparent, #0E1B33) !important;
  pointer-events: none !important; z-index: 2 !important;
}
/* 사진 hero 하단 그라데이션 전 페이지 — 위기 사진(crisis) 하단도 paywall 진입 자연스럽게 */
body.cw-result .cw-crisis__hero { position: relative !important; }

/* ═══════════════════════════════════════════════════════════════════
   §33 (사토시 5/21) 흰 카드 내부 글씨 안 보임/겹침/칸 튀어나감 일괄 수정
   ═══════════════════════════════════════════════════════════════════ */
/* (1) chapter-gets ("한 권에 담긴" 리스트) 내부 흰글씨 잔재(0.82) → 어두운색 */
body.cw-result .chapter-gets,
body.cw-result .chapter-gets li,
body.cw-result .chapter-gets p,
body.cw-result .chapter-gets span { color: #243450 !important; }
body.cw-result .chapter-gets strong,
body.cw-result .chapter-gets b,
body.cw-result .chapter-gets__title,
body.cw-result .chapter-gets li::before { color: #1B2F49 !important; }
/* chapter-gets 헤더 라벨(있으면) */
body.cw-result .chapter-gets__label { color: #04336D !important; }

/* (2) preview-list li (5인 목록) 내부 번호/선생명 흰글씨 잔재 → 어두운색 */
body.cw-result .result-tldr__preview-list li,
body.cw-result .result-tldr__preview-list li span,
body.cw-result .result-tldr__preview-list li p { color: #243450 !important; }
body.cw-result .result-tldr__preview-list li strong,
body.cw-result .result-tldr__preview-list__num,
body.cw-result .result-tldr__preview-list li b { color: #1B2F49 !important; }

/* (3) 신살 4종 grid 218px×2 (카드 폭 초과 → 칸 튀어나감) → 1칼럼 세로 */
body.cw-result .sinsal-mag-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
body.cw-result .sinsal-mag-card { overflow: hidden !important; }

/* (4) 일간 강약 "극약" 배지 겹침 → static 위치 */
body.cw-result .ilgan-strength-card__level,
body.cw-result #ilganLevel { position: static !important; float: none !important; }

/* (5) #44 사진 3장 겹침 — crisis/paywall-why hero 가 height 0 (img absolute 라 부모 collapse)
   → static + height auto 로 각 사진이 자기 높이 갖고 세로로 쌓이게 */
body.cw-result .cw-crisis__hero,
body.cw-result .cw-paywall-why { display: block !important; height: auto !important; aspect-ratio: auto !important; }
body.cw-result .cw-crisis__hero picture,
body.cw-result .cw-crisis__hero img,
body.cw-result .cw-paywall-why picture,
body.cw-result .cw-paywall-why img {
  position: static !important; inset: auto !important;
  display: block !important; width: 100% !important; height: auto !important;
}
/* {name} overlay 는 absolute 유지 (사진 위) */
body.cw-result .cw-crisis__hero { position: relative !important; }
body.cw-result .cw-crisis__name { position: absolute !important; }

/* ═══════════════════════════════════════════════════════════════════
   §35 (사토시 5/22) 라벨 글씨 잘림 fix + 모든 카드 사이즈 챕터1 기준 통일
   ═══════════════════════════════════════════════════════════════════ */
/* "한마디로" 라벨 박스 H 8px 라 11px 글씨 잘려 안 보임 → line-height + height auto */
body.cw-result .result-section--new .summary-highlight::before {
  line-height: 1.6 !important; height: auto !important; width: auto !important;
}
/* 모든 챕터 카드 사이즈 = 챕터1 기준 (radius 16 / padding 22 20 / margin 0 16 14) */
body.cw-result .ohaeng-analysis,
body.cw-result .gyeokguk-card,
body.cw-result .yongsin-card,
body.cw-result .yongsin-analysis,
body.cw-result .ilgan-strength-card,
body.cw-result .chapter-gets,
body.cw-result .result-tldr__saju-card,
body.cw-result .result-tldr__lead,
body.cw-result .preview-card,
body.cw-result .oneshot-card {
  border-radius: 16px !important;
  padding: 22px 20px !important;
  margin: 0 16px 14px !important;
}
/* 신살 4종 = grid item 이라 margin 0 (gap 이 간격 처리), radius/padding 만 통일 */
body.cw-result .sinsal-mag-card {
  border-radius: 16px !important;
  padding: 20px 18px !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §36 (사토시 5/22) 모든 카드 좌우 폭 통일 — 컨테이너 기준 좌우 margin 16 (L635)
   기준 personality/격국 = L635. 5인목록 L655(36)/강점주의 L651(32)/신살 L619(0) 불일치 → 16 통일
   ═══════════════════════════════════════════════════════════════════ */
/* result-tldr 좌우 padding 잔재 제거 (안 요소가 32/36 으로 더 들어가던 원인) */
body.cw-result .result-tldr { padding-left: 0 !important; padding-right: 0 !important; }
/* 5인 목록 — 좌우 16 (preview-list padding 제거 + margin 16) */
body.cw-result .result-tldr__preview-list { margin-left: 16px !important; margin-right: 16px !important; padding-left: 0 !important; padding-right: 0 !important; }
body.cw-result .result-tldr__preview-list li { margin-left: 0 !important; margin-right: 0 !important; }
/* lead/사주표 카드 — 좌우 16 */
body.cw-result .result-tldr__lead,
body.cw-result .result-tldr__saju-card { margin-left: 16px !important; margin-right: 16px !important; }
/* 강점/주의 wrap — padding 0 + margin 16 (col 이 직접 L635 폭) */
body.cw-result .result-traits { padding-left: 0 !important; padding-right: 0 !important; margin-left: 16px !important; margin-right: 16px !important; }
/* 신살 grid — 좌우 16 (현재 가장자리 닿음 → 안쪽으로) */
body.cw-result .sinsal-mag-grid { margin-left: 16px !important; margin-right: 16px !important; }
/* MBTI 프로모 카드 — 좌우 16 통일 */
body.cw-result #mbtiPromoSection, body.cw-result #mbtiCrossSection { margin-left: 16px !important; margin-right: 16px !important; }
/* result-tldr 자체 margin 16 잔재 → 0 (안 카드가 16+16=32 되던 것). 안 요소만 16 */
body.cw-result .result-tldr { margin-left: 0 !important; margin-right: 0 !important; }
/* preview-list(OL) 기본 margin 제거 + 16 */
body.cw-result .result-tldr__preview-list { margin-top: 0 !important; margin-bottom: 14px !important; }
/* 5인 목록 OL list 들여쓰기 잔재(20px) 제거 → L635 정렬 */
body.cw-result .result-tldr__preview-list { list-style: none !important; padding-inline-start: 0 !important; }
body.cw-result .result-tldr__preview-list li { margin: 0 0 8px !important; }

/* §37 (사토시 5/22) paywall-why 사진 잘림 fix + 5인 목록 들여쓰기 완전 제거 */
/* paywall-why object-fit:fill + height 560 고정 → 자연비율 풀블리드 (안 잘리게) */
body.cw-result .cw-paywall-why { height: auto !important; max-height: none !important; overflow: visible !important; }
body.cw-result .cw-paywall-why img { height: auto !important; max-height: none !important; object-fit: contain !important; }
/* 5인 목록 li 들여쓰기(20px) 완전 제거 → L635 */
body.cw-result .result-tldr__preview-list { padding: 0 !important; }
body.cw-result .result-tldr__preview-list li { padding-left: 0 !important; margin-left: 0 !important; }
/* 5인 목록 부모 wrapper(result-tldr__preview) 좌우 padding 잔재 → margin 16 + preview-list margin 0 (li L635 정렬) */
body.cw-result .result-tldr__preview { padding-left: 0 !important; padding-right: 0 !important; margin-left: 16px !important; margin-right: 16px !important; }
body.cw-result .result-tldr__preview .result-tldr__preview-list { margin-left: 0 !important; margin-right: 0 !important; }

/* §38 (사토시 5/22) 흰 카드 border-width 0 → 1px (sinsal-analysis 등 배경과 구분 안 되던 것 통일) */
body.cw-result .sinsal-analysis,
body.cw-result .ohaeng-analysis,
body.cw-result .gyeokguk-card,
body.cw-result .sinsal-mag-card,
body.cw-result .yongsin-card,
body.cw-result .yongsin-analysis,
body.cw-result .ilgan-strength-card,
body.cw-result .chapter-gets,
body.cw-result .preview-card,
body.cw-result .oneshot-card,
body.cw-result .result-tldr__saju-card,
body.cw-result .result-tldr__lead {
  border-width: 1px !important; border-style: solid !important; border-color: rgba(27,47,73,0.14) !important;
}

/* §39 (사토시 5/22) 신살 종합 분석 카드 좌우 16 (위 grid L635 와 폭 안 맞아 겹쳐 보이던 것) */
body.cw-result .sinsal-analysis { margin: 16px 16px 14px !important; }

/* §40 deleted (사토시 5/22 → 5/22 후반): cw-secrets-grid/cw-secret-card 룰 — cw-spec 가로 결혼스타일로 교체됨, 잔재 룰 제거 */

/* ═══════════════════════════════════════════════════════════════════
   §41 (사토시 5/22) crisis→paywall-why 미세 gap 제거 + 사진→텍스트 경계 그라데이션
   ═══════════════════════════════════════════════════════════════════ */
/* crisis → paywall-why 미세 gap(2px) 완전 제거 */
body.cw-result .cw-crisis, body.cw-result .cw-crisis__hero { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.cw-result #premiumLockSection { padding-top: 0 !important; border-top: 0 !important; margin-top: 0 !important; }
body.cw-result .cw-paywall-why { margin-top: 0 !important; border: 0 !important; }
/* paywall-why 사진 하단 → "FOR THE WHOLE PICTURE" 텍스트(딥네이비) 자연 연결 그라데이션 */
body.cw-result .cw-paywall-why { position: relative !important; }
body.cw-result .cw-paywall-why::after {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 110px !important; background: linear-gradient(transparent, #0E1B33) !important;
  pointer-events: none !important; z-index: 2 !important;
}
/* crisis 사진 하단도 딥네이비 그라데이션 (paywall 진입 자연스럽게) */
body.cw-result .cw-crisis__hero::after {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 110px !important; background: linear-gradient(transparent, #0E1B33) !important;
  pointer-events: none !important; z-index: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §42 (사토시 5/22) paywall benefit/wealth/reviewer/CTA 청월 톤 + FAQ 글씨 fix
   ═══════════════════════════════════════════════════════════════════ */
/* benefit 5 — 골드 아이콘 + HTML 라벨 (흰 카드 리스트) */
body.cw-result .cw-benefits { background: rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; border-radius:16px !important; margin:0 16px 14px !important; padding:22px 20px !important; box-shadow:0 8px 24px rgba(0,0,0,0.22) !important; }
body.cw-result .cw-benefits__label { display:block !important; text-align:center !important; color:#04336D !important; font-weight:700 !important; font-size:11px !important; letter-spacing:0.18em !important; margin-bottom:6px !important; }
body.cw-result .cw-benefits__title { text-align:center !important; color:#1B2F49 !important; font-weight:800 !important; font-size:19px !important; margin:0 0 18px !important; }
body.cw-result .cw-benefits__list { list-style:none !important; padding:0 !important; margin:0 !important; display:flex !important; flex-direction:column !important; gap:14px !important; }
body.cw-result .cw-benefits__list li { display:flex !important; align-items:center !important; gap:14px !important; }
body.cw-result .cw-benefits__list li img { width:44px !important; height:44px !important; flex-shrink:0 !important; background:#111 !important; border-radius:10px !important; padding:3px !important; }
body.cw-result .cw-benefits__list li span { color:#243450 !important; font-size:15px !important; font-weight:600 !important; word-break:keep-all !important; }
/* (사토시 5/22 후반) cw-wealth 룰 삭제 — cw-spec 카드 4(재물)로 흡수, wealth-graph.png도 dead 자산으로 삭제 */
/* reviewer 후기 갤러리 */
body.cw-result .cw-reviews { margin:0 16px 14px !important; }
body.cw-result .cw-reviews__label { display:block !important; text-align:center !important; color:#9FB8E0 !important; font-weight:700 !important; font-size:11px !important; letter-spacing:0.18em !important; margin-bottom:6px !important; }
body.cw-result .cw-reviews__title { text-align:center !important; color:#fff !important; font-weight:800 !important; font-size:19px !important; margin:0 0 16px !important; }
body.cw-result .cw-reviews__list { display:flex !important; flex-direction:column !important; gap:12px !important; }
body.cw-result .cw-review { display:flex !important; gap:14px !important; align-items:flex-start !important; background:rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; border-radius:16px !important; padding:18px !important; margin:0 !important; box-shadow:0 6px 18px rgba(0,0,0,0.2) !important; }
body.cw-result .cw-review img { width:60px !important; height:75px !important; flex-shrink:0 !important; border-radius:10px !important; object-fit:cover !important; }
body.cw-result .cw-review blockquote { margin:0 0 8px !important; color:#243450 !important; font-size:14px !important; line-height:1.7 !important; word-break:keep-all !important; }
body.cw-result .cw-review figcaption { color:#6B7280 !important; font-size:12.5px !important; font-weight:600 !important; }
/* 통합 결제 CTA (청월 — 글씨 보이게) */
body.cw-result .cw-deeper-cta { margin:0 16px 18px !important; text-align:center !important; }
body.cw-result .cw-deeper-cta__hint { color:rgba(255,255,255,0.82) !important; font-size:14px !important; margin:0 0 12px !important; font-weight:600 !important; }
body.cw-result .cw-deeper-cta__btn { display:inline-flex !important; align-items:center !important; gap:8px !important; width:100% !important; justify-content:center !important; background:#04336D !important; color:#fff !important; border:0 !important; border-radius:14px !important; padding:16px 20px !important; font-size:16px !important; font-weight:700 !important; cursor:pointer !important; box-shadow:0 8px 22px rgba(4,51,109,0.4) !important; }
body.cw-result .cw-deeper-cta__btn svg { stroke:#fff !important; }
body.cw-result .cw-deeper-cta__btn span { color:#fff !important; }
/* FAQ 청월 흰 카드 (제목 안 보이던 것 fix) */
body.cw-result .sim-faq { margin:0 16px 14px !important; }
body.cw-result .sim-faq__title { color:#fff !important; text-align:center !important; }
body.cw-result .sim-faq__item { background:rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; }
body.cw-result .sim-faq__q { color:#04336D !important; }
body.cw-result .sim-faq__a { color:#243450 !important; }

/* ═══════════════════════════════════════════════════════════════════
   §43 (사토시 5/22) 미래 배우자 모자이크 잠금 + paywall 칸 간격 통일
   ═══════════════════════════════════════════════════════════════════ */
/* spouse 모자이크 잠금 카드 */
/* (사토시 5/22) 미래 배우자 — 사진 축소 + 텍스트 옆 가로 카드 */
body.cw-result .cw-spouse-lock {
  display:flex !important; gap:14px !important; align-items:stretch !important;
  margin:0 16px 14px !important; padding:14px !important;
  background:rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important;
  border-radius:16px !important; box-shadow:0 8px 24px rgba(0,0,0,0.22) !important;
}
body.cw-result .cw-spouse-lock__photo {
  flex:0 0 38% !important; max-width:150px !important; position:relative !important;
  border-radius:12px !important; overflow:hidden !important;
}
body.cw-result .cw-spouse-lock__photo img {
  display:block !important; width:100% !important; height:100% !important;
  aspect-ratio:3/4 !important; object-fit:cover !important;
  filter:blur(7px) brightness(0.72) !important;
}
body.cw-result .cw-spouse-lock__photo::after {
  content:"🔒" !important; position:absolute !important; left:50% !important; top:50% !important;
  transform:translate(-50%,-50%) !important; font-size:22px !important;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5)) !important;
}
body.cw-result .cw-spouse-lock__body {
  flex:1 !important; min-width:0 !important; display:flex !important; flex-direction:column !important;
  justify-content:center !important; gap:5px !important;
}
body.cw-result .cw-spouse-lock__label { color:#04336D !important; font-size:11px !important; font-weight:700 !important; letter-spacing:0.06em !important; }
body.cw-result .cw-spouse-lock__title { margin:0 !important; color:#1B2F49 !important; font-size:19px !important; font-weight:800 !important; letter-spacing:-0.01em !important; word-break:keep-all !important; }
body.cw-result .cw-spouse-lock__desc { margin:2px 0 4px !important; color:#4A4A4A !important; font-size:12.5px !important; line-height:1.6 !important; word-break:keep-all !important; }
body.cw-result .cw-spouse-lock__lock { align-self:flex-start !important; background:rgba(4,51,109,0.92) !important; color:#fff !important; font-size:11px !important; font-weight:700 !important; padding:6px 12px !important; border-radius:999px !important; display:inline-flex !important; align-items:center !important; gap:5px !important; }
body.cw-result .cw-spouse-lock__lock::before { content:"🔒" !important; font-size:10px !important; }
/* paywall 카드 세로 간격 통일 (14px) */
body.cw-result .cw-secrets-list,
body.cw-result .cw-spouse-lock,
body.cw-result .cw-benefits,
body.cw-result .cw-reviews,
body.cw-result .sim-faq { margin-bottom: 14px !important; }

/* ═══════════════════════════════════════════════════════════════════
   §44 (사토시 5/22) 위기/paywall-why/영상은 다 다크 톤 → 그라데이션 띠 오히려 어색
   → 사진/영상끼리 그라데이션 제거하고 그냥 맞붙임 (命→흰카드 그라데이션은 유지)
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .cw-crisis__hero::after,
body.cw-result .cw-paywall-why::after,
body.cw-result .sim-result__hero::after { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════
   §45 (사토시 5/22) 챕터5(딥네이비) → 위기 사진 진입 경계 그라데이션 (상단 페이드)
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .cw-crisis__hero::before {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; top: 0 !important;
  height: 90px !important; background: linear-gradient(#0E1B33, transparent) !important;
  pointer-events: none !important; z-index: 2 !important;
}
/* {name} overlay 는 그라데이션 위로 */
body.cw-result .cw-crisis__name { z-index: 3 !important; }

/* ═══════════════════════════════════════════════════════════════════
   §46 (사토시 5/22) paywall-why → 영상 경계 "하나처럼" — 양쪽 짧은 다크 페이드(crossfade)
   둘 다 다크 사진/영상이라 경계에서 같은 어둠으로 만나 경계선이 녹게
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .cw-paywall-why::after {
  display: block !important; content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 56px !important; background: linear-gradient(transparent, rgba(8,11,20,0.9)) !important;
  pointer-events: none !important; z-index: 2 !important;
}
body.cw-result .sim-result__hero::before {
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; top: 0 !important;
  height: 56px !important; background: linear-gradient(rgba(8,11,20,0.9), transparent) !important;
  pointer-events: none !important; z-index: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §47 (사토시 5/22) finale + 가격 carousel 청월 흰 카드 통일 (결제 보존)
   ═══════════════════════════════════════════════════════════════════ */
/* finale hero — 흰 카드 + 어두운 글씨 + 골드 가격 */
body.cw-result .r1d-finale-hero { background: rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; }
body.cw-result .r1d-finale-hero__eyebrow { color:#04336D !important; }
body.cw-result .r1d-finale-hero__title { color:#1B2F49 !important; }
body.cw-result .r1d-finale-hero__lead { color:#243450 !important; }
body.cw-result .r1d-finale-hero__lead .sp-keyword { color:#B8860B !important; border-bottom-color:rgba(184,134,11,0.4) !important; }
body.cw-result .r1d-finale-hero__gets { background:rgba(27,47,73,0.05) !important; border-color:rgba(27,47,73,0.1) !important; }
body.cw-result .r1d-finale-hero__gets li { color:#243450 !important; }
body.cw-result .r1d-finale-hero__gets li span { color:#1B2F49 !important; font-weight:700 !important; }
body.cw-result .r1d-finale-hero__price-original { color:#9aa3b2 !important; }
body.cw-result .r1d-finale-hero__price-new { color:#1B2F49 !important; }
body.cw-result .r1d-finale-hero__price-new strong { color:#B8860B !important; }
body.cw-result .r1d-finale-hero__price-discount { color:#C2453B !important; }
body.cw-result .r1d-finale-hero__cta { background:#04336D !important; color:#fff !important; }
body.cw-result .r1d-finale-hero__trust { background:rgba(27,47,73,0.05) !important; border-color:rgba(27,47,73,0.1) !important; }
body.cw-result .r1d-finale-hero__trust li { color:#4A5568 !important; }
body.cw-result .r1d-finale-hero__trust li strong { color:#1B2F49 !important; }
/* pricing-card wrapper 투명, 헤드라인 흰(딥네이비 배경 위) */
body.cw-result .pricing-card { background: transparent !important; border:0 !important; box-shadow:none !important; }
body.cw-result .pricing-headline { color:#fff !important; }
body.cw-result .pricing-sub { color:rgba(255,255,255,0.7) !important; }
body.cw-result .pricing-hint { color:rgba(255,255,255,0.6) !important; }
/* pricing-tier 6 상품 — 흰 카드 + 어두운 글씨 + 골드 가격 */
body.cw-result .pricing-tier { background:rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; }
body.cw-result .pricing-tier__name { color:#1B2F49 !important; }
body.cw-result .pricing-tier__copy { color:#243450 !important; }
body.cw-result .pricing-tier__copy strong { color:#04336D !important; }
body.cw-result .pricing-tier__original { color:#9aa3b2 !important; }
body.cw-result .pricing-tier__price { color:#1B2F49 !important; }
body.cw-result .pricing-tier__price span span[data-price] { color:#B8860B !important; }
body.cw-result .pricing-tier__discount { color:#C2453B !important; }
/* 마지막 결제 CTA tier 는 navy 임팩트 유지 (결정타) */
body.cw-result .pricing-tier--cta { background:#04336D !important; border-color:#04336D !important; }
body.cw-result .pricing-tier--cta .pricing-tier__name,
body.cw-result .pricing-tier--cta .pricing-tier__copy,
body.cw-result .pricing-tier--cta-eyebrow { color:#fff !important; }
body.cw-result .pricing-tier--cta .pricing-tier__price { color:#fff !important; }
body.cw-result .pricing-tier--cta .pricing-tier__price span span[data-price] { color:#E8C667 !important; }

/* ═══════════════════════════════════════════════════════════════════
   §48 (사토시 5/22) 한 컷 카드(oneshot) + 공유(share) 영역 청월 톤 + 안 보이는 글씨 fix
   ═══════════════════════════════════════════════════════════════════ */
/* oneShotEpilogue — 딥네이비 배경 + 흰 제목 + referral-tip 밝게 */
body.cw-result #oneShotEpilogue { background:#0E1B33 !important; }
body.cw-result #oneShotEpilogue .result-epilogue__label { color:#9FB8E0 !important; }
body.cw-result #oneShotEpilogue .result-epilogue__title { color:#fff !important; }
body.cw-result .oneshot-card__referral-tip { color:rgba(255,255,255,0.6) !important; }
body.cw-result .oneshot-card__referral-tip strong { color:#BDCEED !important; }
body.cw-result .oneshot-card__referral-tip a { color:#9FC0FF !important; }
/* oneshot 카드 (흰 카드 + 어두운 글씨) */
body.cw-result .oneshot-card { background:rgba(255,255,255,0.97) !important; border:1px solid rgba(27,47,73,0.14) !important; }
body.cw-result .oneshot-card__hint { color:#243450 !important; }
body.cw-result .oneshot-card__hint strong { color:#1B2F49 !important; }
body.cw-result .oneshot-card__btn { background:#04336D !important; color:#fff !important; }
/* share-section — 딥네이비 + 흰 제목 (검정이라 안 보이던 것) */
body.cw-result .share-section { background:#0E1B33 !important; }
body.cw-result .share-section__title { color:#fff !important; }

/* ═══════════════════════════════════════════════════════════════════
   §49 (사토시 5/22) 칩 여유 + finale gets 잘림 fix + sticky CTA 청월 톤
   ═══════════════════════════════════════════════════════════════════ */
/* #64 강점/주의 칩 — line-height 11px 빽빽 → 여유, 폰트 통일 */
body.cw-result .result-traits .result-tag,
body.cw-result #strengthsTags .result-tag,
body.cw-result #weaknessesTags .result-tag {
  line-height: 1.6 !important; padding: 10px 14px !important; font-size: 13.5px !important;
  word-break: keep-all !important; font-family: inherit !important; display: block !important;
}
body.cw-result #strengthsTags, body.cw-result #weaknessesTags { display:flex !important; flex-direction:column !important; gap:9px !important; }
/* #65 finale gets li 첫 글자 잘림 fix (카드 안쪽 padding) */
body.cw-result .r1d-finale-hero__gets { padding: 16px 18px !important; }
body.cw-result .r1d-finale-hero__gets li { padding-left: 4px !important; margin-left: 0 !important; }
/* #67 sticky CTA 버튼 골드 → 청월 navy */
body.cw-result #stickyCta button, body.cw-result #stickyBuyBtn, body.cw-result .sticky-cta__btn,
body.cw-result #stickyCta .sticky-buy { background: #04336D !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════════
   §50 (사토시 5/22) finale "받는 것" 청월식 번호 항목 리스트 재구성
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .cw-finale-points { background: transparent !important; padding: 0 !important; border: 0 !important; display: flex !important; flex-direction: column !important; gap: 9px !important; }
body.cw-result .cw-finale-points li {
  display: flex !important; align-items: center !important; gap: 14px !important;
  background: rgba(27,47,73,0.045) !important; border: 1px solid rgba(27,47,73,0.1) !important;
  border-radius: 12px !important; padding: 14px 16px !important; margin: 0 !important; color: inherit !important;
}
body.cw-result .cw-finale-points .cw-fp-num { font-family: 'Noto Serif KR', serif !important; font-size: 20px !important; font-weight: 800 !important; color: #B8860B !important; flex-shrink: 0 !important; width: 26px !important; text-align: center !important; }
body.cw-result .cw-finale-points .cw-fp-text { display: flex !important; flex-direction: column !important; gap: 2px !important; }
body.cw-result .cw-finale-points .cw-fp-title { color: #1B2F49 !important; font-weight: 700 !important; font-size: 14.5px !important; }
body.cw-result .cw-finale-points .cw-fp-desc { color: #6B7280 !important; font-size: 12.5px !important; }

/* ═══════════════════════════════════════════════════════════════════
   §51 (사토시 5/22) finale/pricing/oneshot 카드 토큰 통일 (radius/shadow/border)
   finale·pricing-tier 가 radius 10 + shadow 제각각 → 챕터 기준(r16 + 통일 shadow/border)
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .r1d-finale-hero,
body.cw-result .pricing-tier,
body.cw-result .oneshot-card {
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.22) !important;
  border: 1px solid rgba(27,47,73,0.14) !important;
}
body.cw-result .pricing-tier__visual,
body.cw-result .oneshot-card__visual { border-radius: 12px !important; }
/* 결정타 CTA tier 는 navy border 유지 */
body.cw-result .pricing-tier--cta { border-color: #04336D !important; }

/* ═══════════════════════════════════════════════════════════════════
   §52 (사토시 5/22) 가격 carousel 가로 → 세로 리스트 (청월 세로 연속, 이전/다음·dot 제거)
   ═══════════════════════════════════════════════════════════════════ */
body.cw-result .pricing-carousel-wrap { overflow: visible !important; }
body.cw-result .pricing-tiers {
  display: flex !important; flex-direction: column !important; gap: 12px !important;
  overflow: visible !important; scroll-snap-type: none !important;
}
body.cw-result .pricing-tier {
  width: auto !important; min-width: 0 !important; max-width: none !important;
  flex: 0 0 auto !important; scroll-snap-align: none !important; margin: 0 16px !important;
}
/* 이전/다음 버튼 + dot + 옆넘김 힌트 숨김 (세로라 불필요) */
body.cw-result .pricing-carousel-controls,
body.cw-result .pricing-dots,
body.cw-result .pricing-hint { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════
   §53 (사토시 5/22) pricing-tier 좌우 635 통일 + 사진 잘림 fix (사용자 체크)
   ═══════════════════════════════════════════════════════════════════ */
/* tiers padding 16 + tier margin 16 이중(L651) → tier margin 0 (L635) */
body.cw-result .pricing-tier { margin: 0 !important; }
/* 세로 사진(1024x1280)을 가로 박스 cover 라 인물 얼굴 잘림 → 4:3 통일 + 얼굴(상단) 보존 */
body.cw-result .pricing-tier__visual { aspect-ratio: 4/3 !important; height: auto !important; }
body.cw-result .pricing-tier__visual img { object-fit: cover !important; object-position: center 18% !important; width: 100% !important; height: 100% !important; }

/* §54 (사토시 5/22) finale-book 책 사진 살짝 위로 (contain, 책 위치 상단으로) */
body.cw-result .r1d-finale-hero .chapter-hero img { object-position: center 22% !important; }

/* §55 (사토시 5/22) 도사 말풍선 (decoration bubble 누끼 + 텍스트 overlay) */
body.cw-result .cw-bubble { position: relative !important; max-width: 300px !important; margin: 0 16px 16px !important; }
body.cw-result .cw-bubble img { display: block !important; width: 100% !important; height: auto !important; }
body.cw-result .cw-bubble__text {
  position: absolute !important; top: 44% !important; left: 56% !important; transform: translate(-50%,-50%) !important;
  width: 64% !important; text-align: center !important; margin: 0 !important;
  color: #1B2F49 !important; font-size: 13.5px !important; font-weight: 600 !important; line-height: 1.5 !important; word-break: keep-all !important;
}

/* §56 (사토시 5/22 #70) finale 결정타 CTA copy strong 이 블루라 navy 카드 위 안 보임 → 골드 */
body.cw-result .pricing-tier--cta .pricing-tier__copy strong { color: #E8C667 !important; }

/* ═══════════════════════════════════════════════════════════════════
   §57 (사토시 5/22 #72·74) BEST CHOICE 배지 카드 밖 삐짐 + 텍스트~6card 간격
   ═══════════════════════════════════════════════════════════════════ */
/* #74 배지가 carousel 기준이라 카드 밖 왼쪽 삐짐 → tier 기준(relative) + 카드 안 */
body.cw-result .pricing-tier { position: relative !important; }
body.cw-result .pricing-tier__best-badge { left: 12px !important; top: 10px !important; transform: none !important; z-index: 2 !important; }
/* #72 "5인의 시선" 텍스트 ~ 6card 간격 0 → 18 */
body.cw-result #premiumLockSection .result-epilogue__heading { margin-bottom: 18px !important; }
/* #73 FAQ 제목 "다른 AI 사주" ~ 첫 item 간격 0 → 14 */
body.cw-result .sim-faq__title { margin-bottom: 14px !important; }

/* §58 (사토시 5/22) 命/위기 이름 overlay 폐기 — 새 이미지에 "그대를"/"그대에게" 완성형 베이크됨. 오버레이 span 제거, 룰 무력화 */
body.cw-result .cw-intro-hero__name,
body.cw-result .cw-crisis__name { display: none !important; }

/* §59 (사토시 5/22) finale-book — 사진 crop 금지, 자연 비율 풀-블리드 (chapter-hero 5/3 강제 폐기) */
body.cw-result .cw-finale-book { width: 100% !important; border-radius: 16px !important; overflow: hidden !important; box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important; line-height: 0 !important; }
body.cw-result .cw-finale-book picture { display: block !important; }
body.cw-result .cw-finale-book img { width: 100% !important; height: auto !important; display: block !important; object-fit: contain !important; }

/* §60 (사토시 5/22) saju-board 하단 ↔ 命(ch3-hanja) 상단 경계 = 네이비로 통일해 끊김없이 이어붙임 (命 배경이 네이비라 검정 블록이 도드라짐 → 양쪽 다 #0E1B33 페이드).
   saju 하단: 검정 → 네이비 / 命 상단: 네이비 → 투명(아래 命 네이비 본체로) */
body.cw-result .cw-sajupan__hero { position: relative !important; }
body.cw-result .cw-sajupan__hero::after {
  content: '' !important; position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 150px !important;
  background: linear-gradient(180deg, transparent 0%, #0E1B33 100%) !important;
  pointer-events: none !important; z-index: 2 !important;
}
body.cw-result .cw-intro-hero::before {
  content: '' !important; position: absolute !important;
  left: 0 !important; right: 0 !important; top: 0 !important;
  height: 170px !important;
  background: linear-gradient(180deg, #0E1B33 0%, transparent 100%) !important;
  pointer-events: none !important; z-index: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   §47 (사토시 5/22) paywall 재구성 — 스펙시트 모자이크 카드
   "한국인 고관심 항목 라벨은 또렷, 값만 빡센 모자이크 → 존나 궁금하게"
   배우자 사진 모자이크를 맨 위 리드로, 영상 제거, card-1~6 이미지그리드 폐기
   ═══════════════════════════════════════════════════════════════════ */
/* 영상 제거됨 → paywall-why 하단은 섹션 네이비로 자연 페이드 (near-black 띠 제거) */
body.cw-result .cw-paywall-why::after {
  height: 90px !important;
  background: linear-gradient(transparent, #0E1B33) !important;
}
/* 스펙시트 카드 리스트 */
body.cw-result .cw-secrets-list {
  display: flex !important; flex-direction: column !important; gap: 14px !important;
  margin: 0 16px 14px !important;
}
/* 가로 "결혼 스타일" — 사진 좌측 + 본문(제목+항목 모자이크) 우측 */
body.cw-result .cw-spec {
  position: relative !important;
  display: flex !important; gap: 14px !important; align-items: stretch !important;
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(27,47,73,0.14) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.22) !important;
  overflow: hidden !important;
}
body.cw-result .cw-spec__photo {
  flex: 0 0 36% !important; max-width: 140px !important;
  border-radius: 12px !important; overflow: hidden !important; position: relative !important;
}
body.cw-result .cw-spec__photo picture { display: block !important; height: 100% !important; }
body.cw-result .cw-spec__photo img {
  display: block !important; width: 100% !important; height: 100% !important;
  min-height: 124px !important; object-fit: cover !important;
}
body.cw-result .cw-spec__body {
  flex: 1 !important; min-width: 0 !important;
  display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 8px !important;
}
body.cw-result .cw-spec__title { margin: 0 !important; color: #1B2F49 !important; font-size: 15px !important; font-weight: 800 !important; line-height: 1.32 !important; letter-spacing: -0.01em !important; word-break: keep-all !important; }
body.cw-result .cw-spec__lock {
  align-self: flex-start !important; margin-top: 2px !important;
  background: rgba(4,51,109,0.92) !important; color: #fff !important;
  font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: 0.02em !important;
  padding: 6px 11px !important; border-radius: 999px !important; white-space: nowrap !important;
  display: inline-flex !important; align-items: center !important; gap: 4px !important;
}
body.cw-result .cw-spec__lock::before { content: "🔒" !important; font-size: 10px !important; }
body.cw-result .cw-spec__rows { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
body.cw-result .cw-spec__rows li { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
body.cw-result .cw-spec__k { flex-shrink: 0 !important; color: #04336D !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
body.cw-result .cw-spec__v {
  flex: 1 !important; text-align: right !important;
  color: #243450 !important; font-size: 12.5px !important; font-weight: 600 !important;
  white-space: nowrap !important; overflow: hidden !important;
  filter: blur(6px) !important; -webkit-filter: blur(6px) !important;
  user-select: none !important; pointer-events: none !important;
  opacity: 0.92 !important;
}
/* 모바일 narrow — 값 더 짧게 잘림 방지 */
@media (max-width: 380px) {
  body.cw-result .cw-spec__title { font-size: 15.5px !important; }
  body.cw-result .cw-spec__k, body.cw-result .cw-spec__v { font-size: 13px !important; }
}

/* §47 fix (사토시 5/22 "여기 잘린다") — paywall heading border-bottom이 다크에서 밝은 줄로 뜸 → 제거 */
body.cw-result #premiumLockSection .result-epilogue__heading {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   5/28 N1 — premium_bridge (paywall 직전 1:1 결제 유도 시그니처)
   ============================================================ */
.premium-bridge {
  max-width: 418px;
  margin: 36px auto 4px;
  padding: 26px 24px;
  background: linear-gradient(180deg, rgba(184,134,11,0.10), rgba(184,134,11,0.04));
  border-left: 3px solid #B8860B;
  border-radius: 4px;
  font-family: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  font-size: 15.5px;
  line-height: 1.95;
  letter-spacing: -0.012em;
  color: #F5F3EC;
  word-break: keep-all;
  text-align: left;
  position: relative;
}
.premium-bridge::before {
  content: '";
  position: absolute;
  top: -8px;
  left: 18px;
  font-family: Georgia, serif;
  font-size: 56px;
  line-height: 1;
  color: #B8860B;
  opacity: 0.4;
}
.premium-bridge p {
  margin: 0;
}
.premium-bridge p + p {
  margin-top: 12px;
}
@media (max-width: 380px) {
  .premium-bridge {
    margin: 28px 16px 4px;
    padding: 22px 20px;
    font-size: 14.5px;
  }
}

/* ============================================================
   5/28 O1 — paywall 결제 카운터 (사회적 증명)
   ============================================================ */
.paywall-counter {
  max-width: 418px;
  margin: 4px auto 14px;
  padding: 16px 22px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(184, 134, 11, 0.25);
  border-radius: 4px;
  text-align: center;
  font-family: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  color: #F5F3EC;
  word-break: keep-all;
}
.paywall-counter__main {
  font-size: 14.5px;
  line-height: 1.6;
  letter-spacing: -0.012em;
}
.paywall-counter__main strong {
  color: #D4AF37;
  font-weight: 700;
  font-size: 1.08em;
}
.paywall-counter__sub {
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(245, 243, 236, 0.72);
  letter-spacing: -0.01em;
}
.paywall-counter__sub strong {
  color: #D4AF37;
  font-weight: 600;
}
.paywall-counter--loading .paywall-counter__main {
  color: rgba(245, 243, 236, 0.45);
  font-size: 13px;
}
@media (max-width: 380px) {
  .paywall-counter {
    margin: 4px 16px 12px;
    padding: 14px 18px;
  }
  .paywall-counter__main { font-size: 13.5px; }
  .paywall-counter__sub  { font-size: 11.5px; }
}

/* ============================================================
   5/28 O2 — paywall 결제자 후기 (report_reviews paid + visible)
   ============================================================ */
.paywall-reviews {
  max-width: 418px;
  margin: 18px auto 14px;
  padding: 22px 22px 18px;
  background: rgba(184, 134, 11, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.18);
  border-radius: 4px;
  font-family: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  color: #F5F3EC;
}
.paywall-reviews__title {
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0 0 16px;
  color: #D4AF37;
  text-align: center;
}
.paywall-reviews__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.paywall-review {
  padding: 14px 14px 12px;
  background: rgba(255, 255, 255, 0.03);
  border-left: 2px solid rgba(184, 134, 11, 0.6);
  border-radius: 2px;
}
.paywall-review__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  font-size: 12.5px;
}
.paywall-review__stars {
  color: #D4AF37;
  letter-spacing: 0.08em;
  font-size: 13px;
}
.paywall-review__name {
  color: rgba(245, 243, 236, 0.85);
  font-weight: 500;
}
.paywall-review__product {
  color: rgba(245, 243, 236, 0.55);
  font-size: 11.5px;
  margin-left: auto;
}
.paywall-review__body {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: -0.01em;
  color: rgba(245, 243, 236, 0.92);
  word-break: keep-all;
}
@media (max-width: 380px) {
  .paywall-reviews { margin: 16px 16px 12px; padding: 18px 16px 14px; }
  .paywall-review__body { font-size: 13.5px; }
}

/* ============================================================
   5/28 O3 — exit-intent popup (떠나려 할 때 1:1 hook + CTA)
   ============================================================ */
.exit-intent-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(14, 27, 51, 0.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: exitIntentFadeIn 0.25s ease-out;
}
.exit-intent-backdrop--leave {
  animation: exitIntentFadeOut 0.18s ease-out forwards;
}
@keyframes exitIntentFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes exitIntentFadeOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}
.exit-intent-modal {
  position: relative;
  width: 100%;
  max-width: 360px;
  background: linear-gradient(180deg, #14223C 0%, #0E1B33 100%);
  border: 1px solid rgba(184, 134, 11, 0.4);
  border-radius: 6px;
  padding: 32px 26px 26px;
  color: #F5F3EC;
  font-family: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  animation: exitIntentSlideUp 0.3s cubic-bezier(.2,.7,.2,1);
}
@keyframes exitIntentSlideUp {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.exit-intent-modal__close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: transparent;
  border: 0;
  color: rgba(245, 243, 236, 0.5);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  padding: 8px;
}
.exit-intent-modal__close:hover { color: #F5F3EC; }
.exit-intent-modal__kicker {
  font-size: 12px;
  font-weight: 600;
  color: #D4AF37;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.exit-intent-modal__title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.015em;
  margin: 0 0 14px;
  color: #F5F3EC;
  word-break: keep-all;
}
.exit-intent-modal__body {
  font-size: 14.5px;
  line-height: 1.8;
  letter-spacing: -0.01em;
  color: rgba(245, 243, 236, 0.85);
  margin: 0 0 22px;
  word-break: keep-all;
}
.exit-intent-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.exit-intent-modal__primary {
  background: #B8860B;
  color: #0E1B33;
  border: 0;
  border-radius: 4px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: background 0.15s;
}
.exit-intent-modal__primary:hover { background: #D4AF37; }
.exit-intent-modal__secondary {
  background: transparent;
  color: rgba(245, 243, 236, 0.6);
  border: 0;
  padding: 10px;
  font-family: inherit;
  font-size: 13px;
  letter-spacing: -0.01em;
  cursor: pointer;
}
.exit-intent-modal__secondary:hover { color: #F5F3EC; }

/* ============================================================
   5/28 O4 — paywall 시간 압박 카운트다운 (10분 한정 할인)
   ============================================================ */
.paywall-countdown {
  max-width: 418px;
  margin: 4px auto 14px;
  padding: 18px 22px 16px;
  background: linear-gradient(180deg, rgba(229, 87, 76, 0.12), rgba(184, 134, 11, 0.08));
  border: 1px solid rgba(229, 87, 76, 0.35);
  border-radius: 4px;
  text-align: center;
  font-family: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  color: #F5F3EC;
  word-break: keep-all;
}
.paywall-countdown__label {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #E2574C;
  margin-bottom: 8px;
}
.paywall-countdown__icon {
  font-size: 14px;
  margin-right: 2px;
}
.paywall-countdown__timer {
  font-family: 'SF Mono', 'Menlo', 'Consolas', 'Apple SD Gothic Neo', monospace;
  font-feature-settings: 'tnum';
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #D4AF37;
  line-height: 1.1;
  margin-bottom: 6px;
}
.paywall-countdown__sub {
  font-size: 12px;
  line-height: 1.55;
  color: rgba(245, 243, 236, 0.7);
  letter-spacing: -0.01em;
}
.paywall-countdown--expired .paywall-countdown__label {
  color: rgba(245, 243, 236, 0.5);
}
.paywall-countdown--expired .paywall-countdown__timer {
  color: rgba(212, 175, 55, 0.4);
  font-size: 22px;
  letter-spacing: 0.06em;
}
.paywall-countdown--expired {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(184, 134, 11, 0.18);
}
@media (max-width: 380px) {
  .paywall-countdown { margin: 4px 16px 12px; padding: 16px 18px 14px; }
  .paywall-countdown__timer { font-size: 32px; }
  .paywall-countdown__sub { font-size: 11.5px; }
}
