/* Reserve the common control palette before module-specific important layers. */
@layer sg-button-utilities, sg-button-palette;

/* Shared text-only cascade. Loaded first so important declarations also win
 * against legacy module layers. SVGs, icon fonts and touch targets are intact.
 * All custom properties are rendered by sgglovessettings before first paint.
 */
@layer sg-typography {
  :root {
    --sg-type-font-weight-body: 300;
    --sg-type-font-weight-heading: 300;
    --sg-type-button-font-weight: 300;
    --sg-type-nav-font-weight: 300;
    --sg-type-control-font-size: var(--sg-type-button-font-size, 13px);
  }

  :where(body) {
    font-family: var(--sg-font-body, Inter, system-ui, sans-serif) !important;
    font-size: var(--sg-type-base-font-size, 16px) !important;
    font-weight: var(--sg-type-font-weight-body, 300) !important;
    line-height: var(--sg-type-body-line-height, 1.6) !important;
  }

  :where(p, li, small, .text-muted, .SGGLOVES-home, .page-content,
    .product-description, .product-information, .product-miniature__description,
    .SGGLOVES-footer, .footer, .footer a, .footer p, .footer li,
    .block-contact, .block-contact a, .sg-module-promises span,
    .SGGLOVES-home-feature p, .SGGLOVES-home-post p) {
    font-family: var(--sg-font-body, Inter, system-ui, sans-serif) !important;
    font-weight: var(--sg-type-font-weight-body, 300) !important;
  }
  :where(.page-content > p, .product-description p, .cms-id-4 .page-content p) {
    line-height: var(--sg-type-body-line-height, 1.6) !important;
  }
  :where(strong, b, .fw-bold, .fw-semibold) {
    font-weight: var(--sg-type-strong-font-weight, 500) !important;
  }
  :where(.badge, .header-block__badge, [class$="__eyebrow"], [class*="__eyebrow "]) {
    font-weight: var(--sg-type-meta-font-weight, 400) !important;
  }

  :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
    .page-title, .modal-title, [class$="__title"], [class*="__title "],
    .product__name, .block-contact-title) {
    font-family: var(--sg-font-heading, Inter, system-ui, sans-serif) !important;
    font-weight: var(--sg-type-font-weight-heading, 300) !important;
    line-height: var(--sg-type-heading-line-height, 1.25) !important;
    letter-spacing: normal !important;
  }
  :where(h1, h2, h3, h4, h5, h6, .page-title, .modal-title) :where(a, span, strong, b):not([class*="icon"]):not([aria-hidden="true"]) {
    font-family: inherit !important;
    font-weight: inherit !important;
  }
  :where(.SGGLOVES-home-section__title, .SGGLOVES-home-about h2,
    .SGGLOVES-home-catalog h2, .SGGLOVES-home-b2b h2, .SGGLOVES-home-blog h2,
    .SGGLOVES-home-industries h2, .SGGLOVES-home-products h2, .featured-products > h2) {
    font-size: var(--sg-type-home-section-title-size, 24px) !important;
    font-weight: var(--sg-type-home-section-title-weight, 300) !important;
  }
  :where(.SGGLOVES-home-hero__title) {
    font-size: var(--sg-type-heading-font-size, 42px) !important;
  }

  :where(.product-miniature__title, .product-title, .product__name,
    .SGGLOVES-home-product h3, .SGGLOVES-cart-modal__product-name) {
    font-family: var(--sg-type-product-title-font-source, var(--sg-font-heading, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-product-title-font-weight, 300) !important;
  }
  :where(.product-miniature__title, .product-miniature .product-title, .SGGLOVES-home-product h3) {
    font-size: var(--sg-type-product-title-font-size, 15px) !important;
  }
  :where(.product-miniature__title, .product-title) a {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
  }
  :where(.price, .current-price, .current-price-value, .product-price,
    .product-miniature__price, .SGGLOVES-home-product strong,
    .SGGLOVES-cart-modal__product-price, .cart-summary-line .value) {
    font-family: var(--sg-type-product-price-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-product-price-font-weight, 400) !important;
  }
  :where(.product-miniature__price, .product-miniature .price, .SGGLOVES-home-product strong) {
    font-size: var(--sg-type-product-price-font-size, 21px) !important;
  }
  :where(.product-miniature__price, .current-price, .product-price) :where(span, strong, b) {
    font-weight: inherit !important;
  }
  :where(.product-description-short, .product__description-short, #product-description-short,
    [id^="product-description-short-"]) {
    font-size: var(--sg-type-product-short-desc-font-size, 15px) !important;
    font-weight: var(--sg-type-product-short-desc-font-weight, 300) !important;
  }
  :where(.product-description-short, .product__description-short, #product-description-short,
    [id^="product-description-short-"]) :where(p, li, span) {
    font-size: inherit !important;
    font-weight: inherit !important;
  }
  :where(.SGGLOVES-home-categories .SGGLOVES-home-section__title, #subcategories > h2) {
    font-family: var(--sg-type-category-section-title-font, var(--sg-font-heading, Inter, sans-serif)) !important;
    font-size: var(--sg-type-category-section-title-size, 18px) !important;
  }
  :where(.SGGLOVES-home-category__title, .subcategory-name, .sg-studio-card__title,
    .sg-category-card__title, .SGGLOVES-home-category h3, .sg-studio-title) {
    font-family: var(--sg-type-category-tile-title-font, var(--sg-font-heading, Inter, sans-serif)) !important;
    font-size: var(--sg-type-category-tile-title-size, 16px) !important;
    font-weight: var(--sg-type-font-weight-heading, 300) !important;
  }

  /* Weight and family apply to every native button, including module dialogs.
   * Size applies only to text buttons; miniature action rails keep font-size:0. */
  :where(button, input[type="submit"], input[type="button"], input[type="reset"],
    .btn, [role="button"], .SGGLOVES-home-btn, .sg-home-promo__button,
    .SGGLOVES-headerbar__b2b, [class$="__btn"], [class*="__btn "],
    a[class$="-button"], a[class$="__button"], .ntmbn-buy-now-button,
    .ntwishlist-toggle, .ntpc-product-button, a[class*="-btn"], a[class*="-button"]):not(:where(.material-icons, .material-icons-outlined, .material-symbols-outlined, .fa)) {
    font-family: var(--sg-type-button-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-button-font-weight, 300) !important;
    letter-spacing: var(--sg-type-button-letter-spacing, 0em) !important;
  }
  :where(button, .btn, [role="button"], .SGGLOVES-home-btn, .ntmbn-buy-now-button,
    .ntwishlist-toggle, .ntpc-product-button, a[class*="-btn"], a[class*="-button"])
    :where(span, strong, b):not([class*="icon"]):not([aria-hidden="true"]) {
    font-family: inherit !important;
    font-weight: var(--sg-type-button-font-weight, 300) !important;
    letter-spacing: inherit !important;
  }
  :where(button, .btn, [role="button"], a[class*="-btn"], a[class*="-button"],
    .SGGLOVES-home-btn, .ntmbn-buy-now-button, .ntwishlist-toggle,
    .ntpc-product-button):not(:where(.product-miniature *))
    :where(span, strong, b):not([class*="icon"]):not([class*="badge"]):not([aria-hidden="true"]) {
    font-size: inherit !important;
    line-height: inherit !important;
  }
  :where(.sg-studio-action) {
    font-family: var(--sg-type-button-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-button-font-weight, 300) !important;
  }
  :where(button, .btn, [role="button"], a[class*="-btn"], a[class*="-button"], .SGGLOVES-home-btn, .sg-home-promo__button,
    .SGGLOVES-headerbar__b2b, input[type="submit"], input[type="button"],
    button[type="submit"], a[class$="__button"], .ntmbn-buy-now-button,
    .ntwishlist-toggle, .ntpc-product-button):not(:where(.product-miniature *,
    .btn-close, .btn-icon, .material-icons, .material-icons-outlined, .material-symbols-outlined, .fa,
    [class*="close"], [class*="clear"], [class*="arrow"], [class*="toggle"], [class*="__prev"], [class*="__next"],
    [class*="touchspin"], [class*="quickview"], [class*="icon-only"])) {
    font-size: var(--sg-type-control-font-size) !important;
    line-height: var(--sg-type-button-line-height, 1.4) !important;
    text-transform: none !important;
  }

  :where(.ps-mainmenu a, .top-menu a, #top-menu a,
    .ps-mainmenu__tree-link, .submenu__left-item, .submenu__right a,
    .ntsgmi-menu-label, .SGGLOVES-account-dropdown__menu a, .nav-link,
    .dropdown-item, .pagination a) {
    font-family: var(--sg-type-nav-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-nav-font-weight, 300) !important;
    letter-spacing: var(--sg-type-nav-letter-spacing, 0em) !important;
  }
  :where(.ps-mainmenu__tree-link, .ps-mainmenu a, .top-menu a, #top-menu a,
    .submenu__left-item, .submenu__right a, .SGGLOVES-account-dropdown__menu a) {
    font-size: var(--sg-type-nav-font-size, 14px) !important;
  }
  :where(.ps-mainmenu a, .top-menu a, #top-menu a, .SGGLOVES-account-dropdown__menu a,
    .SGGLOVES-customer-menu__item)
    :where(span, strong, b):not([class*="icon"]):not([aria-hidden="true"]) {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
  }
  :where(.SGGLOVES-customer-menu__intro strong, .SGGLOVES-account-dropdown__header > span) {
    font-size: var(--sg-type-account-greeting-font-size, 13px) !important;
    font-weight: var(--sg-type-account-greeting-font-weight, 300) !important;
  }
  :where(.SGGLOVES-marketbar, .SGGLOVES-marketbar a, .SGGLOVES-marketbar p) {
    font-size: var(--sg-type-marketbar-info-font-size, 13px) !important;
    font-weight: var(--sg-type-font-weight-body, 300) !important;
  }
  :where(.sg-utility-bar__item, .sg-utility-bar__item a, .sg-utility-bar__item span,
    .SGGLOVES-topbar, .SGGLOVES-topbar a):not(:where([class*="icon"], [aria-hidden="true"])) {
    font-size: var(--sg-type-topbar-font-size, 13px) !important;
    font-weight: var(--sg-type-topbar-font-weight, 300) !important;
  }

  :where(.form-control, .form-select, input:not([type]), input[type="text"],
    input[type="email"], input[type="search"], input[type="password"],
    input[type="tel"], input[type="number"], textarea, select, label, .form-label) {
    font-family: var(--sg-type-form-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
    font-weight: var(--sg-type-form-font-weight, 300) !important;
  }
  :where(.form-control, .form-select, textarea, select,
    input[type="text"], input[type="email"], input[type="search"], input[type="password"], input[type="tel"]) {
    font-size: var(--sg-type-form-font-size, 16px) !important;
  }
  :where(.product-flags > .badge, .product-flag, .sg-product-card__availability,
    .product-miniature__availability, .sg-availability-badge__text, .product-availability) {
    font-family: var(--sg-font-body, Inter, sans-serif) !important;
    font-size: var(--sg-type-meta-font-size, 12px) !important;
    font-weight: var(--sg-type-meta-font-weight, 400) !important;
    letter-spacing: normal !important;
  }
  :where(.breadcrumb, .breadcrumb a, .breadcrumb li, .breadcrumb span):not(:where([class*="icon"], [aria-hidden="true"])) {
    font-size: var(--sg-type-breadcrumb-font-size, 12px) !important;
    font-weight: var(--sg-type-breadcrumb-font-weight, 300) !important;
  }
  :where(.SGGLOVES-footer-info h1, .SGGLOVES-footer-info h2, .SGGLOVES-footer-info h3,
    .SGGLOVES-footer-info h4, .SGGLOVES-footer-info h5, .SGGLOVES-footer-info h6, .SGGLOVES-footer-info__title) {
    font-size: var(--sg-type-footer-info-title-font-size, 13px) !important;
    font-weight: var(--sg-type-footer-info-title-font-weight, 300) !important;
  }
  :where(.SGGLOVES-footer-info, .SGGLOVES-footer-info p, .SGGLOVES-footer-info li) {
    font-size: var(--sg-type-footer-info-font-size, 14px) !important;
    font-weight: var(--sg-type-footer-info-font-weight, 300) !important;
  }
  :where(.sgglovesblog-post-content, .sgglovesblog-post-content p, .sgglovesblog-post-content li,
    .sgglovesblog-post-content span, .sgglovesblog-post-content div,
    .sgglovesblog-post-content td, .sgglovesblog-post-content th, .sgglovesblog-post-content blockquote) {
    font-size: var(--sg-type-blog-post-font-size, 16px) !important;
    font-weight: var(--sg-type-blog-post-font-weight, 300) !important;
    line-height: var(--sg-type-blog-post-line-height, 1.75) !important;
  }

  /* Blog index, categories and article chrome use the same configurable type. */
  :where(.sgglovesblog-page, .sgglovesblog-post, .sgglovesblog-home) {
    font-family: var(--sg-font-body, Inter, system-ui, sans-serif) !important;
    font-weight: var(--sg-type-font-weight-body, 300) !important;
  }
  :where(.sgglovesblog-crumbs, .sgglovesblog-crumbs a, .sgglovesblog-crumbs span,
    .sgglovesblog-post-hero__lead, .sgglovesblog-category-description,
    .sgglovesblog-sg-empty, .sgglovesblog-post-meta-card, .sgglovesblog-post-meta-card > span,
    .sgglovesblog-post-share a, .sgglovesblog-tags span, .sgglovesblog-related-strip span,
    .sgglovesblog-sidebox > a, .sgglovesblog-sidebox em, .sgglovesblog-side-article span,
    .sgglovesblog-side-product span, .sgglovesblog-section-head > a,
    .sgglovesblog-latest__all, .sgglovesblog-category-link, .sgglovesblog-category-link em) {
    font-family: var(--sg-font-body, Inter, system-ui, sans-serif) !important;
    font-weight: var(--sg-type-font-weight-body, 300) !important;
  }
  :where(.sgglovesblog-sg-meta, .sgglovesblog-meta, .sgglovesblog-sg-badge,
    .sgglovesblog-eyebrow, .sgglovesblog-popular small, .sgglovesblog-popular small em,
    .sgglovesblog-sidebar-action__eyebrow) {
    font-family: var(--sg-font-body, Inter, system-ui, sans-serif) !important;
    font-size: var(--sg-type-meta-font-size, 12px) !important;
    font-weight: var(--sg-type-meta-font-weight, 400) !important;
    letter-spacing: normal !important;
  }
  :where(.sgglovesblog-sg-meta, .sgglovesblog-meta) :where(a, span) {
    font: inherit !important;
  }
  :where(.sgglovesblog-popular strong, .sgglovesblog-sidebar-product strong,
    .sgglovesblog-product span) {
    font-family: var(--sg-font-heading, Inter, system-ui, sans-serif) !important;
    font-weight: var(--sg-type-font-weight-heading, 300) !important;
  }

  @media (max-width: 767.98px) {
    :root { --sg-type-control-font-size: var(--sg-type-button-mobile-font-size, 13px); }
    :where(.product-miniature__title, .product-miniature .product-title, .SGGLOVES-home-product h3) {
      font-size: var(--sg-type-product-title-mobile-font-size, 14px) !important;
    }
    :where(.product-miniature__price, .product-miniature .price, .SGGLOVES-home-product strong) {
      font-size: var(--sg-type-product-price-mobile-font-size, 18px) !important;
    }
    :where(.SGGLOVES-home-hero__title) {
      font-size: var(--sg-type-hero-mobile-title-size, 30px) !important;
    }
    :where(.form-control, .form-select, textarea, select, input:not([type]),
      input[type="text"], input[type="email"], input[type="search"], input[type="password"], input[type="tel"]) {
      font-size: max(16px, var(--sg-type-form-font-size, 16px)) !important;
    }
  }
  @media (max-width: 1199.98px) {
    :where(.ps-mainmenu--mobile a, #mobile_top_menu_wrapper a, .js-menu-canvas a, .offcanvas .ps-mainmenu a) {
      font-family: var(--sg-type-nav-font-source, var(--sg-font-body, Inter, sans-serif)) !important;
      font-size: var(--sg-type-mobile-menu-font-size, 15px) !important;
      font-weight: var(--sg-type-nav-font-weight, 300) !important;
    }
    :where(.ps-mainmenu--mobile .offcanvas-title, .js-menu-canvas .offcanvas-title, .ps-mainmenu--mobile .menu__title) {
      font-size: var(--sg-type-mobile-menu-title-font-size, 18px) !important;
    }
  }
}
