/* Shared local sans policy. Serif display titles keep their component fonts.
 * Component sizes, weights, line heights, colors and spacing remain local.
 */
body.vf-font-rendering {
  --font-sans: var(--vf-font-sans);
  font-family: var(--vf-font-sans);
  font-optical-sizing: auto;
}

body.vf-font-rendering,
body.vf-font-rendering :where(button, input, select, textarea) {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.vf-font-rendering .v2-hero-shell {
  --font-sans: var(--vf-font-sans);
}

body.vf-font-rendering .vfr-site-nav[data-vfr-surface="full-width"] {
  --vfr-font-sans: "VFR UCity Pro", "VFR Pretendard Variable", Pretendard, "Apple SD Gothic Neo", Arial, sans-serif;
  --vfr-font-nav: "VFR UCity Pro", "VFR Pretendard Variable", Pretendard, "Apple SD Gothic Neo", Arial, sans-serif;
}

body.vf-font-rendering .vfr-site-nav[data-vfr-surface="full-width"],
body.vf-font-rendering .vfr-site-nav[data-vfr-surface="full-width"] * {
  font-family: var(--vfr-font-nav);
}

body.vf-font-rendering .vfr-site-nav[data-vfr-surface="full-width"] :is(
  .vfr-language-flag,
  .vfr-language-option-flag
) {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

body.vf-font-rendering :is(.vf-section-label, .serim-section-header__label, .serim-hero-intro-lg__label),
body.vf-font-rendering.serim-shared-header .vfr-language-menu,
body.vf-font-rendering :is(.serim-body-lg, .vf-body-lg, .vf-body-longform, .vfds-toast, .serim-section-header__description) {
  font-family: var(--vf-font-sans);
  text-wrap: balance;
}

/* UCity's visual center sits slightly below its line box center. Move only the
 * label glyphs; button geometry, icons and interaction states stay unchanged. */
body.vf-font-rendering .vfr-nav-cta > .vfr-nav-cta-label,
body.vf-font-rendering .thx-contact-cta > .thx-contact-label,
body.vf-font-rendering .vfr-language-label {
  position: relative;
  inset-block-start: -0.5px;
}

/* Reserve the final control widths while local fonts load. */
body.vf-font-rendering .vfr-site-nav[data-vfr-surface="full-width"] .vfr-language-switcher--flag .vfr-language-button {
  inline-size: 88px;
  block-size: 36px;
  flex: none;
  justify-content: center;
  padding-inline: 8px;
  gap: 5px;
}

body.vf-font-rendering .serim-footer {
  --serim-footer-font-sans: var(--vf-font-sans);
  --serim-footer-font-mono: var(--vf-font-sans);
}
