/* FILEO typography: Montserrat headings/navigation, Onest body. 2026-09-14. Public storefront only. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/local/templates/fileo/_html/fonts/montserrat-variable-full.woff2') format('woff2');
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/local/templates/fileo/_html/fonts/onest-variable-full.woff2') format('woff2');
}
:root {
  --fileo-burgundy: #872F3E;
  --fileo-menu-divider: #D9DADA;
  --fileo-font-heading: 'Montserrat', Arial, sans-serif;
  --fileo-font-body: 'Onest', Arial, sans-serif;
}

html body { font-family: var(--fileo-font-current, var(--fileo-font-body)) !important; font-weight: 400; }
html body :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,legend,li,dt,dd,th,td,summary,blockquote,figcaption,small,strong,b,em,span,div,section,article):not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not([class*='fa-']):not([class*='bx-']):not([id^='bx-']) {
  font-family: var(--fileo-font-current, var(--fileo-font-body)) !important;
}
html body :where(h1,h2,h3,h4,h5,h6), html body .title, html body .dot-title { font-weight: 500 !important; }
html body :where(button,input,select,textarea) { font-weight: 400; }
html body :where(b,strong) { font-weight: 600; }
html body .fileo-card-name, html body .product-item__title { font-weight: 500 !important; }
html body .product-item__price, html body .product-price, html body .product__price { font-weight: 600 !important; }
html body .fileo-card-sizes, html body .fileo-card-colors { font-weight: 400 !important; }
html body .catalog-side-bar__category, html body .catalog-side-bar__subcategory { font-weight: 400 !important; }
html body .catalog-side-bar__category.active, html body .catalog-side-bar__subcategory.active { font-weight: 500 !important; }

/* FILEO: Montserrat for navigation/headings; Onest for readable body copy. */
html body :where(
  h1, h2, h3, h4, h5, h6, summary,
  .title, .title-content, .dot-title, .footer_title,
  .banner-text__title, .cart-title, .popup-log-in__title, .catalog__title-limit,
  .viewed-products__title, .similiar_title, .product__size-mob-title,
  .fileo-contact-kicker, .fileo-dealers__eyebrow, .dealer-card__city,
  .fileo-about__eyebrow, .fileo-about__fact dt, .fileo-about__detail summary,
  .fp-eyebrow, .fp-button, .fp-text-link,
  .header-block, .header-desktop, .header-mobile,
  nav, [role="navigation"], .breadcrumbs, .breadcrumbs-block,
  .nav-block, .nav__ul, .link_level1, .nav-popup__ul, .nav-popup__category,
  .catalog-side-bar, .catalog-side-menu, .left-menu,
  .footer-nav--desctop, .footer-nav--mob, .footer-center-block__item-ul,
  #menu-mob, .fileo-catalog-controls, .pagination, .page-navigation,
  .manage-bar__pagination, .manage-bar__pagination-link,
  .fileo-catalog-card, .product-item__title, .product__title, .product__title-wrap,
  button, .btn, [role="button"], .fileo-about__button,
  .fileo-contact-btn, .fileo-dealers__primary-link, .dealer-card__actions,
  .btn-question, .btn-subscribe
) {
  --fileo-font-current: var(--fileo-font-heading);
}
/* Text-bearing forms can live inside the header's navigation container. */
html body :where(
  .register-block, .register-block-mob, .fileo-auth-shell, .fileo-auth-pane,
  .logo_desc, .fileo-auth-subtitle,
  .fileo-about__text, .fileo-about__detail-content,
  .footer-desc, .product__description, .product__description-block
) {
  --fileo-font-current: var(--fileo-font-body);
}

/* Compact desktop PDP quantity cells; touch controls keep their existing dimensions. */
@media (min-width: 1025px) {
  html body .cart-mob-popup__quantity:has(input[data-fileo-pdp-quantity]) {
    width: 28px !important; max-width: 28px !important;
  }
  html body .cart-mob-popup__quantity:has(input[data-fileo-pdp-quantity]) .cart-mob-popup__quantity-header {
    box-sizing: border-box; width: 28px !important; height: 24px !important; min-height: 0 !important;
    padding: 0 !important; margin-bottom: 6px !important; font-size: 11px !important; line-height: 24px !important;
  }
  html body .cart-mob-popup__quantity:has(input[data-fileo-pdp-quantity]) > .cart-mob-popup__quantity-btns {
    width: 28px !important;
  }
  html body .cart-mob-popup__quantity:has(input[data-fileo-pdp-quantity]) button {
    box-sizing: border-box; width: 100% !important; height: 22px !important; min-height: 0 !important;
    padding: 0 !important; font-size: 12px !important; line-height: 22px !important;
  }
  html body input[data-fileo-pdp-quantity] {
    box-sizing: border-box; width: 100% !important; height: 24px !important; min-height: 0 !important;
    padding: 0 !important; font-size: 12px !important; line-height: 24px !important;
  }
}
