/* apple.com typography weights and scale — measured 2026-10-26 from live CSS + computed styles.
   Pair with fonts/default-google-fonts (Figtree + Noto Sans Thai). SF Pro is not bundled. */

:root {
  --type-font-display: Figtree, "Noto Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --type-font-text: Figtree, "Noto Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Product / store page header (.typography-page-header-title, h1.rs-shop-header) */
  --type-hero-weight: 600;
  --type-hero-size: 80px;
  --type-hero-line-height: 1.05;
  --type-hero-letter-spacing: -0.015em;
  --type-hero-font-family: var(--type-font-display);

  /* Home / promo tile headline (.typography-tile-headline) — 56 / 48 / 32 */
  --type-tile-headline-weight: 600;
  --type-tile-headline-size: 56px;
  --type-tile-headline-line-height: 1.0714285714;
  --type-tile-headline-letter-spacing: -0.005em;
  --type-tile-headline-font-family: var(--type-font-display);

  /* Section headline (.typography-headline) — shares tablet/phone steps with tile at ≤734 */
  --type-section-weight: 600;
  --type-section-size: 48px;
  --type-section-line-height: 1.0834933333;
  --type-section-letter-spacing: -0.002em;
  --type-section-font-family: var(--type-font-display);

  /* Promo band headline (.typography-promo-headline) — 40 / 32 / 32 */
  --type-promo-headline-weight: 600;
  --type-promo-headline-size: 40px;
  --type-promo-headline-line-height: 1.1;
  --type-promo-headline-letter-spacing: -0.005em;
  --type-promo-headline-font-family: var(--type-font-display);

  /* Hero eyebrow (.typography-hero-eyebrow) */
  --type-eyebrow-weight: 600;
  --type-eyebrow-size: 28px;
  --type-eyebrow-line-height: 1.1428571429;
  --type-eyebrow-letter-spacing: 0.007em;
  --type-eyebrow-font-family: var(--type-font-display);

  /* Tile subhead (.typography-tile-subhead) — 28 / 24 / 19 */
  --type-tile-subhead-weight: 400;
  --type-tile-subhead-size: 28px;
  --type-tile-subhead-line-height: 1.1428571429;
  --type-tile-subhead-letter-spacing: 0.007em;
  --type-tile-subhead-font-family: var(--type-font-display);

  /* Intro / long subhead (.typography-intro) */
  --type-intro-weight: 400;
  --type-intro-size: 21px;
  --type-intro-line-height: 1.381002381;
  --type-intro-letter-spacing: 0.011em;
  --type-intro-font-family: var(--type-font-display);

  /* Caption / legal / directory (.ac-gf-footer, .typography-caption) */
  --type-caption-weight: 400;
  --type-caption-size: 12px;
  --type-caption-line-height: 1.3333733333;
  --type-caption-letter-spacing: -0.01em;
  --type-caption-font-family: var(--type-font-text);

  /* Default body (body, .typography-body) */
  --type-body-weight: 400;
  --type-body-size: 17px;
  --type-body-line-height: 1.4705882353;
  --type-body-letter-spacing: -0.022em;
  --type-body-font-family: var(--type-font-text);

  /* Reduced body / ribbons (.typography-body-reduced) */
  --type-body-reduced-weight: 400;
  --type-body-reduced-size: 14px;
  --type-body-reduced-line-height: 1.4285914286;
  --type-body-reduced-letter-spacing: -0.016em;
  --type-body-reduced-font-family: var(--type-font-text);

  /* Inline text links (main a, --sk-body-link-color) */
  --type-link-weight: 400;
  --type-link-size: inherit;
  --type-link-line-height: inherit;
  --type-link-letter-spacing: inherit;
  --type-link-font-family: inherit;

  /* Chevron “Learn more” (a.icon-wrapper) — same metrics as surrounding copy unless a button */
  --type-learn-more-weight: 400;
  --type-learn-more-size: inherit;
  --type-learn-more-line-height: inherit;
  --type-learn-more-letter-spacing: inherit;
  --type-learn-more-font-family: inherit;

  /* Global nav bar text links (#globalnav .globalnav-link, not the Apple logo) */
  --type-nav-bar-weight: 400;
  --type-nav-bar-size: 12px;
  --type-nav-bar-line-height: 1;
  --type-nav-bar-letter-spacing: -0.01em;
  --type-nav-bar-font-family: var(--type-font-text);

  /* Apple logo link only (#globalnav .globalnav-link-apple) */
  --type-nav-logo-weight: 600;
  --type-nav-logo-size: 17px;
  --type-nav-logo-line-height: 1.2353641176;
  --type-nav-logo-letter-spacing: -0.022em;
  --type-nav-logo-font-family: var(--type-font-text);

  /* Desktop flyout (hover, ≥834px) */
  --type-nav-flyout-header-weight: 400;
  --type-nav-flyout-header-size: 12px;
  --type-nav-flyout-header-line-height: 1.3333733333;
  --type-nav-flyout-header-letter-spacing: -0.01em;
  --type-nav-flyout-header-font-family: var(--type-font-text);

  --type-nav-flyout-link-weight: 600;
  --type-nav-flyout-link-size: 12px;
  --type-nav-flyout-link-line-height: 1.3333733333;
  --type-nav-flyout-link-letter-spacing: -0.01em;
  --type-nav-flyout-link-font-family: var(--type-font-text);

  --type-nav-flyout-elevated-weight: 600;
  --type-nav-flyout-elevated-size: 24px;
  --type-nav-flyout-elevated-line-height: 1.1666666667;
  --type-nav-flyout-elevated-letter-spacing: 0.009em;
  --type-nav-flyout-elevated-font-family: var(--type-font-display);

  /* Phone fullscreen menu (≤833px, menu open) — see @media block */
  --type-nav-menu-top-weight: 600;
  --type-nav-menu-top-size: 28px;
  --type-nav-menu-top-line-height: 1.1428571429;
  --type-nav-menu-top-letter-spacing: 0.007em;
  --type-nav-menu-top-font-family: var(--type-font-display);

  --type-nav-menu-logo-weight: 600;
  --type-nav-menu-logo-size: 19px;
  --type-nav-menu-logo-line-height: 1.2105263158;
  --type-nav-menu-logo-letter-spacing: 0.012em;
  --type-nav-menu-logo-font-family: var(--type-font-display);

  --type-nav-menu-section-header-weight: 400;
  --type-nav-menu-section-header-size: 17px;
  --type-nav-menu-section-header-line-height: 1.2353641176;
  --type-nav-menu-section-header-letter-spacing: -0.022em;
  --type-nav-menu-section-header-font-family: var(--type-font-text);

  --type-nav-menu-link-weight: 600;
  --type-nav-menu-link-size: 17px;
  --type-nav-menu-link-line-height: 1.4705882353;
  --type-nav-menu-link-letter-spacing: -0.022em;
  --type-nav-menu-link-font-family: var(--type-font-text);

  --type-nav-menu-elevated-weight: 600;
  --type-nav-menu-elevated-size: 28px;
  --type-nav-menu-elevated-line-height: 1.1428571429;
  --type-nav-menu-elevated-letter-spacing: 0.007em;
  --type-nav-menu-elevated-font-family: var(--type-font-display);

  /* Footer directory / legal (#ac-globalfooter .ac-gf-directory, .ac-gf-sosumi) */
  --type-footer-weight: 400;
  --type-footer-size: 12px;
  --type-footer-line-height: 1.3333733333;
  --type-footer-letter-spacing: -0.01em;
  --type-footer-font-family: var(--type-font-text);

  /* Pill buttons — see buttons/apple-buttons/tokens.css; default .button metrics */
  --type-button-weight: 400;
  --type-button-size: 14px;
  --type-button-line-height: 1.2857742857;
  --type-button-letter-spacing: -0.016em;
  --type-button-font-family: var(--type-font-text);

  /* Product tile price (.typography-product-tile-price) */
  --type-price-weight: 400;
  --type-price-size: 14px;
  --type-price-line-height: 1.2857742857;
  --type-price-letter-spacing: -0.016em;
  --type-price-font-family: var(--type-font-text);

  /* Product tile price line with subheading class (.typography-product-tile-subheading) */
  --type-price-subheading-weight: 600;
  --type-price-subheading-size: 17px;
  --type-price-subheading-line-height: 1.4705882353;
  --type-price-subheading-letter-spacing: -0.022em;
  --type-price-subheading-font-family: var(--type-font-text);

  /* Store shop header (h1.rs-shop-header) — desktop */
  --type-store-hero-weight: 600;
  --type-store-hero-size: 80px;
  --type-store-hero-line-height: 1.05;
  --type-store-hero-letter-spacing: -0.015em;
  --type-store-hero-font-family: var(--type-font-display);

  /* Store PDP current price (.as-price-currentprice) */
  --type-price-hero-weight: 600;
  --type-price-hero-size: 24px;
  --type-price-hero-line-height: 1.1666666667;
  --type-price-hero-letter-spacing: 0.009em;
  --type-price-hero-font-family: var(--type-font-display);

  /* Product tile label (.typography-product-tile-headline / .product-tile-product-id) */
  --type-product-title-weight: 600;
  --type-product-title-size: 28px;
  --type-product-title-line-height: 1.1428571429;
  --type-product-title-letter-spacing: 0.007em;
  --type-product-title-font-family: var(--type-font-display);

  /* b, strong inside body copy */
  --type-emphasis-weight: 600;
}

/* Tablet typography (Apple max-width: 1068px) */
@media (max-width: 1068px) {
  :root {
    --type-hero-size: 64px;
    --type-hero-line-height: 1.0625;
    --type-hero-letter-spacing: -0.009em;

    --type-tile-headline-size: 48px;
    --type-tile-headline-line-height: 1.0834933333;
    --type-tile-headline-letter-spacing: -0.002em;

    --type-tile-subhead-size: 24px;
    --type-tile-subhead-line-height: 1.1666666667;
    --type-tile-subhead-letter-spacing: 0.009em;

    --type-promo-headline-size: 32px;
    --type-promo-headline-line-height: 1.125;
    --type-promo-headline-letter-spacing: 0.002em;

    --type-section-size: 48px;
    --type-section-line-height: 1.0834933333;
    --type-section-letter-spacing: -0.002em;
  }
}

/* Phone typography (Apple max-width: 734px) */
@media (max-width: 734px) {
  :root {
    --type-hero-size: 48px;
    --type-hero-line-height: 1.0834933333;
    --type-hero-letter-spacing: -0.003em;

    --type-tile-headline-size: 32px;
    --type-tile-headline-line-height: 1.125;
    --type-tile-headline-letter-spacing: 0.002em;

    --type-tile-subhead-size: 19px;
    --type-tile-subhead-line-height: 1.2105263158;
    --type-tile-subhead-letter-spacing: 0.012em;

    --type-promo-headline-size: 32px;
    --type-promo-headline-line-height: 1.125;
    --type-promo-headline-letter-spacing: 0.002em;

    --type-section-size: 32px;
    --type-section-line-height: 1.125;
    --type-section-letter-spacing: 0.002em;

    --type-eyebrow-size: 21px;
    --type-eyebrow-line-height: 1.1904761905;
    --type-eyebrow-letter-spacing: 0.011em;

    --type-intro-size: 19px;
    --type-intro-line-height: 1.2105263158;
    --type-intro-letter-spacing: 0.012em;

    --type-price-subheading-size: 14px;
    --type-price-subheading-line-height: 1.4285914286;
    --type-price-subheading-letter-spacing: -0.016em;

    --type-store-hero-size: 48px;
    --type-store-hero-line-height: 1.0834933333;
    --type-store-hero-letter-spacing: -0.003em;

    --type-button-size: 14px;
    --type-button-line-height: 1.2857742857;
    --type-button-letter-spacing: -0.016em;
  }
}

/* Bar links stay 12px; fullscreen menu tokens above apply when the menu is open at ≤833px. */

/* Knight Noto Sans Thai — body line-heights from fonts/default-google-fonts (1.7), not Apple SF Pro TH.
   Apple reference only: body:lang(th) line-height 1.3529611765; .typography-body-reduced:lang(th) 1.3571828571. */
:lang(th) {
  --type-hero-line-height: max(1.35, 1.333);
  --type-hero-letter-spacing: 0;
  --type-tile-headline-line-height: max(1.3392857143, 1.333);
  --type-tile-headline-letter-spacing: 0;
  --type-tile-subhead-letter-spacing: 0;
  --type-promo-headline-letter-spacing: 0;
  --type-section-line-height: max(1.3392857143, 1.333);
  --type-section-letter-spacing: 0;
  --type-intro-line-height: 1.3928571429;
  --type-intro-letter-spacing: 0;

  --type-body-line-height: 1.7;
  --type-body-letter-spacing: 0;
  --type-body-size: 17px;

  --type-body-reduced-line-height: 1.7;
  --type-body-reduced-letter-spacing: 0;
  --type-body-reduced-size: 17px;

  --type-caption-letter-spacing: 0;
  --type-nav-bar-font-family: var(--type-font-text);
  --type-nav-bar-letter-spacing: 0;
  --type-nav-flyout-header-letter-spacing: 0;
  --type-nav-flyout-link-font-family: var(--type-font-text);
  --type-nav-flyout-link-letter-spacing: 0;
  --type-nav-flyout-elevated-letter-spacing: 0;
  --type-footer-letter-spacing: 0;
  --type-price-letter-spacing: 0;
  --type-button-letter-spacing: 0;
}

:lang(th) :is(.type-body, .thai-body-caption) {
  font-size: 17px;
}

:lang(th) .type-tile-headline {
  line-height: var(--type-tile-headline-line-height);
}

:is(:lang(zh), :lang(ja), :lang(ko), :lang(my)) {
  --type-hero-letter-spacing: 0;
  --type-tile-headline-letter-spacing: 0;
  --type-tile-subhead-letter-spacing: 0;
  --type-promo-headline-letter-spacing: 0;
  --type-section-letter-spacing: 0;
  --type-intro-letter-spacing: 0;
  --type-body-letter-spacing: 0;
  --type-caption-letter-spacing: 0;
  --type-nav-bar-letter-spacing: 0;
  --type-footer-letter-spacing: 0;
}

@media (max-width: 734px) {
  :lang(th) {
    /* overview.built.css .typography-page-header-title:lang(th){line-height:1.3334933333} */
    --type-hero-line-height: 1.3334933333;
    /* main.built.css .typography-tile-headline:lang(th){line-height:1.3392857143} — not Latin 1.125 at ≤734px */
    --type-section-line-height: 1.3392857143;
  }
}
