/* Restore one readable scale after legacy, page-local CSS !important rules. */
html body { font-size: 18px !important; }

html body main[class][class][class], html body main[id][id][id],
html body [role="main"][class][class][class], html body [role="main"][id][id][id],
html body main:not([class]):not([id]), html body [role="main"]:not([class]):not([id]) {
  font-size: 18px !important;
}

html body main[class][class][class] :is(p:not(.eyebrow), li, dd, dt, td, th, label, legend, summary),
html body main[id][id][id] :is(p:not(.eyebrow), li, dd, dt, td, th, label, legend, summary),
html body [role="main"][class][class][class] :is(p:not(.eyebrow), li, dd, dt, td, th, label, legend, summary),
html body [role="main"][id][id][id] :is(p:not(.eyebrow), li, dd, dt, td, th, label, legend, summary),
html body main:not([class]):not([id]) :is(p:not(.eyebrow), li, dd, dt, td, th, label, legend, summary),
html body [role="main"]:not([class]):not([id]) :is(p:not(.eyebrow), li, dd, dt, th, label, legend, summary) {
  font-size: 18px !important;
  line-height: 1.55 !important;
}

html body main[class][class][class] :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]),
html body main[id][id][id] :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]),
html body [role="main"][class][class][class] :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]),
html body [role="main"][id][id][id] :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]),
html body main:not([class]):not([id]) :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]),
html body [role="main"]:not([class]):not([id]) :is(small, figcaption, .eyebrow, [class*="eyebrow"], [class*="kicker"], [class*="badge"], [class*="axis"], [class*="sku"], [class*="code"], [class*="meta"], [class*="caption"], [class*="tag"], [class*="breadcrumb"]) {
  font-size: 16px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

html body main[class][class][class] :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]),
html body main[id][id][id] :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]),
html body [role="main"][class][class][class] :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]),
html body [role="main"][id][id][id] :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]),
html body main:not([class]):not([id]) :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]),
html body [role="main"]:not([class]):not([id]) :is(a, button, input[type="submit"], input[type="button"], [role="button"], .cta, .button, .btn, [class*="cta"], [class*="button"], [class*="btn"]) {
  font-size: 18px !important;
  line-height: 1.4 !important;
  min-height: 52px;
}

html body main[class][class][class] :is(input:not([type="hidden"]), select, textarea),
html body main[id][id][id] :is(input:not([type="hidden"]), select, textarea),
html body [role="main"][class][class][class] :is(input:not([type="hidden"]), select, textarea),
html body [role="main"][id][id][id] :is(input:not([type="hidden"]), select, textarea),
html body main:not([class]):not([id]) :is(input:not([type="hidden"]), select, textarea),
html body [role="main"]:not([class]):not([id]) :is(input:not([type="hidden"]), select, textarea) {
  font-size: 18px !important;
  min-height: 52px;
  box-sizing: border-box;
  max-width: 100%;
}

html body main h1, html body [role="main"] h1 { line-height: 1.08 !important; }
html body main h2, html body [role="main"] h2 { line-height: 1.14 !important; }
html body main h3, html body [role="main"] h3 { line-height: 1.2 !important; }
html body footer :is(p, li, a, small) { font-size: 16px !important; line-height: 1.5 !important; }

/* Seven legacy editorial routes have no main landmark; normalize their cards. */
html body .wrap .meta, html body .wrap .badge-brand { font-size: 16px !important; line-height: 1.5 !important; }
html body .wrap p.note-fit { font-size: 18px !important; line-height: 1.55 !important; }

/* Legacy component selectors with ID specificity need an equally explicit override. */
html body main:is(#main-content, #main-content, #main-content) #contactForm:is(#contactForm, #contactForm) > button[type="submit"] {
  font-size: 18px !important;
  line-height: 1.4 !important;
  min-height: 52px !important;
}
html body main.sp-main:is(.sp-main, #vobom-specificity, #vobom-specificity, #vobom-specificity) a.sp-button.sp-button,
html body main.sp-main:is(.sp-main, #vobom-specificity, #vobom-specificity, #vobom-specificity) a.prefill-rfq-link.prefill-rfq-link,
html body main.sp-main:is(.sp-main, #vobom-specificity, #vobom-specificity, #vobom-specificity) button.sp-button.sp-button {
  font-size: 18px !important;
  line-height: 1.4 !important;
  min-height: 52px !important;
}
html body main.policy-shell:is(.policy-shell, #vobom-specificity, #vobom-specificity, #vobom-specificity) a.policy-primary-cta.policy-primary-cta,
html body main:is(main, #vobom-specificity, #vobom-specificity, #vobom-specificity) a.button.secondary,
html body main:is(main, #vobom-specificity, #vobom-specificity, #vobom-specificity) button.button.secondary {
  font-size: 18px !important;
  line-height: 1.4 !important;
  min-height: 52px !important;
}
html body main:is(main, #vobom-specificity, #vobom-specificity, #vobom-specificity) a.button,
html body main:is(main, #vobom-specificity, #vobom-specificity, #vobom-specificity) button.button {
  font-size: 18px !important;
  line-height: 1.4 !important;
  min-height: 52px !important;
}

/* Intrinsic select width and content-box children caused genuine mobile overflow. */
html body main:is(#main-content, #main-content, #main-content) #careGuideForm:is(#careGuideForm, #careGuideForm) select,
html body main:is(#main-content, #main-content, #main-content) #careGuideForm:is(#careGuideForm, #careGuideForm) label {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) .access-support-copy,
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm),
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm) .config-pair {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm) .config-pair {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm) .config-pair > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm) select {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 600px) {
  html body main:is(#main-content, #main-content, #main-content) #accessSupport:is(#accessSupport, #accessSupport) #accessForm:is(#accessForm, #accessForm) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Readability: raise essential home and furniture card labels without scaling whole pages. */
html body .hero-proof,
html body .hero-proof span,
html body .hero-proof b {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

html body .featured-sku-copy > span {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

html body.vobom-furniture-sprint .deal-card > a > div > span:last-child {
  display: inline-block;
  margin-top: 10px;
  font-size: 16px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
}

/* Keep the dense motorcycle catalog readable on very narrow phones. */
@media (max-width: 360px) {
  html body main.catalog-page #products.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
