/* Shared TypePop content typography. Navigation/business details retain Sans. */
@font-face {
  font-family: "TypePop Sans";
  src: url("/assets/fonts/PretendardVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "TypePop Batang";
  src: url("/assets/fonts/IropkeBatangM.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --font-content: "TypePop Batang", "Apple SD Gothic Neo", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", serif;
  --font-brand: "TypePop Sans", -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  --space-card: 12px;
  --space-prose: 16px;
}

body {
  font-family: var(--font-content);
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.9;
}

button, input, select, textarea, #premium-report-actions {
  font-family: var(--font-content);
  font-synthesis: none;
}

.landing-subtitle, .landing-desc, .ui-intro-copy, .ui-intro-copy p,
.would-you-scenario p, .card-body > p:not(.section-title),
.result-hero-subtitle, .result-hero-summary,
.result-action-panel .result-hero-summary, .would-you-evidence blockquote,
.would-you-mixed, .would-you-conversation, .would-you-notice,
.would-you-purchase-notice, .result-friend-image, .share-privacy-note,
.result-disclaimer {
  line-height: 1.9;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* Preserve words in compact labels and nested result prose. */
.result-preview-name, .ui-feature-copy, .other-test-title,
.result-free-insight p {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.landing-title, .result-hero-title, .section-title, .upsell-section-heading,
.fi-social-title, .fi-social-subtitle, .q-text, #report-title,
.report-section h2, .premium-report-actions-title {
  font-weight: 700;
  font-synthesis: weight;
  line-height: 1.55;
  letter-spacing: -.01em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.landing-brand, .would-you-series, .meta-item, .result-hero-label,
.would-you-type, .would-you-evidence-label, .upsell-item-title,
.upsell-item-desc, .q-num {
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.q-option, .q-option-text {
  font-family: var(--font-content);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.fi-social-kicker, .fi-social-copy, .fi-social-notice, .fi-social-hint,
.fi-social-progress, .fi-social-distribution, .fi-social-share-state,
.fi-social-owner-result, .fi-social-dimension, .would-you-role {
  line-height: 1.9;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.fi-social-pair, .fi-social-verdict-pill, .fi-social-one-line strong,
.ui-summary-copy, .would-you-comparison-axis summary {
  line-height: 1.65;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.btn, .btn-primary:not(.result-action-btn--kakao):not(.fi-social-kakao),
.btn-secondary:not(.result-action-btn--kakao):not(.fi-social-kakao),
.fi-social-verdict, .fi-social-kakao, .result-action-btn,
.result-action-btn .action-label, .result-navigation .result-home-link,
.premium-report-action-primary, .premium-report-action-secondary, .btn-back {
  line-height: 1.7;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.result-upsell .upsell-sub {
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: pretty;
}

#would-you-upsell .upsell-sub { line-height: 1.9; text-wrap: pretty; }

.report-section p {
  line-height: 1.95;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.expires-note, .disclaimer, #error p, .premium-report-retention-pill,
.premium-report-retention-copy, .premium-report-actions-desc,
.premium-report-test-name, .premium-report-test-desc {
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.text-keep-unit { white-space: nowrap; }
.landing-title .title-clause {
  display: inline-block;
  max-width: 100%;
  vertical-align: baseline;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

h1, h2, h3, strong, b, .would-you-evidence-label, .upsell-item-title,
.fi-social-one-line strong, .ui-summary-copy {
  font-weight: 700;
  font-synthesis: weight;
}

/* These existing name/score/band displays already declare emphasis weights. */
#nm-names-display, #nm-score-display, #nm-tier-label,
.nm-paid-names, .nm-paid-score, .nm-paid-band {
  font-synthesis: weight;
}

/* Existing emphasis roles keep their own weights; ordinary prose stays regular. */
.tp-channel-button, .other-test-title, .test-card-enter,
.home-intro-text.ui-intro-title, .premium-report-other-title,
.premium-report-test-name, .nm-score-unit, .fi-social-owner-result,
.fi-social-unlock, .fi-social-comparison > .fi-social-pair,
.recipient-banner-title, .recipient-result-cta-title, .premium-report-retention-pill {
  font-synthesis: weight;
}

:is(.btn, .btn-primary:not(.result-action-btn--kakao):not(.fi-social-kakao),
.btn-secondary:not(.result-action-btn--kakao):not(.fi-social-kakao),
.result-action-btn, .fi-social-verdict, .fi-social-kakao, .btn-back,
.nm-paid-button, .premium-report-action-primary, .premium-report-action-secondary):not(.site-header *):not(.site-footer *) {
  font-family: var(--font-content);
  font-weight: 700;
  font-synthesis: weight;
}

#root-home-test-list, #home-test-list { display: grid; gap: var(--space-card); }
#root-home-test-list > .test-card, #home-test-list > .test-card { margin: 0; }
.test-card-title { font-weight: 700; font-synthesis: weight; word-break: keep-all; overflow-wrap: normal; }
.would-you-scenario .would-you-message { margin-block: var(--space-prose); }
.result-upsell > p + .upsell-item-list { margin-block-start: var(--space-prose); }

#report-title .premium-report-title-main {
  display: block;
  color: var(--text, #292435);
  font-weight: 700;
  font-synthesis: weight;
}

#report-title .premium-report-title-subtitle {
  display: block;
  margin-top: 8px;
  color: var(--text-sub, #625b6e);
  font-size: .72em;
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.7;
  letter-spacing: 0;
}

.site-header, .site-footer {
  font-family: var(--font-brand);
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.65;
  letter-spacing: normal;
}

.site-header :where(*), .site-footer :where(*) {
  font-family: var(--font-brand);
  font-synthesis: none;
}

.site-header .logo { font-size: 20px; font-weight: 700; line-height: 33px; letter-spacing: -.5px; }
.site-header .btn {
  font-family: var(--font-brand);
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: normal;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: wrap;
}

.site-footer .footer-links, .site-footer .footer-links a,
.site-footer .footer-copy, .site-footer .footer-copy a {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: normal;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: wrap;
}
