/* WTDS typography: single public size palette.
 * Fluid from 360px to 1440px. No html font-size override; rem respects user zoom.
 * Component CSS chooses a role. Do not redefine this scale on body or at breakpoints.
 * 11px labels remain stable by design; all text scales with the user font setting.
 * Brand font families continue to come from Playground / Foundations.
 */
:root {
  --wtds-fs-caption-2: 0.6875rem;
  --wtds-fs-caption-1: clamp(0.6875rem, 0.666667rem + 0.092593vw, 0.75rem);
  --wtds-fs-footnote: clamp(0.75rem, 0.729167rem + 0.092593vw, 0.8125rem);
  --wtds-fs-ui: clamp(0.8125rem, 0.791667rem + 0.092593vw, 0.875rem);
  --wtds-fs-subhead: clamp(0.875rem, 0.854167rem + 0.092593vw, 0.9375rem);
  --wtds-fs-callout: clamp(0.9375rem, 0.916667rem + 0.092593vw, 1rem);
  --wtds-fs-body: clamp(0.875rem, 0.833333rem + 0.185185vw, 1rem);
  --wtds-fs-headline: clamp(1rem, 0.979167rem + 0.092593vw, 1.0625rem);
  --wtds-fs-title-3: clamp(1rem, 0.958333rem + 0.185185vw, 1.125rem);
  --wtds-fs-title-2: clamp(1.125rem, 1.083333rem + 0.185185vw, 1.25rem);
  --wtds-fs-title-1: clamp(1.25rem, 1.166667rem + 0.370370vw, 1.5rem);
  --wtds-fs-hero-medium: clamp(1.375rem, 1.291667rem + 0.370370vw, 1.625rem);
  --wtds-fs-large-title: clamp(1.5rem, 1.375000rem + 0.555556vw, 1.875rem);
  --wtds-fs-price-display: clamp(1.375rem, 1.208333rem + 0.740741vw, 1.875rem);
  --wtds-fs-brand-display: clamp(1.875rem, 1.625000rem + 1.111111vw, 2.625rem);
  --wtds-fs-hero-display: clamp(1.75rem, 1.416667rem + 1.481481vw, 2.75rem);
  --wtds-fs-display-xl: clamp(2.25rem, 1.791667rem + 2.037037vw, 3.625rem);
  --wtds-fs-display-jumbo: clamp(3rem, 2.166667rem + 3.703704vw, 5.5rem);
  --wtds-fs-display-code: clamp(5rem, 3.666667rem + 5.925926vw, 9rem);
  --wtds-fs-field: 1rem;
  --wtds-fs-money-fraction: .6em;
  --wtds-fs-money-code: .75em;
  --wtds-fs-relative-small: .875em;
  --wtds-fw-light: 300;
  --wtds-fw-regular: 400;
  --wtds-fw-body: 400;
  --wtds-fw-medium: 500;
  --wtds-fw-semibold: 500;
  --wtds-fw-bold: 500;
  --wtds-fw-ui: 500;
  --wtds-fw-heading: 500;
  --wtds-fw-emphasis: 500;
  --wtds-fw-strong-max: 500;
  --wtds-lh-tight: 1.2;
  --wtds-lh-snug: 1.38;
  --wtds-lh-base: 1.5;
  --wtds-lh-relax: 1.62;
  --wtds-lh-normal: var(--wtds-lh-base);
  --wtds-lh-relaxed: var(--wtds-lh-relax);
  --wtds-font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --wtds-font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --wtds-icon-font-8: 0.5rem;
  --wtds-icon-font-10: 0.625rem;
  --wtds-icon-font-12: 0.75rem;
  --wtds-icon-font-14: 0.875rem;
  --wtds-icon-font-16: 1rem;
  --wtds-icon-font-18: 1.125rem;
  --wtds-icon-font-20: 1.25rem;
  --wtds-icon-font-24: 1.5rem;
  --wtds-icon-font-28: 1.75rem;
  --wtds-icon-font-32: 2rem;
  --wtds-icon-font-40: 2.5rem;
  --wtds-icon-font-48: 3rem;
  --wtds-icon-font-56: 3.5rem;
  --wtds-icon-font-64: 4rem;
  /* Existing Base names are consumers, never a second source of truth. */
  --wapu-base-font: var(--wtds-font-text);
  --wapu-base-type-display: var(--wtds-fs-hero-display);
  --wapu-base-type-page: var(--wtds-fs-large-title);
  --wapu-base-type-section: var(--wtds-fs-title-1);
  --wapu-base-type-subsection: var(--wtds-fs-title-3);
  --wapu-base-type-body: var(--wtds-fs-body);
  --wapu-base-type-small: var(--wtds-fs-footnote);
  --wapu-base-type-caption: var(--wtds-fs-caption-1);
  --wapu-base-type-micro: var(--wtds-fs-caption-2);
}

/* Public block typography bridge. Explicit per-block font-family choices stay authored. */
body .wapu-block-style-scope {
  --wapu-type-caption: var(--wtds-fs-caption-2);
  --wapu-type-label: var(--wtds-fs-caption-1);
  --wapu-type-small: var(--wtds-fs-ui);
  --wapu-type-body: var(--wtds-fs-body);
  --wapu-type-lead: var(--wtds-fs-title-3);
  --wapu-type-h4: var(--wtds-fs-title-3);
  --wapu-type-h3: var(--wtds-fs-title-1);
  --wapu-type-h2: var(--wtds-fs-large-title);
  --wapu-type-h1: var(--wtds-fs-hero-display);
  --wapu-type-hero: var(--wtds-fs-display-xl);
  --wapu-type-display: var(--wtds-fs-display-jumbo);
  --wapu-leading-tight: var(--wtds-lh-tight);
  --wapu-leading-body: var(--wtds-lh-base);
}
