/* Shared roles: Serif for major headings; Sans for reading, navigation and commerce. */
:root {
  --glow-type-caption: .75rem;
  --glow-type-ui: .875rem;
  --glow-type-body: 1rem;
  --glow-type-title: clamp(1.5rem, 2.5vw, 2rem);
  --glow-type-display: clamp(2rem, 3.4vw, 3rem);
  --glow-weight-light: 300;
  --glow-weight-regular: 400;
  --glow-weight-heading: 400;
  --glow-weight-medium: 500;
  --glow-weight-semibold: 600;
}
body { font-family: var(--glow-font); font-weight: var(--glow-weight-regular); font-size: var(--glow-type-body); line-height: 1.85; }
button, input, textarea, select, .wp-element-button, .wc-block-components-button { font-family: var(--glow-font); }
h1, h2, .wp-block-post-title { font-family: var(--glow-heading-font); font-weight: var(--glow-weight-heading); line-height: 1.5; letter-spacing: -.02em; }
h3, h4, h5, h6 { font-family: var(--glow-font); font-weight: var(--glow-weight-heading); line-height: 1.6; letter-spacing: 0; }
/* Header and footer use the same interface font, size, weight and rhythm. */
.glow-header-menu > summary, .glow-mega-column a, .glow-footer-grid a, .home .glow-footer-grid a {
  font-family: var(--glow-font); font-size: var(--glow-type-ui); font-weight: var(--glow-weight-regular); line-height: 1.65; letter-spacing: 0;
}
.glow-mega-panel, .glow-mega-column h2, .glow-footer-grid h3, .home .glow-footer-grid h3 {
  font-family: var(--glow-font); font-size: var(--glow-type-ui); font-weight: var(--glow-weight-regular); line-height: 1.65; letter-spacing: 0;
}
.glow-announcement p, .glow-footer-brand p, .glow-footer-bottom { font-family: var(--glow-font); font-size: var(--glow-type-caption); font-weight: var(--glow-weight-regular); line-height: 1.8; }
.glow-editorial-hero-copy h1 { font-family: var(--glow-heading-font); font-size: var(--glow-type-display); font-weight: var(--glow-weight-heading); letter-spacing: -.025em; line-height: 1.5; }
.glow-editorial-section-head h2 { font-family: var(--glow-heading-font); font-size: var(--glow-type-title); font-weight: var(--glow-weight-heading); letter-spacing: -.02em; line-height: 1.6; }
.glow-editorial-story-copy h2 { font-family: var(--glow-heading-font); font-size: var(--glow-type-display); font-weight: var(--glow-weight-heading); line-height: 1.5; }
.glow-editorial-family .glow-category-caption strong, .glow-editorial-need--wide h3 { font-family: var(--glow-heading-font); font-weight: var(--glow-weight-heading); }
.glow-editorial-kicker { font-family: var(--glow-font); font-weight: var(--glow-weight-light); }
.glow-editorial-types h3, .glow-editorial-brands h2, .glow-home-product h3, .glow-product-card h3, .glow-catalog .wp-block-post-title, .woocommerce-loop-product__title { font-family: var(--glow-font); font-weight: var(--glow-weight-heading); letter-spacing: 0; }
.glow-product-summary h1 { font-family: var(--glow-heading-font); font-weight: var(--glow-weight-heading); line-height: 1.6; }
.glow-product-accordion summary, .glow-product-accordion-body h2, .glow-product-accordion-body h3 { font-family: var(--glow-font); font-weight: var(--glow-weight-heading); }
.glow-home-product-price, .wp-block-woocommerce-product-price, .woocommerce .price { font-family: var(--glow-font); font-variant-numeric: lining-nums tabular-nums; }
.glow-home-product-price { font-weight: var(--glow-weight-semibold); }
.glow-home-product-price del { font-weight: var(--glow-weight-regular); }
/* Catalogue controls share the interface role; metadata uses the caption role. */
.glow-main .glow-catalog-counts :is(.woocommerce-result-count, .woocommerce-ordering, select.orderby),
.glow-catalog .wc-block-product-filter-checkbox-list__label,
.glow-catalog .wc-block-product-filters__open-overlay {
  font-family: var(--glow-font); font-size: var(--glow-type-ui); font-weight: var(--glow-weight-regular); line-height: 1.65;
}
.glow-catalog .wp-block-woocommerce-product-filters h3 {
  font-family: var(--glow-font); font-size: var(--glow-type-ui); font-weight: var(--glow-weight-regular); line-height: 1.65;
}
.glow-catalog .wc-block-product-filter-checkbox-list__count,
.glow-catalog .wc-block-product-filter-price-slider .text input[type="text"] {
  font-family: var(--glow-font); font-size: var(--glow-type-caption); font-weight: var(--glow-weight-regular); line-height: 1.65;
}
.glow-mega-search-form input[type="search"] { font-size: var(--glow-type-ui); font-weight: var(--glow-weight-regular); }
.glow-mega-search-form input[type="search"]::placeholder { color: var(--glow-muted); opacity: 1; font-size: 13px; font-weight: var(--glow-weight-regular); letter-spacing: 0; }
@media (max-width: 600px) {
  .glow-mega-search-form input[type="search"] { font-size: var(--glow-type-body); }
  .glow-mega-search-form input[type="search"]::placeholder { font-size: var(--glow-type-ui); }
  .glow-editorial-hero-copy h1 { font-size: clamp(1.5rem, 7.1vw, 2rem); letter-spacing: -.04em; line-height: 1.6; }
  .glow-editorial-story-copy h2 { font-size: 2rem; }
}

/* Primary titles share regular weight across native templates and commerce. */
body:not(.wp-admin) :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wc-block-components-title, .wc-block-cart__totals-title, .glow-product-accordion summary) {
  font-weight: var(--glow-weight-heading) !important;
}
.glow-editorial-family .glow-category-caption strong, .glow-page-content .glow-category-caption strong, .glow-need-card strong { font-weight: var(--glow-weight-heading); }

/* Secondary headings and brand metadata share genuine Light 300 everywhere. */
body:not(.wp-admin) :is(.glow-page-kicker, .glow-editorial-kicker,
  .glow-eyebrow, .glow-eyebrow a, .glow-home-product-brand,
  .glow-listing-info .taxonomy-product_brand, .glow-listing-info .taxonomy-product_brand a,
  .glow-footer-grid h3, .glow-mega-column h2,
  .glow-editorial-types h3, .glow-editorial-brands h2) {
  font-weight: var(--glow-weight-light) !important;
}
/* Native selects may report focus-visible after a pointer click. Keep their quiet resting border. */
body:not(.wp-admin) .glow-catalog-counts .woocommerce-ordering select:focus {
  outline: none !important; box-shadow: none !important; border-color: var(--glow-line);
}
body:not(.wp-admin) .glow-catalog-counts .woocommerce-ordering select:focus-visible {
  text-decoration: underline; text-underline-offset: 4px;
}
