/* PEP-RESPONSIVE-DISPLAY-CONVERGENCE-02 */
body.kbm-rdc02{
  --kbm-rdc-navy:#0b2745;
  --kbm-rdc-navy-deep:#061a2d;
  --kbm-rdc-yellow:#ffca0a;
  --kbm-rdc-ink:#111827;
  --kbm-rdc-muted:#64748b;
  --kbm-rdc-line:#dce5ee;
  --kbm-rdc-surface:#fff;
  --kbm-rdc-soft:#f5f8fc;
}
body.kbm-rdc02 :where(h1,h2,h3,h4,p,a,span,small,b,strong,label,button,input,select,textarea){
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
body.kbm-rdc02 img{max-width:100%;height:auto}
body.kbm-rdc02 .kbm-rdc02-hidden-route-title{display:none!important}

/* Zoom-safe shell: supports browser zoom up to 150% without forcing a user zoom level. */
@media (min-width:721px){
  body.kbm-rdc02 :where(.kbm-mlec-home,.kbm-ads-recode,.kbm-dashboard-recode,.kbm-submit-recode-wrap){
    width:min(100%,1440px)!important;
    margin-inline:auto!important;
  }
  body.kbm-rdc02 .kbm-mlec-section{min-width:0!important}
}

/* Home rental cards: one visual contract for real photos and fallbacks. */
body.kbm-rdc02-route-home .kbm-mlec-section--latest{
  padding:clamp(14px,1.7vw,24px)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#fff,#f7f9fc)!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid>.kbm-ads-recode-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  border-radius:22px!important;
  border:1px solid #dce4ec!important;
  box-shadow:0 10px 28px rgba(11,39,69,.08)!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#edf2f7,#f8fafc)!important;
  border:0!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-media img.kbm-media-fallback{
  object-fit:cover!important;
  opacity:.94!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-ph{
  width:100%!important;height:100%!important;display:grid!important;place-items:center!important;
  color:#64748b!important;background:linear-gradient(135deg,#eef3f8,#f8fafc)!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-body{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  padding:13px 14px 14px!important;
  gap:8px!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-title{
  min-height:50px!important;
  margin:0!important;
  font-size:15.5px!important;
  line-height:1.75!important;
  color:var(--kbm-rdc-ink)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-title a{
  color:var(--kbm-rdc-ink)!important;
  text-decoration:none!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-meta{
  display:flex!important;flex-wrap:wrap!important;gap:6px!important;max-height:68px!important;overflow:hidden!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-chip{
  min-height:28px!important;padding:4px 8px!important;font-size:11px!important;line-height:1.6!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-foot{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(112px,.72fr)!important;
  gap:8px!important;
  margin-top:auto!important;
  padding:9px!important;
  border:1px solid #e2e8f0!important;
  border-radius:15px!important;
  background:#f8fafc!important;
  align-items:stretch!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-price,
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-cta{
  min-height:42px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:12px!important;
  white-space:normal!important;
  line-height:1.55!important;
  padding:7px 9px!important;
}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-price{font-size:12px!important}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-price small{font-size:10.5px!important;white-space:nowrap!important}
body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-cta{font-size:12px!important;color:#111827!important}

/* Calculator: full on desktop, compact accordion on phones. */
.kbm-rdc02-calc-toggle{display:none;border:0;background:#fff8dc;color:#6b4b00;font:inherit;font-weight:900;min-height:48px;border-radius:14px;padding:9px 13px;width:100%;align-items:center;justify-content:center;gap:0;cursor:pointer}
.kbm-rdc02-calc-toggle b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--kbm-rdc-yellow);color:#111827;font-size:20px}
.kbm-rdc02-calc-body[hidden]{display:none!important}

/* Auth: mobile-only rebuild; desktop composition remains unchanged. */
@media(max-width:720px){
  body.kbm-rdc02-route-auth{background:#edf3f8!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth{
    min-height:100dvh!important;
    overflow:visible!important;
    padding:0 0 calc(18px + env(safe-area-inset-bottom,0px))!important;
    background:#edf3f8!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__topbar{
    position:relative!important;
    inset:auto!important;
    z-index:5!important;
    width:calc(100% - 24px)!important;
    min-height:58px!important;
    margin:calc(10px + env(safe-area-inset-top,0px)) auto 10px!important;
    padding:10px 14px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid #dbe4ed!important;
    backdrop-filter:none!important;
    box-shadow:0 8px 24px rgba(11,39,69,.08)!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__topbar nav{display:none!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__brand{font-size:17px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__grid{
    display:block!important;
    min-height:0!important;
    width:100%!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual{
    width:calc(100% - 24px)!important;
    min-height:220px!important;
    height:auto!important;
    margin:0 auto!important;
    padding:24px 20px 52px!important;
    align-items:flex-end!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background-position:center!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual::after{
    background:linear-gradient(180deg,rgba(3,18,30,.22),rgba(3,18,30,.88))!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual-content{max-width:none!important;width:100%!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__kicker{display:none!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual h1{
    margin:0 0 8px!important;font-size:23px!important;line-height:1.55!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.28)!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual p{
    margin:0!important;font-size:12.5px!important;line-height:1.9!important;color:#eef5fb!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__benefits{display:none!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__panel{
    position:relative!important;
    z-index:3!important;
    width:calc(100% - 24px)!important;
    margin:-28px auto 0!important;
    padding:0!important;
    background:transparent!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__card{
    width:100%!important;
    padding:20px 16px 18px!important;
    border-radius:24px!important;
    border:1px solid #dbe4ed!important;
    box-shadow:0 18px 44px rgba(11,39,69,.14)!important;
    background:#fff!important;
  }
  body.kbm-rdc02-route-auth .kbm-ahc-auth__shield{width:44px!important;height:44px!important;margin-bottom:12px!important;border-radius:14px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__card h2{font-size:20px!important;line-height:1.55!important;margin-bottom:6px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__card>p{font-size:12px!important;line-height:1.9!important;margin-bottom:14px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__step input{height:52px!important;font-size:16px!important;border-radius:14px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__primary,
  body.kbm-rdc02-route-auth .kbm-ahc-auth__secondary{min-height:50px!important;border-radius:14px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__privacy{margin-top:12px!important;padding:9px!important;font-size:11.5px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__row{flex-wrap:wrap!important}

  body.kbm-rdc02-route-home .kbm-ahc-calc{padding:14px!important;border-radius:20px!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc__head{display:grid!important;gap:5px!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc__head h2{font-size:20px!important;margin:0!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc__head p{font-size:12px!important;line-height:1.8!important;margin:0 0 8px!important}
  body.kbm-rdc02-route-home .kbm-rdc02-calc-toggle{display:flex!important}
  body.kbm-rdc02-route-home .kbm-rdc02-calc-body{padding-top:12px!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc form{grid-template-columns:1fr!important;gap:10px!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc label{gap:5px!important}
  body.kbm-rdc02-route-home .kbm-ahc-calc :where(input,select,button){min-height:48px!important;font-size:16px!important}

  body.kbm-rdc02-route-home .kbm-mlec-home-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
    grid-auto-rows:auto!important;
  }
  body.kbm-rdc02-route-home .kbm-mlec-home-grid>.kbm-ads-recode-card{
    grid-template-columns:118px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    height:auto!important;
    border-radius:18px!important;
  }
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-media{
    width:118px!important;height:100%!important;min-height:176px!important;aspect-ratio:auto!important;
  }
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-body{padding:10px!important;gap:6px!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-title{font-size:13px!important;min-height:0!important;line-height:1.65!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-meta{max-height:52px!important;gap:4px!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-chip{font-size:9.5px!important;min-height:24px!important;padding:3px 6px!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-foot{grid-template-columns:1fr!important;padding:6px!important;gap:5px!important;border-radius:12px!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-price,
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-cta{min-height:34px!important;font-size:10.5px!important;padding:5px 7px!important}

  /* Custom-rendered KBM routes already own their H1. Hide the duplicate WordPress page heading. */
  body.kbm-rdc02-route-submit :where(.entry-header>.entry-title,.page-header>.page-title,.elementor-widget-theme-post-title),
  body.kbm-rdc02-route-auth :where(.entry-header>.entry-title,.page-header>.page-title,.elementor-widget-theme-post-title){display:none!important}

  /* Submit form remains fully usable at narrow widths and 125–150% browser zoom. */
  body.kbm-rdc02-route-submit :where(.kbm-submit-recode,.kbm-submit-recode-wrap,.kbm-submit-recode-form){
    width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:auto!important;
  }
  body.kbm-rdc02-route-submit :where(.kbm-submit-recode-card,.kbm-submit-recode-section,.kbm-submit-card){
    min-width:0!important;border-radius:18px!important;padding-inline:12px!important;
  }
}

@media(min-width:721px) and (max-width:1180px){
  body.kbm-rdc02-route-home .kbm-mlec-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:380px){
  body.kbm-rdc02-route-home .kbm-mlec-home-grid>.kbm-ads-recode-card{grid-template-columns:106px minmax(0,1fr)!important}
  body.kbm-rdc02-route-home .kbm-mlec-home-grid .kbm-ads-recode-card-media{width:106px!important;min-height:164px!important}
  body.kbm-rdc02-route-auth .kbm-ahc-auth__visual,
  body.kbm-rdc02-route-auth .kbm-ahc-auth__panel,
  body.kbm-rdc02-route-auth .kbm-ahc-auth__topbar{width:calc(100% - 16px)!important}
}

@media(prefers-reduced-motion:reduce){
  body.kbm-rdc02 *,body.kbm-rdc02 *::before,body.kbm-rdc02 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
