/* V14.0.15-p15: shared frontend typography scale for all three storefront styles.
   Goal: keep ordinary storefront copy to three semantic sizes only.
   Desktop: title 20px / body 16px / meta 14px.
   Mobile:  title 18px / body 15px / meta 13px.
   Brand marks, icon glyphs and price emphasis may retain their component-specific size. */
:root{
  --xq-type-title:20px;
  --xq-type-body:16px;
  --xq-type-meta:14px;
}

/* Base page copy. */
body.xq-p2-body main{
  font-size:var(--xq-type-body);
}

/* Primary page / SEO / detail headings. */
body.xq-p2-body main h1,
body.xq-p2-body main .xq-page-hero h1,
body.xq-p2-body main .xq-product-detail__info h1,
body.xq-p2-body main .xq-content-page h1,
body.xq-p2-body main .xq-order-search-heading h1,
body.xq-p2-body main .xq-mall-category-seo-hero h1,
body.xq-p2-body main .classic-category-seo-title,
body.xq-p2-body main .xq-buy-title,
body.xq-p2-body main .xq-search-summary-card__title,
body.xq-p2-body main .xq-topic-hero h1{
  font-size:var(--xq-type-title)!important;
  line-height:1.4!important;
}

/* Ordinary headings, product titles and category names. */
body.xq-p2-body main h2,
body.xq-p2-body main h3,
body.xq-p2-body main .xq-section__head h1,
body.xq-p2-body main .xq-section__head h2,
body.xq-p2-body main .xq-section h2,
body.xq-p2-body main .xq-product-card__title,
body.xq-p2-body main .xq-classic-product-title-label,
body.xq-p2-body main .xq-classic-category-title,
body.xq-p2-body main .kphyper-group-title,
body.xq-p2-body main .xq-home-topic-panel__title,
body.xq-p2-body main .xq-topic-card__title,
body.xq-p2-body main .xq-article-card__title,
body.xq-p2-body main .xq-product-sidebar-article__title,
body.xq-p2-body main .xq-mall-product-copy strong,
body.xq-p2-body main .xq-mall-section-head h2,
body.xq-p2-body main .xq-mall-category-link,
body.xq-p2-body main .classic-category-section-head,
body.xq-p2-body main .xq-faq-card__title,
body.xq-p2-body main .xq-buy-section-head{
  font-size:var(--xq-type-body)!important;
  line-height:1.45!important;
}

/* Summaries, helper text and list metadata. */
body.xq-p2-body main .xq-page-hero p,
body.xq-p2-body main .xq-p2-hero p,
body.xq-p2-body main .classic-category-seo-summary,
body.xq-p2-body main .xq-mall-category-seo-hero p,
body.xq-p2-body main .xq-mall-product-copy small,
body.xq-p2-body main .xq-home-topic-panel__desc,
body.xq-p2-body main .xq-product-sidebar-article__desc,
body.xq-p2-body main .xq-search-summary-card__desc,
body.xq-p2-body main .xq-preselect-summary,
body.xq-p2-body main .xq-order-search-heading p,
body.xq-p2-body main .xq-order-search-panel__intro p,
body.xq-p2-body main .xq-breadcrumb,
body.xq-p2-body main .xq-product-meta-badge,
body.xq-p2-body main .xq-mall-product-stock,
body.xq-p2-body main .xq-mall-product-mobile__badges .xq-product-meta-badge,
body.xq-p2-body main small,
body.xq-p2-body main .text-muted{
  font-size:var(--xq-type-meta)!important;
  line-height:1.55!important;
}

/* Rich content stays readable but does not create a fourth ordinary font size. */
body.xq-p2-body main .xq-richtext,
body.xq-p2-body main .xq-richtext p,
body.xq-p2-body main .xq-category-copy,
body.xq-p2-body main .xq-content-page p,
body.xq-p2-body main .xq-topic-content{
  font-size:var(--xq-type-body)!important;
  line-height:1.75;
}

@media (max-width:767.98px){
  :root{
    --xq-type-title:18px;
    --xq-type-body:15px;
    --xq-type-meta:13px;
  }
  body.xq-p2-body main .xq-mall-product-mobile__top .xq-mall-product-copy strong,
  body.xq-p2-body main .xq-mall-product-mobile__top .xq-mall-product-copy small,
  body.xq-p2-body main .xq-mall-product-mobile__badges .xq-product-meta-badge{
    font-size:inherit!important;
  }
  body.xq-p2-body main .xq-mall-product-mobile__top .xq-mall-product-copy strong{
    font-size:var(--xq-type-body)!important;
  }
  body.xq-p2-body main .xq-mall-product-mobile__top .xq-mall-product-copy small,
  body.xq-p2-body main .xq-mall-product-mobile__badges .xq-product-meta-badge{
    font-size:var(--xq-type-meta)!important;
  }
}
