/* KBM Core v1.9.6.22 — Unified Mobile Layout Governance */
:root{--kbm-uml-shell:1180px;--kbm-uml-gutter:12px;--kbm-uml-header-safe:72px;--kbm-uml-bottom-safe:0px;}
html.kbm-uml-html,body.kbm-uml-active{max-width:100%!important;overflow-x:hidden!important;}
body.kbm-uml-active{background:#f4f7fb!important;}
body.kbm-uml-active :where(*,*:before,*:after){box-sizing:border-box;}

/* Chrome/Samsung/Firefox mobile browser = normal web surface. App chrome is reserved only for real PWA/forced app. */
body.kbm-uml-active:not(.kbm-uml-surface-app) :where(.kbm-app-mini-topbar,.kbm-mobile-bottom-nav,.kbm-mobile-app-backdrop,.kbm-mobile-app-filter-fab,.kbm-p3-mf-filter-btn,.kbm-p3-mf-backdrop,.kbm-adsv2-filter-fab,.kbm-mobile-filter-backdrop){
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(140%)!important;
}
body.kbm-uml-active.kbm-uml-surface-browser :where(.site-header,.site-footer){
  display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;pointer-events:auto!important;transform:none!important;
}
body.kbm-uml-active.kbm-uml-surface-browser{padding-bottom:14px!important;}
body.kbm-uml-active.kbm-uml-surface-browser.kbm-uml-route-submit,
body.kbm-uml-active.kbm-uml-surface-browser.kbm-uml-route-payment,
body.kbm-uml-active.kbm-uml-surface-browser.kbm-uml-route-dashboard,
body.kbm-uml-active.kbm-uml-surface-browser.kbm-uml-route-auth{padding-bottom:20px!important;}

/* Main shell containment. Fixes pages that were rendered as a very thin left column in mobile browser. */
body.kbm-uml-active :where(.kbm-theme-shell,.kbm-theme-main,.kbm-theme-container,.kbm-theme-content,.kbm-shell,.entry-content,.site-main,#primary,.kbm-page,.kbm-screen-shell,.kbm-home-shell,.kbm-vhub,.kbm-adsv2,.kbm-p20p-archive,.kbm-p20-archive,.kbm-provider-archive,.kbm-p23-archive,.kbm-p5r15-archive,.kbm-dashboard,.kbm-dashboard-wrap,.kbm-payment-wrap,.kbm-plans-wrap,.kbm-life-wrap){
  min-width:0!important;box-sizing:border-box!important;
}
body.kbm-uml-active.kbm-uml-surface-browser :where(.kbm-theme-shell,.kbm-theme-main,.kbm-theme-container,.kbm-theme-content,.kbm-shell,.entry-content,.site-main,#primary){
  width:min(var(--kbm-uml-shell),calc(100vw - 24px))!important;max-width:min(var(--kbm-uml-shell),calc(100vw - 24px))!important;margin-inline:auto!important;padding-inline:0!important;overflow:visible!important;
}
@media(max-width:767px){
  body.kbm-uml-active.kbm-uml-surface-browser :where(.kbm-theme-shell,.kbm-theme-main,.kbm-theme-container,.kbm-theme-content,.kbm-shell,.entry-content,.site-main,#primary){
    width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;margin-inline:auto!important;padding-inline:0!important;
  }
}

/* Unified hero/card surface. */
body.kbm-uml-active :where(.kbm-home-hero,.kbm-screen-hero,.kbm-vhub-hero,.kbm-adsv2-hero,.kbm-p20p-hero,.kbm-p20-hero,.kbm-provider-hero,.kbm-p23-hero,.kbm-p5r15-hero,.kbm-life-hero){
  width:100%!important;max-width:100%!important;margin-inline:auto!important;border-radius:22px!important;overflow:hidden!important;
}
@media(max-width:767px){
  body.kbm-uml-active :where(.kbm-home-hero,.kbm-screen-hero,.kbm-vhub-hero,.kbm-adsv2-hero,.kbm-p20p-hero,.kbm-p20-hero,.kbm-provider-hero,.kbm-p23-hero,.kbm-p5r15-hero,.kbm-life-hero){
    border-radius:18px!important;padding-inline:16px!important;
  }
}

/* Archive filters: visible in browser, usable as drawer only in app. */
body.kbm-uml-active.kbm-uml-surface-browser :where(.kbm-filter-panel,.kbm-filters,.kbm-archive-filters,.kbm-adsv2-filters,.kbm-p20p-filters,.kbm-p20-filters,.kbm-p20-v105-aside,.kbm-p20-v105-filters,.kbm-provider-filters,.kbm-p23-filters,.kbm-p5r15-sidebar,.kbm-tender-filters,.kbm-driver-filters){
  position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:auto!important;display:block!important;
}
body.kbm-uml-active.kbm-uml-surface-browser :where(.kbm-filter-backdrop,.kbm-mobile-filter-backdrop,.kbm-p20-v105-backdrop,.kbm-p20p-backdrop,.kbm-provider-backdrop,.kbm-p23-backdrop){display:none!important;pointer-events:none!important;}
body.kbm-uml-active :where(.kbm-filter-panel,.kbm-filters,.kbm-archive-filters,.kbm-adsv2-filters,.kbm-p20p-filters,.kbm-p20-filters,.kbm-p20-v105-filters,.kbm-provider-filters,.kbm-p23-filters,.kbm-tender-filters,.kbm-driver-filters) :where(input,select,textarea,button,label,[role="button"]){
  pointer-events:auto!important;touch-action:manipulation!important;position:relative;z-index:4;
}
@media(max-width:767px){
  body.kbm-uml-active :where(.kbm-filter-panel,.kbm-filters,.kbm-archive-filters,.kbm-adsv2-filters,.kbm-p20p-filters,.kbm-p20-filters,.kbm-p20-v105-filters,.kbm-provider-filters,.kbm-p23-filters,.kbm-tender-filters,.kbm-driver-filters){
    border-radius:18px!important;margin:10px 0 14px!important;padding:12px!important;background:#fff!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
  }
  body.kbm-uml-active :where(.kbm-filter-panel,.kbm-filters,.kbm-archive-filters,.kbm-adsv2-filters,.kbm-p20p-filters,.kbm-p20-filters,.kbm-p20-v105-filters,.kbm-provider-filters,.kbm-p23-filters,.kbm-tender-filters,.kbm-driver-filters) :where(input,select,textarea,button){
    width:100%!important;min-height:44px!important;font-size:14px!important;
  }
}

/* Submit forms: no bottom nav overlay, no disabled click layer, consistent width. */
body.kbm-uml-active :where(.kbm-rental-rebuild,.kbm-sale-wrap,.kbm-sale-form,.kbm-p23r,.kbm-p23r-form,.kbm-submit-form,.kbm-form-shell,.kbm-wizard,.kbm-form-card){
  position:relative!important;isolation:isolate;pointer-events:auto!important;visibility:visible!important;min-width:0!important;max-width:100%!important;overflow:visible!important;
}
body.kbm-uml-active :where(.kbm-rental-rebuild,.kbm-sale-form,.kbm-p23r-form,.kbm-submit-form,.kbm-form-shell) :where(button,a,input,select,textarea,label,[role="button"],[data-kbm-rental-choice],[data-kbm-rental-goto],[data-next],[data-back],[data-quick]){
  pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(255,204,0,.22)!important;
}
@media(max-width:767px){
  body.kbm-uml-route-submit :where(.kbm-rental-rebuild,.kbm-sale-wrap,.kbm-sale-form,.kbm-p23r,.kbm-submit-form,.kbm-form-shell){width:100%!important;max-width:100%!important;margin-inline:auto!important;}
  body.kbm-uml-route-submit :where(.kbm-rental-card,.kbm-rental-step,.kbm-sale-field,.kbm-p23r-card,.kbm-form-card){border-radius:18px!important;overflow:visible!important;}
  body.kbm-uml-route-submit :where(.kbm-rental-actions,.kbm-p23r-actions,.kbm-form-actions){position:relative!important;bottom:auto!important;margin-top:12px!important;z-index:5!important;}
}

/* Dashboard: fix very narrow left-column layout. */
body.kbm-uml-route-dashboard :where(.kbm-life-wrap,.kbm-dashboard,.kbm-dashboard-wrap,.kbm-user-dashboard,.kbm-panel,.kbm-panel-wrap,.kbm-p8-dashboard,.kbm-p8-shell){
  width:100%!important;max-width:100%!important;margin-inline:auto!important;overflow:visible!important;
}
@media(max-width:767px){
  body.kbm-uml-route-dashboard :where(.kbm-life-stats,.kbm-dashboard-stats,.kbm-stat-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  body.kbm-uml-route-dashboard :where(.kbm-life-grid,.kbm-dashboard-grid,.kbm-dashboard-list){display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  body.kbm-uml-route-dashboard :where(.kbm-life-quick,.kbm-dashboard-actions,.kbm-dashboard-tabs){display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body.kbm-uml-route-dashboard :where(.kbm-life-card,.kbm-dashboard-card,.kbm-panel-card){width:100%!important;max-width:100%!important;margin-inline:0!important;}
}

/* Providers/services cards: prevent huge empty media blocks and off-screen CTA. */
body.kbm-uml-route-providers :where(.kbm-provider-card,.kbm-p23-card,.kbm-provider-item,.kbm-p23-item,.kbm-service-card){min-height:0!important;overflow:hidden!important;}
body.kbm-uml-route-providers :where(.kbm-provider-card figure,.kbm-provider-card .media,.kbm-provider-card .image,.kbm-p23-card figure,.kbm-p23-card .media,.kbm-p23-card .image,.kbm-provider-media,.kbm-p23-media){
  min-height:0!important;height:clamp(150px,45vw,220px)!important;max-height:220px!important;overflow:hidden!important;background:#eef4f9!important;border-radius:18px 18px 0 0!important;
}
body.kbm-uml-route-providers :where(.kbm-provider-card img,.kbm-p23-card img,.kbm-provider-media img,.kbm-p23-media img){width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
body.kbm-uml-route-providers :where(.kbm-provider-card .kbm-btn,.kbm-p23-card .kbm-btn,.kbm-provider-card a[href],.kbm-p23-card a[href]){position:relative;z-index:5;}

/* Drivers/tenders readability. */
body.kbm-uml-route-drivers :where(.kbm-driver-hero,.kbm-p4-hero,.kbm-drivers-hero) h1,
body.kbm-uml-route-drivers :where(.kbm-driver-hero,.kbm-p4-hero,.kbm-drivers-hero) h2,
body.kbm-uml-route-drivers :where(.kbm-driver-hero,.kbm-p4-hero,.kbm-drivers-hero) p{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.45)!important;}
body.kbm-uml-route-tenders :where(.kbm-tender-card,.kbm-p5-card,.kbm-tender-item){overflow:hidden!important;}
body.kbm-uml-route-tenders :where(.kbm-tender-card .kbm-btn,.kbm-p5-card .kbm-btn,.kbm-tender-item a){width:100%!important;}

/* Payment/plans: table scroll, CTA visible, no footer overlap. */
body.kbm-uml-route-payment :where(.kbm-plans-wrap,.kbm-payment-wrap,.kbm-plan-table,.kbm-plans-table,.kbm-plan-comparison){width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
body.kbm-uml-route-payment :where(table){max-width:100%!important;}
@media(max-width:767px){
  body.kbm-uml-route-payment :where(.kbm-plan-card,.kbm-payment-card,.kbm-order-summary,.kbm-plan-summary){border-radius:18px!important;}
  body.kbm-uml-route-payment :where(.kbm-payment-submit,.kbm-pay-button,.kbm-zibal-button,button[type="submit"]){width:100%!important;min-height:48px!important;}
}

/* OTP/login modal: never render outside viewport. */
@media(max-width:767px){
  body.kbm-uml-active :where(.kbm-auth-modal,.kbm-auth-dialog,.kbm-login-modal,.kbm-otp-modal,.kbm-otp-dialog,.kbm-auth-card,.kbm-login-card,.kbm-p8-auth,.kbm-p8-auth-card,.kbm-p8-otp-card,[class*="auth-modal"],[class*="otp-modal"]){
    width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;right:12px!important;left:12px!important;margin-inline:auto!important;transform:none!important;border-radius:20px!important;
  }
  body.kbm-uml-active :where(.kbm-auth-modal input,.kbm-login-modal input,.kbm-otp-modal input,.kbm-auth-card input,.kbm-p8-auth input){width:100%!important;max-width:100%!important;}
}
