/* Shared typography. Layout, colours and application behaviour belong to components. */
@import url('/assets/css/fb-fonts-inter.css?v=20261002type1');

:root {
  --fb-font-sans: -apple-system, BlinkMacSystemFont, "FB Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fb-font-display: var(--fb-font-sans);
  --font-apple: var(--fb-font-sans);
  --font-sans: var(--fb-font-sans);
  --font-display: var(--fb-font-sans);
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: var(--fb-font-sans) !important;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -0.008em;
  font-kerning: normal;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--fb-font-sans) !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body h1 {
  font-size: clamp(2rem, 1.25rem + 3.3vw, 4rem) !important;
  font-weight: 650 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.038em !important;
}
body main h2 {
  font-size: clamp(1.65rem, 1.2rem + 2vw, 2.75rem) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.03em !important;
}
body :is(h3,h4) {
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.018em !important;
}
body :is(p,li,label) { letter-spacing: -0.005em; }
body main p { line-height: 1.65; text-wrap: pretty; }
body :is(button,input,select,textarea,.jq-btn,.btn) {
  font-family: var(--fb-font-sans) !important;
  letter-spacing: -0.008em;
}
body :is(button,.jq-btn,.btn) { font-weight: 600; }
body :is(input,select,textarea) { line-height: 1.45; }
body :is(.product-card,.catalog-card,.jq-card,.home-map-card) :is(h2,h3) {
  font-size: clamp(1.125rem, 1.05rem + .35vw, 1.375rem) !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.02em !important;
  text-wrap: pretty;
}
body :is(.price,.product-price,.catalog-price,.home-map-price,.home-mp-summary strong) {
  font-weight: 650 !important;
  letter-spacing: -0.025em !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body :is(table,.stats,.stat-value,[id*="Total"],[id*="Count"]) {
  font-variant-numeric: lining-nums tabular-nums;
}
body :is(th,td) { letter-spacing: 0; }
body :is(.badge,.card-date,.sample-kicker,.home-search-label) { letter-spacing: 0; }
body :is(.prose,.article-content,.blog-content) :is(p,li) {
  font-size: 1.0625rem;
  line-height: 1.8;
}
body :is(.prose,.article-content,.blog-content) p { max-width: 72ch; }
/* Dialog titles and compact UI headings are not editorial section headings. */
body :is([role="dialog"],#paymentModal,#orderModal,#sourcesModal,#fbQuickSearch) :is(h1,h2,h3),
body main :is(.sample-form-title,.fb-qs-head-title) {
  font-size: clamp(1.125rem, 1rem + .5vw, 1.5rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
}
body :is(header,footer,.abf) :is(h2,h3,h4) {
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
}
body .abf-col h3 { font-size: 13px !important; }
@media (max-width: 640px) {
  body h1 { letter-spacing: -0.028em !important; line-height: 1.14 !important; }
  body main h2 { letter-spacing: -0.023em !important; line-height: 1.22 !important; }
  body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
    font-size: max(16px, 1rem) !important;
  }
}
