/* KBM Theme Core rc.75 — Google Maps responsive shell bridge.
 * Core owns all map data/rendering/interaction; Theme owns only route-shell
 * geometry, safe-area behavior and header/appbar layering. */
body.kbm-theme-core.kbm-google-maps-authority-1999{
  --kbm-theme-map-rail:min(1180px,calc(100vw - 28px));
  --kbm-theme-map-radius:22px;
}
body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-contact-map-shell,.kbm-map-picker-card,.kbm-provider-google-map-card){
  max-width:100%;min-width:0;box-sizing:border-box;
}
body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-google-map-canvas,.kbm-contact-map-canvas){
  max-width:100%;min-width:0;overflow:hidden;isolation:isolate;
}
body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-contact-map-shell{
  width:var(--kbm-theme-map-rail);margin-inline:auto;
}
body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-provider-google-map-card{
  width:100%;margin-inline:auto;
}
body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-map-picker-card{
  width:100%;overflow:hidden;
}
/* Google controls must remain under the canonical header/drawer/appbar layers. */
body.kbm-theme-core.kbm-google-maps-authority-1999 .gm-style,
body.kbm-theme-core.kbm-google-maps-authority-1999 .gm-style iframe{z-index:0!important}
body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-theme-header{z-index:10020!important}
body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-theme-mobile-appbar,.kbm-theme-mobile-more){z-index:10030!important}

@media(max-width:980px){
 body.kbm-theme-core.kbm-google-maps-authority-1999{--kbm-theme-map-rail:calc(100vw - 20px)}
 body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-contact-map-shell{margin-block:14px 20px}
 body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-google-map-canvas,.kbm-contact-map-canvas){
   width:100%;min-height:300px;border-radius:18px;
 }
 body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-map-picker-card{border-radius:20px}
 body.kbm-theme-core.kbm-google-maps-authority-1999 .kbm-provider-google-map-card{border-radius:20px}
 body.kbm-theme-core.kbm-google-maps-authority-1999.kbm-theme-has-mobile-appbar :where(.kbm-contact-map-shell,.kbm-provider-google-map-card){
   margin-bottom:max(24px,env(safe-area-inset-bottom));
 }
}
@media(max-width:600px){
 body.kbm-theme-core.kbm-google-maps-authority-1999{--kbm-theme-map-rail:calc(100vw - 16px)}
 body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-google-map-canvas,.kbm-contact-map-canvas){min-height:270px;border-radius:16px}
 body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-contact-map-tabs,.kbm-map-public-actions,.kbm-map-picker-tools){max-width:100%;min-width:0}
 body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-contact-map-tabs,.kbm-map-public-actions,.kbm-map-picker-tools) :where(a,button){min-height:44px}
}
/* The focused provider form keeps the map inside its canonical form rail. */
body.kbm-theme-core.kbm-theme-clean-submit-viewport-26.kbm-google-maps-authority-1999 .kbm-map-picker-card{
  margin-inline:0;max-width:100%;
}
@media(prefers-reduced-motion:reduce){
 body.kbm-theme-core.kbm-google-maps-authority-1999 :where(.kbm-contact-map-shell,.kbm-map-picker-card,.kbm-provider-google-map-card) *{scroll-behavior:auto!important}
}
