/* Type scale on every template (T-114). Active only while the html element has the class fct, which wp_head sets from
   the fc_type_scale_mode option. Uses the T-113 tokens (--fs-*, --ls-label) from main-2.0.23.css.
   Generic headings sit inside :where() so they only beat the theme's bare h1-h6 rules (same weight, later file);
   component rules (homepage .fcy-*, product cards, footer) keep their own sizes. */

/* Headings in the page content */
:where(html.fct #content) h1:where(:not(#fcy *)) { font-size: var(--fs-2xl); }
:where(html.fct #content) h2:where(:not(#fcy *)) { font-size: var(--fs-xl); }
:where(html.fct #content) h3:where(:not(#fcy *)),
:where(html.fct #content) h4:where(:not(#fcy *)) { font-size: var(--fs-lg); }
:where(html.fct #content) h5:where(:not(#fcy *)),
:where(html.fct #content) h6:where(:not(#fcy *)) { font-size: var(--fs-md); }
:where(html.fct #content) small:where(:not(#fcy *)) { font-size: var(--fs-xs); }

/* Product page: title, price, add-ons, description tab, quantity stepper */
html.fct .single-product div.product .product_title { font-size: var(--fs-xl); }
html.fct .entry-summary .woocommerce-Price-amount:not(.form-row .amount) { font-size: var(--fs-xl) !important; }
html.fct .entry-summary .price del .woocommerce-Price-amount:not(.form-row .amount) { font-size: var(--fs-lg) !important; }
html.fct h2.wc-pao-addon-name { font-size: var(--fs-lg); }
html.fct label.wc-pao-addon-name,
html.fct .variations .label label { font-size: var(--fs-md); }
html.fct .woocommerce-tabs .panel h2:first-of-type { font-size: var(--fs-xl); }
html.fct .number-input a,
html.fct table.cart td.product-remove a.remove { font-size: var(--fs-lg); }

/* Cart and checkout: totals, billing and shipping are top-level sections */
html.fct .cart-collaterals h2,
html.fct #customer_details h3 { font-size: var(--fs-xl); }

/* Shop sidebar: widget titles and the WOOF filter */
html.fct :is(#text-20, .widget) .widget-title,
html.fct .widget .widgettitle { font-size: var(--fs-lg); }
html.fct .woof .woof_container_inner h4 { font-size: var(--fs-md); }
html.fct .woof ul.woof_list li.fc-cat-heading { font-size: var(--fs-xs); letter-spacing: var(--ls-label); }
html.fct .woof .woof_checkbox_count { font-size: var(--fs-xs); }
html.fct .woof .fc-more { font-size: var(--fs-sm); }

/* Blog share label */
html.fct .fc-footer-share-label { font-size: var(--fs-sm); }

/* Header cart counts: 12 px needs a slightly larger badge */
html.fct body.fc-header-preview .fc-preview-cart-count { font-size: var(--fs-xs); height: 18px; min-width: 18px; }
html.fct body.fc-header-preview .fc-preview-drawer-cart-count { font-size: var(--fs-xs); width: auto; min-width: 18px; padding: 0 4px; }
