/* Shared public-site typography. Only the family changes; size, weight and spacing remain configurable. */
body.mille-line-seed {
  --mille-font-family: "line seed sans th","line seed sans th Fallback", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  font-family: var(--mille-font-family) !important;
}

/* Theme and builder rules often assign a separate family to headings and controls. */
body.mille-line-seed :is(
  h1, h2, h3, h4, h5, h6, p, a, li, dt, dd, blockquote, figcaption,
  label, legend, button, input, select, textarea, table, caption, th, td,
  .site-title, .site-description, .menu-link, .fl-builder-content,
  .fl-heading-text, .fl-rich-text, .fl-button-text, .fl-menu,
  .woocommerce, .woocommerce-page, .wc-block-cart, .wc-block-checkout,
  .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout,
  .ml-loop, .ml-category-buttons, .ml-category-button,
  .mlsp-product, .mlsp-mini-cart, .mlci-cart-icon, .mlci-cart-count,
  .mlcp-category, .mlcp-mobile-filter-bar, .mlcp-mobile-filter-dialog,
  .mlcr-empty, .mle-page, .mle-single, .mle-dialog,
  .mle-modal-panel header strong, .mlct-contact, .mlsl-locations, .mlaw, .mlaw__text
):not(:where(
  .fa, .fas, .far, .fab, .fal, .fad, .fat, .fass, .fasr, .fasl, .fast,
  [class^="fa-"], [class*=" fa-"], .dashicons, [class^="dashicons-"], [class*=" dashicons-"],
  .material-icons, .material-icons-outlined, .material-icons-round, .material-icons-sharp,
  .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp,
  .ast-icon, .ast-icon-font, .astra-icon, .star-rating,
  .fl-builder-ui, .fl-builder-ui *, #wpadminbar, #wpadminbar *, pre *, code *, kbd *, samp *
)) {
  font-family: var(--mille-font-family) !important;
}

/* Deliberately no universal selector or ::before/::after override: icon fonts stay intact. */
