/* Shared editorial typography: semantic levels remain distinct and consistent */
body :where(.rich-text,.rte), body.page-cms #content { font-family: Inter, sans-serif !important; }
body :where(.rich-text,.rte) h2, body.page-cms #content h2 { font-family: Inter, sans-serif !important; font-size: 2rem !important; line-height: 1.25 !important; font-weight: 650 !important; }
body :where(.rich-text,.rte) h3, body.page-cms #content h3 { font-family: Inter, sans-serif !important; font-size: 1.5rem !important; line-height: 1.3 !important; font-weight: 650 !important; }
body :where(.rich-text,.rte) h4, body.page-cms #content h4 { font-family: Inter, sans-serif !important; font-size: 1.25rem !important; line-height: 1.35 !important; font-weight: 650 !important; }
body :where(.rich-text,.rte) p, body :where(.rich-text,.rte) li, body.page-cms #content p, body.page-cms #content li { font-family: Inter, sans-serif !important; font-size: 1rem !important; line-height: 1.55 !important; font-weight: 400 !important; }
@media (max-width: 767.98px) {
 body :where(.rich-text,.rte) h2, body.page-cms #content h2 { font-size: 1.5rem !important; line-height: 1.3 !important; }
 body :where(.rich-text,.rte) h3, body.page-cms #content h3 { font-size: 1.25rem !important; line-height: 1.35 !important; }
 body :where(.rich-text,.rte) h4, body.page-cms #content h4 { font-size: 1.125rem !important; line-height: 1.4 !important; }
 body :where(.rich-text,.rte) p, body :where(.rich-text,.rte) li, body.page-cms #content p, body.page-cms #content li { font-size: .9375rem !important; line-height: 1.55 !important; }
}

/* Store-wide typography roles */
:root { --ul-text-heading: #111b28; --ul-text-body: #52606d; --ul-text-muted: #66717d; }
body { font-family: Inter, sans-serif !important; }
body:not(.page-index):not(.page-product) main h1 { font-family: Inter, sans-serif !important; font-size: 3rem !important; line-height: 1.15 !important; font-weight: 700 !important; color: var(--ul-text-heading) !important; }
body.page-index main h1 { font-family: Inter, sans-serif !important; font-size: 3.5rem !important; line-height: 1.08 !important; font-weight: 600 !important; }
body.page-index main h2 { font-family: Inter, sans-serif !important; font-size: 2rem !important; line-height: 1.25 !important; font-weight: 650 !important; }
body.page-index main h3 { font-family: Inter, sans-serif !important; font-size: 1.5rem !important; line-height: 1.3 !important; font-weight: 650 !important; }
body:not(.page-index) :where(.rich-text,.rte), body.page-cms #content { color: var(--ul-text-body) !important; }
body:not(.page-index) :where(.rich-text,.rte) h2, body:not(.page-index) :where(.rich-text,.rte) h3, body:not(.page-index) :where(.rich-text,.rte) h4, body.page-cms #content h2, body.page-cms #content h3, body.page-cms #content h4 { color: var(--ul-text-heading) !important; }
@media (max-width: 767.98px) {
 body:not(.page-index):not(.page-product) main h1 { font-size: 2rem !important; line-height: 1.18 !important; }
 body.page-index main h1 { font-size: 2.375rem !important; line-height: 1.1 !important; }
 body.page-index main h2 { font-size: 1.5rem !important; line-height: 1.3 !important; }
 body.page-index main h3 { font-size: 1.25rem !important; line-height: 1.35 !important; }
}

/* Final role-specific overrides for legacy high-specificity rules */
body.page-index main #ul-new-products-title { font-family: Inter, sans-serif !important; font-size: 2rem !important; line-height: 1.25 !important; font-weight: 650 !important; }
body:not(.page-index) :where(.rich-text,.rte) p, body:not(.page-index) :where(.rich-text,.rte) li, body.page-cms #content p, body.page-cms #content li { color: var(--ul-text-body) !important; }
@media (max-width: 767.98px) { body.page-index main #ul-new-products-title { font-size: 1.5rem !important; line-height: 1.3 !important; } }

html body.page-index main div#content section.ul-new-products header h2#ul-new-products-title { font-family: Inter, sans-serif !important; font-size: 2rem !important; line-height: 1.25 !important; font-weight: 650 !important; }

/* Category typography: deterministic role-based system (2026-08-28) */
body#category main h1,
body.page-category main h1 {
  font-family: Inter, sans-serif !important;
  font-size: 48px !important;
  line-height: 55.2px !important;
  font-weight: 700 !important;
  color: #111b28 !important;
}
body#category #category-description,
body#category .category-description,
body.page-category #category-description,
body.page-category .category-description {
  font-family: Inter, sans-serif !important;
}
body#category :is(#category-description,.category-description) :is(p,ul,ol,li),
body.page-category :is(#category-description,.category-description) :is(p,ul,ol,li) {
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  line-height: 24.8px !important;
  font-weight: 400 !important;
  color: #52606d !important;
}
body#category :is(#category-description,.category-description) h2,
body.page-category :is(#category-description,.category-description) h2 {
  font-family: Inter, sans-serif !important;
  font-size: 32px !important;
  line-height: 40px !important;
  font-weight: 650 !important;
  color: #111b28 !important;
}
body#category :is(#category-description,.category-description) h3,
body.page-category :is(#category-description,.category-description) h3 {
  font-family: Inter, sans-serif !important;
  font-size: 24px !important;
  line-height: 31.2px !important;
  font-weight: 650 !important;
  color: #111b28 !important;
}
@media (max-width: 767.98px) {
  body#category main h1,
  body.page-category main h1 { font-size: 36px !important; line-height: 42px !important; }
  body#category :is(#category-description,.category-description) h2,
  body.page-category :is(#category-description,.category-description) h2 { font-size: 26px !important; line-height: 33px !important; }
  body#category :is(#category-description,.category-description) h3,
  body.page-category :is(#category-description,.category-description) h3 { font-size: 21px !important; line-height: 28px !important; }
}

/* Neutralize legacy inline typography inside category prose (2026-08-28) */
body#category :is(#category-description,.category-description) :is(p,li) :is(span,a,strong,b,em,i),
body.page-category :is(#category-description,.category-description) :is(p,li) :is(span,a,strong,b,em,i) {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}
body#category :is(#category-description,.category-description) :is(p,li) :is(strong,b),
body.page-category :is(#category-description,.category-description) :is(p,li) :is(strong,b) {
  font-weight: 700 !important;
}
