/* 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;
  }
}

/* VOBOM WooCommerce product archive grid repair: competitor reference = 4-up desktop, 2-up mobile. */
body.woocommerce.archive ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 32px !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce.archive ul.products.columns-4::before,
body.woocommerce.archive ul.products.columns-4::after {
  content: none !important;
  display: none !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product {
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 14px !important;
  list-style: none !important;
  border: 1px solid #dbe3df !important;
  border-radius: 10px !important;
  background: #fff !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product .vobom-bulk-product {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product img.attachment-woocommerce_thumbnail {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 0 12px !important;
  object-fit: contain !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product h2.woocommerce-loop-product__title {
  margin: 0 0 10px !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product .price {
  display: block !important;
  margin: 0 0 10px !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product .vobom-conversion-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce.archive ul.products.columns-4 > li.product .vobom-conversion-tags > span {
  flex: 0 1 auto !important;
  max-width: 100% !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}
@media (max-width: 1199px) {
  body.woocommerce.archive ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 899px) {
  body.woocommerce.archive ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  body.woocommerce.archive ul.products.columns-4 > li.product {
    padding: 12px !important;
  }
  body.woocommerce.archive ul.products.columns-4 > li.product h2.woocommerce-loop-product__title {
    font-size: 16px !important;
  }
}
@media (max-width: 360px) {
  body.woocommerce.archive ul.products.columns-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
