
/* Consolidated from vobom-site-visual-scale-v5-20260929.css; original cascade order preserved. */
/* VOBOM shared readability baseline. Replaces the legacy v2 contraction rules. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 18px !important; }
body :is(p,li,dd,dt,td,th,label,legend,summary,figcaption) { font-size: 18px !important; line-height: 1.55 !important; }
body :is(small,.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="badge"],[class*="axis"],[class*="sku"],[class*="code"],[class*="meta"],[class*="note"],[class*="caption"],[class*="tag"],[class*="breadcrumb"]) { font-size: 16px !important; line-height: 1.5 !important; letter-spacing: normal !important; }
body :is(button,input[type="submit"],input[type="button"],[role="button"]) { min-height: 52px; }
body :is(main,[role="main"]) { font-size: 18px !important; }
body :is(main,[role="main"]) :is(p,li,dd,dt,td,th,label,legend,summary,figcaption) { font-size: 18px !important; line-height: 1.55 !important; }
body :is(main,[role="main"]) :is(small,.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="badge"],[class*="axis"],[class*="sku"],[class*="code"],[class*="meta"],[class*="note"],[class*="caption"],[class*="tag"]) { font-size: 16px !important; line-height: 1.5 !important; letter-spacing: normal !important; }
body :is(nav,[role="navigation"]) :is(a,button) { font-size: 16px !important; line-height: 1.45 !important; }
body :is(main,[role="main"]) a { font-size: 18px !important; line-height: 1.5 !important; }
body :is(main,[role="main"]) a:is(.cta,.button,.btn,[class*="rfq"],[class*="quote"],[class*="inquir"],[class*="checkout"]) { font-size: 18px !important; }
body :is(main,[role="main"]) :is(button,input[type="submit"],input[type="button"],[role="button"],.cta,.button,.btn) { font-size: 18px !important; line-height: 1.4 !important; min-height: 52px; }
body :is(main,[role="main"]) :is(input:not([type="hidden"]),select,textarea) { font-size: 18px !important; min-height: 52px; }
body .vmbn-cta { font-size: 16px !important; }
body footer :is(p,li,a,small) { font-size: 16px !important; line-height: 1.5 !important; }

@media (max-width: 600px) {
  body { font-size: 18px !important; }
  body :is(nav,[role="navigation"]) :is(a,button) { font-size: 16px !important; }
  body :is(main,[role="main"]) :is(p,li,dd,dt,td,th,label,legend,summary,figcaption) { font-size: 18px !important; }
  body :is(main,[role="main"]) :is(small,.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="badge"],[class*="axis"],[class*="sku"],[class*="code"],[class*="meta"],[class*="note"],[class*="caption"],[class*="tag"]) { font-size: 16px !important; }
  body :is(main,[role="main"]) a { font-size: 18px !important; }
  body :is(main,[role="main"]) a:is(.cta,.button,.btn,[class*="rfq"],[class*="quote"],[class*="inquir"],[class*="checkout"]) { font-size: 18px !important; }
  body :is(main,[role="main"]) :is(button,input[type="submit"],input[type="button"],[role="button"],.cta,.button,.btn) { font-size: 18px !important; }
}



/* Consolidated from vobom-site-visual-scale-v6-20260930.css; original cascade order preserved. */
/* Visible-scale candidate: make reading hierarchy and action controls materially larger.
   Keep component widths and images untouched; use responsive heading clamps. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 18px !important; }
body :is(p,li,dd,dt,td,th,label,legend,summary,figcaption) {
  font-size: 18px !important;
  line-height: 1.55 !important;
}
body :is(small,.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="badge"],[class*="axis"],[class*="sku"],
  [class*="code"],[class*="meta"],[class*="note"],[class*="caption"],[class*="tag"],[class*="breadcrumb"]) {
  font-size: 16px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
body :is(button,input[type="submit"],input[type="button"],[role="button"],.cta,.button,.btn) {
  min-height: 52px;
  font-size: 18px !important;
  line-height: 1.4 !important;
}
body :is(input:not([type="hidden"]),select,textarea) { font-size: 18px !important; min-height: 52px; }
body :is(nav,[role="navigation"]) :is(a,button) { font-size: 16px !important; line-height: 1.45 !important; }
body :is(main,[role="main"]) a { font-size: 18px !important; line-height: 1.5 !important; }
body :is(main,[role="main"]) h1 { font-size: clamp(36px, 4vw, 52px) !important; line-height: 1.08 !important; }
body :is(main,[role="main"]) h2 { font-size: clamp(30px, 3.2vw, 42px) !important; line-height: 1.14 !important; }
body :is(main,[role="main"]) h3 { font-size: clamp(24px, 2.3vw, 32px) !important; line-height: 1.2 !important; }
body .vmbn-cta { font-size: 16px !important; }
body footer :is(p,li,a,small) { font-size: 16px !important; line-height: 1.5 !important; }
/* Keep the three-step progress indicator on one row after the larger type scale. */
body .configure-page .config-steps li { font-size: 16px !important; line-height: 1.35 !important; min-width: 0 !important; }

/* Preserve the existing consent layout while keeping its choices readable. */
body #vobomConsentV201 { position: relative !important; inset: auto !important; max-height: none !important; overflow: visible !important; }
body #vobomConsentV201 .vc-title { font-size: 15px !important; }
body #vobomConsentV201 .vc-copy { font-size: 14px !important; line-height: 1.4 !important; }
body #vobomConsentV201 .vc-actions { margin-top: 18px !important; }
body #vobomConsentV201 .vc-actions button { font-size: 14px !important; min-height: 44px !important; }

@media (max-width: 700px) {
  body { font-size: 18px !important; }
  body :is(main,[role="main"]) :is(p,li,dd,dt,td,th,label,legend,summary,figcaption) {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  body :is(nav,[role="navigation"]) :is(a,button) { font-size: 16px !important; }
  body :is(main,[role="main"]) a { font-size: 18px !important; }
  body :is(main,[role="main"]) h1 { font-size: clamp(36px, 10vw, 42px) !important; }
  body :is(main,[role="main"]) h2 { font-size: clamp(28px, 7.4vw, 34px) !important; }
  body :is(main,[role="main"]) h3 { font-size: clamp(23px, 6vw, 28px) !important; }
  /* The language control shares the initial consent row, then moves to a safe
     header-adjacent pocket after a choice is stored. */
  body:has(#vobomConsentV201.is-open) .vobom-language-switcher {
    position: fixed !important; top: 4px !important; right: 8px !important;
  }
  body:has(#vobomConsentV201:not(.is-open)):has(#siteNav) .vobom-language-switcher {
    position: fixed !important; top: 108px !important; right: 10px !important;
  }
  body.vobom-furniture-sprint:has(#vobomConsentV201:not(.is-open)) .vobom-language-switcher {
    position: fixed !important; top: 164px !important; right: 10px !important;
  }
  body:has(#vobomConsentV201:not(.is-open)):has(#vobom-moto-buyer-nav) .vobom-language-switcher {
    position: fixed !important; top: 204px !important; right: 10px !important;
  }
  body:has(#vobomConsentV201:not(.is-open)):has(.product-detail-page):has(.trust) .vobom-language-switcher {
    position: fixed !important; top: 4px !important; right: 8px !important;
  }
  body .vobom-language-switcher .vobom-language-current {
    box-sizing: border-box !important; width: 52px !important; min-width: 52px !important;
    height: 44px !important; min-height: 44px !important; padding: 8px 10px !important;
    font-size: 16px !important;
  }
  body #vobomConsentV201.has-choice:not(.is-open) {
    position: static !important; inset: auto !important; z-index: auto !important;
    width: 100% !important; margin: 8px 0 !important; pointer-events: auto !important;
  }
  body #vobomConsentV201.has-choice:not(.is-open) #vobomPrivacyChoicesV201 {
    position: static !important; min-height: 40px !important; font-size: 14px !important; padding: 8px 12px !important;
  }
}



/* Consolidated from vobom-site-visual-scale-v4-20260927.css; original cascade order preserved. */
/* 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;
  }
}



/* Align mobile H1 on editorial routes that do not use a main landmark. */
@media (max-width: 600px) {
  html body h1 {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }
}

/* Preserve the measured scale of the standalone motorcycle RFQ page. */
body main.catalog-page.inquiry-page h1 {
  font-size: 56px !important;
  line-height: 1.55 !important;
}
@media (max-width: 1024px) {
  body main.catalog-page.inquiry-page h1 {
    font-size: 42px !important;
    line-height: 1.55 !important;
  }
}
