/* KBM Core 1.9.9-rc.26 — KBM-MOBILE-VISUAL-CONTRAST-LAYOUT-RECOVERY */
:root{
  --kbm-mv26-navy:#0b1f3a;
  --kbm-mv26-navy-2:#12395d;
  --kbm-mv26-yellow:#f6c400;
  --kbm-mv26-yellow-2:#ffd84a;
  --kbm-mv26-text:#17263b;
  --kbm-mv26-muted:#516176;
}

/* 1) Campaign slider: remove dead vertical space and guarantee text contrast. */
body.kbm-mvclr26 .kbm-sch21-campaigns{
  position:relative!important;
  margin-block:18px 30px!important;
}
body.kbm-mvclr26 .kbm-sch21-campaigns__track{
  position:relative!important;
  height:clamp(250px,31vw,360px)!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:26px!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:16px!important;
  height:100%!important;
  min-height:0!important;
  padding:clamp(22px,4vw,48px)!important;
  text-align:right!important;
  border-radius:26px!important;
  border:1px solid rgba(11,31,58,.12)!important;
  background:#10233f!important;
  isolation:isolate!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-image:var(--kbm-sch21-campaign-image)!important;
  background-size:cover!important;
  background-position:center!important;
  opacity:.72!important;
  mix-blend-mode:normal!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:linear-gradient(90deg,rgba(8,27,50,.24) 0%,rgba(8,27,50,.62) 48%,rgba(5,22,41,.91) 100%)!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign.is-driver::after{
  background:linear-gradient(90deg,rgba(8,27,50,.18) 0%,rgba(8,27,50,.58) 52%,rgba(5,22,41,.90) 100%)!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign__brand,
body.kbm-mvclr26 .kbm-sch21-campaign__visual{
  display:none!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign__copy{
  width:min(620px,72%)!important;
  margin-inline-start:auto!important;
  text-align:right!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign__copy h2{
  color:#fff!important;
  font-size:clamp(1.7rem,4.4vw,3rem)!important;
  line-height:1.45!important;
  font-weight:950!important;
  text-shadow:0 2px 16px rgba(0,0,0,.25)!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign__copy p{color:rgba(255,255,255,.88)!important}
body.kbm-mvclr26 .kbm-sch21-campaign__copy a{
  min-height:50px!important;
  padding-inline:22px!important;
  background:#fff!important;
  color:var(--kbm-mv26-navy)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.16)!important;
  font-size:.98rem!important;
  font-weight:900!important;
}
body.kbm-mvclr26 .kbm-sch21-campaign__copy a:hover{background:var(--kbm-mv26-yellow)!important}
body.kbm-mvclr26 .kbm-sch21-campaigns__dots{
  position:absolute!important;
  z-index:8!important;
  inset:auto 50% 14px auto!important;
  transform:translateX(50%)!important;
  margin:0!important;
  display:flex!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:center!important;
}
body.kbm-mvclr26 .kbm-sch21-campaigns__dots button{
  width:8px!important;
  height:8px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.74)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
body.kbm-mvclr26 .kbm-sch21-campaigns__dots button[aria-selected="true"]{
  width:24px!important;
  background:var(--kbm-mv26-yellow)!important;
  border-color:var(--kbm-mv26-yellow)!important;
}

/* 2) Route cards: figure replaces legacy span so RC22's span hide rule cannot remove images. */
body.kbm-mvclr26 .kbm-sch21-route__visual{
  margin:0!important;
  display:block!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#eef4fa,#fff8d4)!important;
}
body.kbm-mvclr26 .kbm-sch21-route__visual picture,
body.kbm-mvclr26 .kbm-sch21-route__visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* 4) Hero tertiary CTA must remain legible over any hero image. */
body.kbm-mvclr26 .kbm-sch21-hero__actions .is-link{
  color:var(--kbm-mv26-navy)!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(11,31,58,.24)!important;
  text-shadow:none!important;
  font-weight:900!important;
}
body.kbm-mvclr26 .kbm-sch21-hero__actions .is-link:hover{background:#fff3b3!important}

/* 5) Expired ads: mute state without destroying readability. */
body.kbm-mvclr26 .kbm-ads-recode-grid .kbm-ads-recode-card.is-expired{
  opacity:1!important;
  background:#f7f9fb!important;
  border-color:#cbd5e1!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
}
body.kbm-mvclr26 .kbm-ads-recode-grid .kbm-ads-recode-card.is-expired .kbm-ads-recode-card-media img{
  filter:grayscale(.72) saturate(.45) contrast(.96)!important;
  opacity:.82!important;
}
body.kbm-mvclr26 .kbm-ads-recode-grid .kbm-ads-recode-card.is-expired :where(.kbm-ads-recode-card-title,.kbm-ads-recode-card-title a){
  color:#314156!important;
  font-weight:900!important;
}
body.kbm-mvclr26 .kbm-ads-recode-grid .kbm-ads-recode-card.is-expired :where(.kbm-ads-recode-card-location,.kbm-ads-recode-chip){
  color:#46566b!important;
}
body.kbm-mvclr26 .kbm-ads-recode-grid .kbm-ads-recode-card.is-expired .kbm-ads-recode-card-price{
  background:#e9eef4!important;
  color:#334155!important;
  border-color:#cbd5e1!important;
}

/* 6) Price hierarchy and anti-vertical-word safeguards. */
body.kbm-mvclr26 :where(.kbm-sch21-price,.kbm-ads-recode-card-price,.kbm-ad-card-price,.kbm-card-price){
  min-width:0!important;
  overflow:hidden!important;
}
body.kbm-mvclr26 :where(.kbm-sch21-price strong,.kbm-ads-recode-card-price strong,.kbm-ad-card-price strong,.kbm-card-price strong){
  overflow-wrap:normal!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  line-height:1.55!important;
}

@media(max-width:980px){
  /* Mobile/tablet cards are one column, avoiding narrow bodies and vertical price text. */
  body.kbm-mvclr26 .kbm-sch21-section--featured .kbm-sch21-grid,
  body.kbm-mvclr26 .kbm-sch21-grid{
    grid-template-columns:1fr!important;
  }
  body.kbm-mvclr26 :where(.kbm-sch21-card,.kbm-ads-recode-card,.kbm-adsv2-card,.kbm-ad-card){
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
  }
  body.kbm-mvclr26 :where(.kbm-sch21-card__media,.kbm-ads-recode-card-media,.kbm-adsv2-card__media,.kbm-ad-card__media){
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
  }
}

@media(max-width:600px){
  body.kbm-mvclr26 .kbm-sch21-campaigns__track{height:clamp(232px,68vw,286px)!important}
  body.kbm-mvclr26 .kbm-sch21-campaign{
    padding:22px 18px 44px!important;
    align-items:stretch!important;
  }
  body.kbm-mvclr26 .kbm-sch21-campaign::after{
    background:linear-gradient(180deg,rgba(6,24,44,.32) 0%,rgba(6,24,44,.86) 100%)!important;
  }
  body.kbm-mvclr26 .kbm-sch21-campaign__copy{
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    align-self:end!important;
  }
  body.kbm-mvclr26 .kbm-sch21-campaign__copy h2{font-size:1.52rem!important;line-height:1.5!important}
  body.kbm-mvclr26 .kbm-sch21-campaign__copy a{min-height:46px!important;padding-inline:18px!important}
}

@media(max-width:360px){
}

@media(prefers-reduced-motion:reduce){
  body.kbm-mvclr26 .kbm-sch21-campaign{transition:none!important;transform:none!important}
}
