/* R194: mobile hero CTA fix; scoped to the homepage hero and outranks the older competing mobile rules. */
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 10px auto 22px !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-carousel.hero-carousel {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: clamp(220px, 70vw, 280px) !important;
    min-height: 0 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-carousel.hero-carousel .slide::before {
    background: linear-gradient(0deg, rgba(8,13,18,.44) 0%, rgba(8,13,18,.08) 54%, rgba(8,13,18,.02) 100%) !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-carousel.hero-carousel .slide img {
    object-position: 54% center !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy {
    position: relative !important;
    inset: auto !important;
    order: 1 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 18px 20px !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .eyebrow {
    max-width: 100% !important;
    margin: 0 0 8px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: .09em !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy h1 {
    max-width: 100% !important;
    margin: 6px 0 10px !important;
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.04 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-lede {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search-block {
    width: 100% !important;
    height: auto !important;
    margin: 12px 0 0 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search-label {
    margin: 0 0 6px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search {
    min-height: 52px !important;
    height: 52px !important;
    padding: 4px !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search input,
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search button {
    min-height: 44px !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-quicklinks {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 8px 0 0 !important;
    padding: 2px 0 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: thin !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-quicklinks > * {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
  }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 8px 7px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
}
@media (max-width: 360px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-carousel.hero-carousel { height: 218px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy { padding: 16px 16px 18px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .eyebrow { font-size: 11px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy h1 { font-size: 30px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search-label { font-size: 13px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { font-size: 12px !important; }
}

/* R194 cascade correction for the late-injected legacy style rules. */
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero { gap: 0 !important; row-gap: 0 !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy { color: #18212b !important; background: #fff !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-search-label { color: #18212b !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-quicklinks.vobom-hero-quicklinks { color: #18212b !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .vobom-hero-quicklinks.vobom-hero-quicklinks a { color: #18212b !important; min-height: 32px !important; height: auto !important; padding: 5px 0 !important; font-size: 14px !important; line-height: 1.25 !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { white-space: nowrap !important; flex-wrap: nowrap !important; min-height: 48px !important; height: 48px !important; font-size: 12px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button:nth-child(2) { background: #fff !important; color: #17334b !important; border: 1px solid #17334b !important; }
}
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-carousel.hero-carousel { margin: 0 !important; }
}
@media (max-width: 360px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { font-size: 11px !important; padding-inline: 4px !important; }
}
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy { transform: none !important; top: 0 !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { column-gap: 4px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button span[aria-hidden="true"] { display: inline !important; line-height: 1 !important; margin-left: 4px !important; }
}

/* R194 CTA fit correction: keep full labels readable on narrow phones. */
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { font-size: 11px !important; column-gap: 0 !important; padding-inline: 5px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button span[aria-hidden="true"] { display: none !important; }
}

/* R194 narrow-screen CTA layout: full labels in a clean vertical stack. */
@media (max-width: 720px) {
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; margin-top: 6px !important; }
  body:has(main > .hero .hero-carousel) main > .hero.hero > .hero-copy.hero-copy .hero-actions.hero-actions .button { width: 100% !important; min-height: 46px !important; height: 46px !important; font-size: 13px !important; padding: 8px 12px !important; }
}

/* Override the consent-aware R176 rule that translates the copy 24px below its layout box. */
@media (max-width: 720px) {
  body:has(.hero-carousel):has(#siteNav):has(#vobomConsentV201) main > .hero .hero-copy.hero-copy { transform: none !important; }
}
