/* =========================================================
   V7.6 — Carte premium compacte façon app mobile
   Objectif : aucun scroll sur la carte, barre courte, live toggle visible
   ========================================================= */
.kb-map-page + .kb-footer{display:none!important;}
body:has(.kb-map-page-v76){overflow:hidden;background:#eef4f8;}
.kb-map-page-v76{height:calc(100dvh - 88px);overflow:hidden;background:linear-gradient(180deg,#f5fbff 0%,#e8f2f8 100%);}
.kb-map-shell--premium{position:relative;height:calc(100dvh - 88px)!important;min-height:0!important;overflow:hidden!important;background:#e8f2f8;}
.kb-map-v76{position:absolute!important;inset:0!important;height:100%!important;min-height:0!important;border-radius:0!important;z-index:1;background:#e8f2f8;}
.kb-map-v76 .leaflet-control-zoom{box-shadow:0 16px 38px rgba(15,23,42,.16)!important;border-radius:16px!important;overflow:hidden!important;border:1px solid rgba(226,232,240,.9)!important;}
.kb-map-v76 .leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:1.35rem!important;color:#0f172a!important;background:#fff!important;}
.kb-map-v76 .leaflet-control-attribution{font-size:.72rem!important;background:rgba(255,255,255,.86)!important;border-radius:12px 0 0 0!important;}

/* Panneau haut */
.kb-map-panel-v76{position:absolute!important;top:16px!important;left:18px!important;right:18px!important;width:auto!important;z-index:1200!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:24px!important;box-shadow:0 22px 60px rgba(15,23,42,.14)!important;overflow:visible!important;transition:transform .28s ease,opacity .28s ease,visibility .28s ease!important;}
.kb-map-panel-v76.is-collapsed{transform:translateY(calc(-100% - 24px))!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.kb-map-panel-head-v76{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px 22px 14px!important;border-bottom:1px solid rgba(226,232,240,.95)!important;}
.kb-map-title-line{display:flex;align-items:center;gap:14px;min-width:0;}
.kb-map-panel-icon-v76{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,#00a35c,#005fae);box-shadow:0 16px 28px rgba(0,131,92,.28);flex:0 0 auto;}
.kb-map-title-text{min-width:0;}
.kb-map-title-text h1{font-size:1.55rem;line-height:1.08;margin:0 0 3px;color:#0f172a;font-weight:900;letter-spacing:-.035em;}
.kb-map-title-text p{margin:0;color:#64748b;font-size:.98rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kb-map-head-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.kb-map-round-btn{width:50px;height:50px;display:grid;place-items:center;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:#fff;color:#0f172a;box-shadow:0 10px 24px rgba(15,23,42,.08);font-size:1.1rem;transition:.18s ease;}
.kb-map-round-btn:hover,.kb-map-round-btn.is-active{color:#007b52;border-color:rgba(0,153,92,.35);box-shadow:0 12px 30px rgba(0,153,92,.15);}
.kb-map-panel-body-v76{padding:16px 22px 18px!important;overflow:visible!important;max-height:none!important;}
.kb-map-search-main{position:relative;}
.kb-map-search-wrap{position:relative;display:flex;align-items:center;}
.kb-map-search-wrap>i{position:absolute;left:18px;z-index:2;color:#64748b;font-size:1.05rem;}
.kb-map-search-wrap .kb-input{height:56px!important;border-radius:17px!important;padding-left:50px!important;border:1px solid #dbe3ec!important;box-shadow:none!important;background:#fff!important;font-weight:700;color:#0f172a!important;}
.kb-map-search-wrap .kb-input:focus{border-color:#00a875!important;box-shadow:0 0 0 .22rem rgba(0,168,117,.13)!important;}
.kb-map-quick-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;margin-top:12px;align-items:center;}
.kb-selected-chips-v76{display:flex;align-items:center;gap:8px;min-height:50px;overflow:hidden;}
.kb-selected-chips-v76:empty::before{content:'Aucun filtre sélectionné';color:#94a3b8;font-weight:700;font-size:.92rem;border:1px dashed #dbe3ec;border-radius:15px;padding:.72rem 1rem;background:#fff;}
.kb-service-chip{border:1px solid rgba(0,153,92,.22);background:#ecfdf5;color:#087047;border-radius:15px;min-height:48px;padding:.65rem .82rem;display:inline-flex;align-items:center;gap:.55rem;font-weight:800;max-width:100%;white-space:nowrap;}
.kb-service-chip i:last-child{color:#0f172a;opacity:.72;}
.kb-address-compact{position:relative;display:flex;align-items:center;height:50px;border:1px solid #dbe3ec;background:#fff;border-radius:15px;padding:0 42px 0 42px;min-width:0;}
.kb-address-compact>i.fa-location-dot{position:absolute;left:15px;color:#0f172a;opacity:.78;}
.kb-address-compact .kb-input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:46px!important;min-height:46px!important;font-weight:800;color:#0f172a!important;}
.kb-address-ok{display:none;}
.kb-address-chevron{position:absolute;right:15px;color:#0f172a;opacity:.7;}
.kb-autocomplete{position:absolute!important;left:22px!important;right:22px!important;top:calc(100% - 14px)!important;z-index:2200!important;background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:18px!important;box-shadow:0 24px 60px rgba(15,23,42,.18)!important;max-height:240px!important;overflow:auto!important;padding:6px!important;}
.kb-autocomplete-item{width:100%;border:0;background:#fff;text-align:left;border-radius:14px;padding:.72rem .82rem;display:flex;align-items:center;gap:.75rem;color:#0f172a;}
.kb-autocomplete-item:hover{background:#f0fdf4;}
.kb-autocomplete-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ecfdf5;color:#008a55;flex:0 0 auto;}
.kb-autocomplete-main{display:flex;flex-direction:column;min-width:0;}
.kb-autocomplete-main strong{font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kb-autocomplete-main small{font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kb-autocomplete-pill,.kb-autocomplete-add{margin-left:auto;background:#f1f5f9;color:#0f172a;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:900;}
.kb-autocomplete-status{padding:.9rem 1rem;color:#64748b;font-weight:700;}
.kb-autocomplete-status.is-error{color:#b91c1c;background:#fff1f2;border-radius:14px;}

/* Bouton flottant pour rouvrir */
.kb-map-fab-tools-v76{position:absolute!important;top:16px!important;left:18px!important;z-index:1190!important;display:none;align-items:center;gap:10px;border:0;border-radius:20px;background:linear-gradient(135deg,#008a55,#00b878);color:#fff;padding:14px 18px;font-weight:900;box-shadow:0 20px 44px rgba(0,137,85,.27);}
.kb-map-fab-tools-v76.is-visible{display:flex;}

/* Barre du bas */
.kb-map-bottom-bar{position:absolute;left:22px;right:22px;bottom:92px;z-index:1050;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.95);border-radius:20px;padding:17px 20px;box-shadow:0 20px 52px rgba(15,23,42,.14);}
.kb-radius-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;color:#0f172a;}
.kb-radius-row strong{font-size:1.02rem;white-space:nowrap;}
.kb-radius-row strong span{color:#00915c;font-weight:900;}
.kb-radius-range{accent-color:#00a36b;}
.kb-radius-range::-webkit-slider-thumb{background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 8px 22px rgba(15,23,42,.18)!important;width:28px!important;height:28px!important;margin-top:-10px!important;}
.kb-radius-range::-webkit-slider-runnable-track{height:7px!important;border-radius:999px!important;background:linear-gradient(90deg,#00a36b 0%,#00a36b 48%,#e5e7eb 48%,#e5e7eb 100%)!important;}
.kb-live-toggle{display:inline-flex;align-items:center;gap:8px;color:#64748b;font-weight:800;font-size:.92rem;cursor:pointer;white-space:nowrap;}
.kb-live-toggle input{position:absolute;opacity:0;pointer-events:none;}
.kb-live-dot{width:15px;height:15px;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 4px rgba(203,213,225,.18);}
.kb-live-toggle.is-on .kb-live-dot{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.18);}
.kb-live-toggle.is-on span:last-child{color:#0f766e;}
.kb-map-result-card{position:absolute;left:22px;right:22px;bottom:18px;z-index:1050;border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.97);border-radius:19px;padding:15px 18px;display:flex;align-items:center;gap:14px;text-align:left;color:#0f172a;box-shadow:0 20px 52px rgba(15,23,42,.12);}
.kb-result-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#ecfdf5;color:#008a55;font-size:1.2rem;flex:0 0 auto;}
.kb-result-copy{display:flex;flex-direction:column;min-width:0;}
.kb-result-copy strong{font-size:1rem;line-height:1.12;}
.kb-result-copy small{color:#64748b;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kb-result-chevron{margin-left:auto;color:#0f172a;opacity:.78;}
.kb-map-hidden-results{display:none!important;}

/* Marqueurs */
.kb-marker{width:44px;height:44px;border-radius:18px;background:linear-gradient(135deg,#008a55,#00b878);color:#fff;border:4px solid #fff;box-shadow:0 18px 34px rgba(15,23,42,.24);display:grid;place-items:center;font-weight:900;font-size:.92rem;}
.kb-popup{min-width:250px;font-family:inherit;}
.kb-popup-head{display:flex;gap:12px;align-items:center;}
.kb-avatar{width:62px;height:62px;border-radius:20px;object-fit:cover;border:3px solid #fff;box-shadow:0 10px 24px rgba(15,23,42,.14);}
.kb-avatar-initials{display:grid;place-items:center;background:linear-gradient(135deg,#007d59,#2563eb);color:#fff;font-weight:900;}
.kb-popup-title{font-size:1rem;color:#0f172a;}
.kb-popup-job{color:#475569;font-weight:700;}
.kb-popup-rating{display:flex;align-items:center;gap:6px;margin-top:2px;}
.kb-stars{letter-spacing:.02em;color:#f59e0b;}
.kb-rating-score{font-size:.82rem;color:#475569;font-weight:700;}
.kb-popup-actions{display:flex;align-items:center;gap:10px;margin-top:12px;}
.kb-popup-primary-action{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:900!important;}
.kb-availability-badge{border-radius:999px;padding:.45rem .72rem;background:#ecfdf5;color:#007a4e;font-weight:900;font-size:.82rem;}

@media(max-width:768px){
  body:has(.kb-map-page-v76){overflow:hidden!important;}
  .kb-map-page-v76{height:calc(100dvh - 78px)!important;}
  .kb-map-shell--premium{height:calc(100dvh - 78px)!important;}
  .kb-map-panel-v76{top:8px!important;left:10px!important;right:10px!important;border-radius:22px!important;}
  .kb-map-panel-head-v76{padding:11px 12px 9px!important;}
  .kb-map-panel-icon-v76{width:46px;height:46px;border-radius:15px;}
  .kb-map-title-text h1{font-size:1.15rem!important;}
  .kb-map-title-text p{font-size:.8rem!important;}
  .kb-map-head-actions{gap:6px;}
  .kb-map-round-btn{width:42px;height:42px;border-radius:15px;font-size:1rem;}
  .kb-map-panel-body-v76{padding:10px 12px 12px!important;}
  .kb-map-search-wrap .kb-input{height:46px!important;min-height:46px!important;border-radius:15px!important;padding-left:42px!important;font-size:.93rem!important;}
  .kb-map-search-wrap>i{left:14px;font-size:.95rem;}
  .kb-map-quick-row{grid-template-columns:1fr;gap:8px;margin-top:8px;}
  .kb-selected-chips-v76{min-height:0;max-height:50px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;}
  .kb-selected-chips-v76::-webkit-scrollbar{display:none;}
  .kb-selected-chips-v76:empty{display:none;}
  .kb-service-chip{min-height:40px;border-radius:13px;padding:.52rem .68rem;font-size:.86rem;}
  .kb-address-compact{height:44px;border-radius:14px;padding-left:38px;padding-right:36px;}
  .kb-address-compact .kb-input{height:42px!important;min-height:42px!important;font-size:.9rem!important;}
  .kb-autocomplete{left:12px!important;right:12px!important;max-height:200px!important;top:calc(100% - 7px)!important;}
  .kb-map-bottom-bar{left:10px;right:10px;bottom:88px;border-radius:18px;padding:12px 14px;}
  .kb-radius-row{margin-bottom:7px;gap:10px;}
  .kb-radius-row strong{font-size:.88rem;}
  .kb-live-toggle{font-size:.76rem;gap:6px;max-width:47%;white-space:normal;line-height:1.15;justify-content:flex-end;text-align:right;}
  .kb-live-dot{width:12px;height:12px;flex:0 0 auto;}
  .kb-map-result-card{left:10px;right:10px;bottom:16px;border-radius:17px;padding:11px 13px;}
  .kb-result-icon{width:42px;height:42px;border-radius:14px;}
  .kb-result-copy strong{font-size:.88rem;}
  .kb-result-copy small{font-size:.78rem;}
  .kb-map-fab-tools-v76{top:10px!important;left:10px!important;padding:11px 14px;border-radius:16px;}
}
@media(max-width:390px){
  .kb-map-title-text h1{font-size:1.05rem!important;}
  .kb-map-title-text p{display:none;}
  .kb-map-panel-head-v76{padding:9px 10px 8px!important;}
  .kb-map-panel-body-v76{padding:8px 10px 10px!important;}
  .kb-map-round-btn{width:38px;height:38px;border-radius:14px;}
  .kb-map-panel-icon-v76{width:42px;height:42px;}
  .kb-live-toggle span:last-child{max-width:120px;}
}

/* ================================================================
   V7.8 - Carte ultra compacte : statut haut droit + périmètre bas discret
   ================================================================ */
.kb-map-shell--premium{overflow:hidden!important;}
.kb-map-panel-v76{transition:transform .22s ease, opacity .22s ease, visibility .22s ease!important;}
.kb-map-panel-v76.is-collapsed{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-18px) scale(.98)!important;}
.kb-map-fab-tools-v76{box-shadow:0 18px 50px rgba(0,137,85,.28)!important;}
.kb-map-fab-tools-v76 span{font-weight:950!important;}

/* Statut discret en haut à droite : visible uniquement quand la barre est masquée */
.kb-map-floating-status{
  position:absolute;
  top:14px;
  right:14px;
  z-index:1185;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.kb-map-shell--premium.is-panel-collapsed .kb-map-floating-status{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.kb-live-toggle-floating{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  border:1px solid rgba(226,232,240,.9);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:999px;
  padding:9px 12px;
  box-shadow:0 14px 34px rgba(15,23,42,.13);
  color:#475569!important;
  font-weight:900!important;
  font-size:.82rem!important;
  line-height:1;
  white-space:nowrap!important;
}
.kb-live-toggle-floating .kb-live-dot{width:12px;height:12px;box-shadow:0 0 0 4px rgba(203,213,225,.18)!important;}
.kb-live-toggle-floating.is-on{border-color:rgba(0,168,117,.26);background:rgba(236,253,245,.92);color:#057a55!important;}
.kb-live-toggle-floating.is-on .kb-live-dot{background:#10b981!important;box-shadow:0 0 0 5px rgba(16,185,129,.18)!important;}
.kb-map-result-pill{
  border:1px solid rgba(226,232,240,.9);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  color:#0f172a;
  border-radius:999px;
  min-height:38px;
  padding:7px 11px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  box-shadow:0 14px 34px rgba(15,23,42,.13);
  font-weight:950;
}
.kb-map-result-pill i{color:#008a55;}
.kb-map-result-pill strong{font-size:.9rem;line-height:1;}
.kb-map-result-pill small{font-size:.68rem;color:#64748b;font-weight:900;line-height:1;text-transform:lowercase;}

/* Périmètre : discret, transparent, tout en bas */
.kb-map-bottom-bar{
  left:50%!important;
  right:auto!important;
  bottom:14px!important;
  width:min(640px, calc(100% - 28px))!important;
  transform:translateX(-50%)!important;
  z-index:1045!important;
  background:rgba(255,255,255,.70)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  padding:9px 13px 11px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.13)!important;
}
.kb-radius-row{margin:0 0 4px!important;}
.kb-radius-row strong{font-size:.86rem!important;letter-spacing:.01em;color:#0f172a!important;opacity:.92;}
.kb-radius-row strong span{font-size:.98rem!important;color:#008a55!important;}
.kb-radius-range{height:18px!important;margin:0!important;display:block!important;}
.kb-radius-range::-webkit-slider-runnable-track{height:5px!important;background:linear-gradient(90deg,#00a36b 0%,#00a36b 48%,rgba(226,232,240,.9) 48%,rgba(226,232,240,.9) 100%)!important;}
.kb-radius-range::-webkit-slider-thumb{width:22px!important;height:22px!important;margin-top:-8px!important;}

/* Ancien gros bloc résultats : forcé masqué au cas où */
.kb-map-result-card{display:none!important;}

/* Vraie épingle visuelle */
#kbPanelPin .fa-thumbtack{transform:rotate(-18deg);}
#kbPanelPin.is-active{background:#ecfdf5!important;color:#007a4e!important;border-color:rgba(0,168,117,.25)!important;}

@media(max-width:768px){
  .kb-map-floating-status{top:10px;right:10px;gap:6px;max-width:calc(100% - 150px);}
  .kb-live-toggle-floating{padding:8px 9px;font-size:.72rem!important;max-width:150px;overflow:hidden;text-overflow:ellipsis;}
  .kb-map-result-pill{min-height:34px;padding:6px 9px;gap:5px;}
  .kb-map-result-pill strong{font-size:.82rem;}
  .kb-map-result-pill small{display:none;}
  .kb-map-bottom-bar{bottom:12px!important;width:calc(100% - 20px)!important;border-radius:16px!important;padding:7px 10px 9px!important;}
  .kb-radius-row strong{font-size:.78rem!important;}
  .kb-radius-row strong span{font-size:.88rem!important;}
  .kb-radius-range::-webkit-slider-thumb{width:20px!important;height:20px!important;margin-top:-7px!important;}
}
@media(max-width:390px){
  .kb-live-toggle-floating span:last-child{display:none;}
  .kb-live-toggle-floating{width:36px;height:36px;justify-content:center;padding:0!important;}
  .kb-map-result-pill{height:36px;}
}


/* ================================================================
   V7.12 - Carte ergonomie fixe dans la section map
   - Le footer ne passe plus sous les boutons flottants.
   - Les overlays restent attachés à la carte, pas à la page.
   - Panneau haut fixé en haut de la carte avec marge légère.
   - Périmètre discret fixé en bas de la carte.
   ================================================================ */
:root{
  --kb-map-header-offset: 88px;
  --kb-map-outer-gap: 10px;
  --kb-map-radius-shell: 24px;
}

/* Carte = page plein écran sous le header, sans footer ni scroll parasite */
body:has(.kb-map-page-v76){
  overflow:hidden!important;
  background:linear-gradient(180deg,#edf8ff 0%,#e9f2f7 100%)!important;
}
body:has(.kb-map-page-v76) .kb-footer,
body:has(.kb-map-page-v76) footer,
.kb-map-page-v76 + .kb-footer,
.kb-map-page-v76 ~ .kb-footer{
  display:none!important;
}

.kb-map-page-v76{
  height:calc(100svh - var(--kb-map-header-offset))!important;
  min-height:520px!important;
  overflow:hidden!important;
  padding:var(--kb-map-outer-gap)!important;
  background:linear-gradient(180deg,#edf8ff 0%,#e9f2f7 100%)!important;
}

.kb-map-shell--premium{
  position:relative!important;
  height:calc(100svh - var(--kb-map-header-offset) - (var(--kb-map-outer-gap) * 2))!important;
  min-height:500px!important;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border-radius:var(--kb-map-radius-shell)!important;
  border:1px solid rgba(103,232,249,.24)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.14)!important;
  background:#dff0f8!important;
  isolation:isolate!important;
}

.kb-map-v76{
  position:absolute!important;
  inset:0!important;
  height:100%!important;
  width:100%!important;
  z-index:1!important;
  border-radius:inherit!important;
}

/* Panneau haut : toujours dans la carte, jamais sur le menu du site */
.kb-map-panel-v76{
  top:12px!important;
  left:14px!important;
  right:14px!important;
  z-index:30!important;
  max-height:calc(100% - 122px)!important;
  overflow:visible!important;
  border-radius:22px!important;
}
.kb-map-panel-v76.is-collapsed{
  transform:translateY(-14px) scale(.985)!important;
}
.kb-map-fab-tools-v76{
  top:14px!important;
  left:14px!important;
  z-index:31!important;
}

/* Quand le panneau est visible, les mini statuts haut droit disparaissent vraiment. */
.kb-map-floating-status{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:29!important;
  max-width:min(520px, calc(100% - 190px))!important;
}
.kb-map-shell--premium:not(.is-panel-collapsed) .kb-map-floating-status{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-8px)!important;
}
.kb-map-shell--premium.is-panel-collapsed .kb-map-floating-status{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

/* Périmètre : discret, transparent, fixé en bas de la carte. */
.kb-map-bottom-bar{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:12px!important;
  width:min(680px, calc(100% - 28px))!important;
  transform:translateX(-50%)!important;
  z-index:28!important;
  background:rgba(255,255,255,.66)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  padding:8px 12px 10px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.14)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.kb-radius-row{margin-bottom:3px!important;}
.kb-radius-row strong{font-size:.84rem!important;opacity:.92!important;}
.kb-radius-row strong span{font-size:.95rem!important;color:#008a55!important;}
.kb-radius-range{height:18px!important;margin:0!important;}
.kb-radius-range::-webkit-slider-runnable-track{height:5px!important;}
.kb-radius-range::-webkit-slider-thumb{width:21px!important;height:21px!important;margin-top:-8px!important;}

/* Contrôles Leaflet : au-dessus de la barre du bas, sans collision. */
.kb-map-v76 .leaflet-bottom.leaflet-right{
  bottom:72px!important;
  right:12px!important;
}
.kb-map-v76 .leaflet-control-attribution{
  max-width:calc(100vw - 34px)!important;
}

/* Le vieux bloc résultats reste masqué. */
.kb-map-result-card,
.kb-map-hidden-results{
  display:none!important;
}

@media (min-width: 992px){
  :root{--kb-map-outer-gap:14px;}
  .kb-map-page-v76{padding:14px!important;}
  .kb-map-shell--premium{border-radius:28px!important;}
  .kb-map-panel-v76{top:16px!important;left:18px!important;right:18px!important;}
  .kb-map-fab-tools-v76{top:18px!important;left:18px!important;}
  .kb-map-floating-status{top:18px!important;right:18px!important;}
  .kb-map-bottom-bar{bottom:16px!important;}
  .kb-map-v76 .leaflet-bottom.leaflet-right{bottom:80px!important;right:16px!important;}
}

@media (max-width: 768px){
  :root{
    --kb-map-header-offset: 82px;
    --kb-map-outer-gap: 8px;
    --kb-map-radius-shell: 20px;
  }
  .kb-map-page-v76{min-height:calc(100svh - var(--kb-map-header-offset))!important;}
  .kb-map-shell--premium{min-height:calc(100svh - var(--kb-map-header-offset) - 16px)!important;}
  .kb-map-panel-v76{top:8px!important;left:8px!important;right:8px!important;border-radius:18px!important;max-height:calc(100% - 104px)!important;}
  .kb-map-panel-head-v76{padding:10px 11px 8px!important;}
  .kb-map-panel-body-v76{padding:9px 11px 10px!important;}
  .kb-map-title-text h1{font-size:1.18rem!important;}
  .kb-map-title-text p{font-size:.78rem!important;}
  .kb-map-panel-icon-v76{width:40px!important;height:40px!important;border-radius:14px!important;}
  .kb-map-round-btn{width:38px!important;height:38px!important;border-radius:14px!important;}
  .kb-map-search-wrap .kb-input{height:48px!important;}
  .kb-address-compact{height:46px!important;}

  .kb-map-fab-tools-v76{top:10px!important;left:10px!important;z-index:31!important;padding:11px 14px!important;border-radius:17px!important;}
  .kb-map-floating-status{top:10px!important;right:10px!important;max-width:calc(100% - 130px)!important;z-index:29!important;}
  .kb-live-toggle-floating{height:34px!important;padding:0 9px!important;}
  .kb-map-result-pill{height:34px!important;min-height:34px!important;padding:0 10px!important;}
  .kb-map-bottom-bar{bottom:9px!important;width:calc(100% - 18px)!important;border-radius:15px!important;padding:6px 9px 8px!important;}
  .kb-map-v76 .leaflet-bottom.leaflet-right{bottom:62px!important;right:8px!important;}
}

@media (max-width: 420px){
  .kb-map-title-text p{display:none!important;}
  .kb-map-quick-row{grid-template-columns:1fr!important;gap:8px!important;}
  .kb-selected-chips-v76{min-height:38px!important;}
  .kb-selected-chips-v76:empty::before{padding:.55rem .75rem!important;font-size:.78rem!important;}
  .kb-address-compact{height:42px!important;}
  .kb-map-panel-v76{max-height:calc(100% - 96px)!important;}
  .kb-map-bottom-bar{padding:5px 8px 7px!important;}
  .kb-radius-row strong{font-size:.74rem!important;}
}

/* ================================================================
   V7.46 - Demandes clients sur carte + toggle discret
   ================================================================ */
.kb-map-client-requests-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:10px 14px;
  border:1px solid rgba(226,232,240,.95);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(239,246,255,.94),rgba(236,253,245,.88));
}
.kb-map-client-requests-toggle small{color:#64748b;font-weight:700;line-height:1.25;text-align:right;max-width:58%;}
.kb-show-requests-toggle{font-weight:900;color:#0f172a;}
.kb-show-requests-toggle .kb-show-all-track{background:#dbeafe!important;}
.kb-show-requests-toggle input:checked + .kb-show-all-track{background:#14b8a6!important;}
.kb-marker.is-client-request{background:linear-gradient(135deg,#2563eb,#7c3aed)!important;border-radius:16px;box-shadow:0 18px 38px rgba(37,99,235,.28);}
.kb-marker.is-client-request .kb-marker-initials{font-size:1.05rem;}
.kb-popup-request .kb-avatar-request{background:linear-gradient(135deg,#2563eb,#7c3aed);}
.kb-request-badge,.kb-provider-option-badge.is-request{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .62rem;background:#eef2ff;color:#3730a3;font-weight:900;font-size:.78rem;}
.kb-provider-option.is-request{background:linear-gradient(135deg,#f8fafc,#eef2ff)!important;}
.kb-provider-option.is-request:hover{background:#eef2ff!important;}
.kb-demand-summary-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.kb-client-demand-card{display:flex;flex-direction:column;}
@media(max-width:768px){
  .kb-map-client-requests-toggle{align-items:flex-start;flex-direction:column;padding:9px 10px;margin-top:8px;}
  .kb-map-client-requests-toggle small{max-width:100%;text-align:left;font-size:.78rem;}
  .kb-dir-rtl .kb-map-client-requests-toggle small{text-align:right;}
}

/* ================================================================
   V7.47 - Carte : filtres plus ergonomiques + vrais toggles + boutons périmètre
   ================================================================ */
.kb-map-display-mode{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:12px!important;
  padding:10px 14px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(248,250,252,.94))!important;
}
.kb-map-display-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.kb-map-display-copy strong{
  color:#0f172a!important;
  font-size:.96rem!important;
  font-weight:950!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.kb-map-display-copy small{
  color:#64748b!important;
  font-size:.75rem!important;
  font-weight:800!important;
  line-height:1.22!important;
}
.kb-show-all-toggle{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  margin:0!important;
  cursor:pointer!important;
  font-weight:950!important;
  color:#334155!important;
  user-select:none!important;
  white-space:nowrap!important;
}
.kb-show-all-toggle input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}
.kb-show-all-track{
  width:50px!important;
  height:30px!important;
  padding:3px!important;
  border-radius:999px!important;
  background:#cbd5e1!important;
  border:1px solid rgba(148,163,184,.45)!important;
  box-shadow:inset 0 2px 6px rgba(15,23,42,.12)!important;
  transition:.18s ease!important;
}
.kb-show-all-track span{
  display:block!important;
  width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(15,23,42,.16)!important;
  transform:translateX(0)!important;
  transition:.18s ease!important;
}
.kb-show-all-toggle input:checked + .kb-show-all-track{
  background:#009f6b!important;
  border-color:rgba(0,159,107,.45)!important;
}
.kb-show-all-toggle input:checked + .kb-show-all-track span{
  transform:translateX(20px)!important;
}
.kb-dir-rtl .kb-show-all-toggle input:checked + .kb-show-all-track span,
html[dir="rtl"] .kb-show-all-toggle input:checked + .kb-show-all-track span{
  transform:translateX(-20px)!important;
}
.kb-map-client-requests-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:10px!important;
  padding:10px 14px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(236,253,245,.82))!important;
}
.kb-map-client-requests-toggle small{
  flex:1 1 auto!important;
  min-width:0!important;
  color:#64748b!important;
  font-weight:800!important;
  line-height:1.24!important;
  text-align:right!important;
  max-width:58%!important;
}
.kb-show-requests-toggle{
  justify-content:flex-start!important;
  color:#0f172a!important;
}
.kb-radius-presets{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 7px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,137,85,.35) rgba(226,232,240,.55)!important;
}
.kb-radius-presets::-webkit-scrollbar{height:6px!important;}
.kb-radius-presets::-webkit-scrollbar-track{background:rgba(226,232,240,.55)!important;border-radius:999px!important;}
.kb-radius-presets::-webkit-scrollbar-thumb{background:rgba(0,137,85,.38)!important;border-radius:999px!important;}
.kb-radius-btn{
  flex:0 0 auto!important;
  min-height:38px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:.45rem .85rem!important;
  font-weight:950!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.kb-radius-btn.is-active,
.kb-radius-btn:hover{
  background:#009f6b!important;
  color:#fff!important;
  border-color:#009f6b!important;
}
.kb-selected-chips-v76{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,137,85,.35) transparent!important;
}
.kb-selected-chips-v76::-webkit-scrollbar{height:6px!important;}
.kb-selected-chips-v76::-webkit-scrollbar-thumb{background:rgba(0,137,85,.38)!important;border-radius:999px!important;}
.kb-service-chip{flex:0 0 auto!important;}
@media(max-width:768px){
  .kb-map-display-mode{
    align-items:center!important;
    padding:9px 10px!important;
    gap:8px!important;
  }
  .kb-map-display-copy strong{font-size:.9rem!important;}
  .kb-map-display-copy small{
    display:none!important;
  }
  .kb-show-all-toggle{
    gap:7px!important;
    font-size:.9rem!important;
  }
  .kb-show-all-track{width:46px!important;height:28px!important;}
  .kb-show-all-track span{width:20px!important;height:20px!important;}
  .kb-show-all-toggle input:checked + .kb-show-all-track span{transform:translateX(18px)!important;}
  .kb-dir-rtl .kb-show-all-toggle input:checked + .kb-show-all-track span,
  html[dir="rtl"] .kb-show-all-toggle input:checked + .kb-show-all-track span{transform:translateX(-18px)!important;}
  .kb-map-client-requests-toggle{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:9px 10px!important;
    gap:7px!important;
  }
  .kb-map-client-requests-toggle small{
    max-width:100%!important;
    text-align:left!important;
    font-size:.76rem!important;
  }
  .kb-dir-rtl .kb-map-client-requests-toggle small,
  html[dir="rtl"] .kb-map-client-requests-toggle small{text-align:right!important;}
  .kb-radius-presets{gap:7px!important;padding-bottom:6px!important;}
  .kb-radius-btn{min-height:34px!important;padding:.38rem .72rem!important;font-size:.82rem!important;}
}


/* ============================================================
   V7.48 — Correction avatar marqueur Leaflet
   Empêche les photos avatar de s'afficher en taille réelle sur la carte.
   ============================================================ */
.kb-map-v76 .leaflet-marker-icon,
.kb-map-v76 .leaflet-div-icon{
  overflow:visible!important;
}
.kb-map-v76 .kb-marker{
  box-sizing:border-box!important;
  overflow:hidden!important;
  line-height:1!important;
}
.kb-map-v76 .kb-marker.has-avatar{
  padding:0!important;
  background:#fff!important;
  border:4px solid #fff!important;
}
.kb-map-v76 .kb-marker .kb-marker-avatar-img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.kb-map-v76 .kb-marker.is-client-request.has-avatar .kb-marker-avatar-img{
  border-radius:12px!important;
}
.kb-map-v76 .kb-marker .kb-marker-initials{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
}
@media(max-width:768px){
  .kb-map-v76 .kb-marker .kb-marker-avatar-img{border-radius:13px!important;}
}

/* ================================================================
   V7.59 - Correctif liste haut droite carte
   - Le bouton compteur ouvre une vraie liste flottante.
   - La liste ne casse plus la carte en grand bloc vide sur iPhone/Safari.
   - Affichage compact, scroll interne, compatible demandes + prestataires.
   ================================================================ */
.kb-map-floating-status{
  overflow:visible!important;
}
.kb-provider-dropdown{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  width:min(390px, calc(100vw - 24px))!important;
  max-height:min(62vh, 520px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-radius:22px!important;
  box-shadow:0 28px 80px rgba(15,23,42,.24)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  z-index:1305!important;
  transform-origin:top right!important;
  animation:kbProviderDropdownIn .16s ease-out both!important;
  color:#0f172a!important;
}
.kb-provider-dropdown[hidden]{
  display:none!important;
}
@keyframes kbProviderDropdownIn{
  from{opacity:0;transform:translateY(-6px) scale(.985);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.kb-provider-dropdown::before{
  content:"";
  position:absolute;
  top:-7px;
  right:24px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:rgba(255,255,255,.96);
  border-left:1px solid rgba(226,232,240,.92);
  border-top:1px solid rgba(226,232,240,.92);
  z-index:0;
}
.kb-provider-dropdown-head{
  position:relative;
  z-index:1;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:13px 14px 11px!important;
  border-bottom:1px solid rgba(226,232,240,.82)!important;
  background:linear-gradient(135deg, rgba(248,250,252,.98), rgba(255,255,255,.94))!important;
}
.kb-provider-dropdown-head strong{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  font-size:.92rem!important;
  font-weight:950!important;
  color:#0f172a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kb-provider-dropdown-head button{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
}
.kb-provider-dropdown-body{
  position:relative;
  z-index:1;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  max-height:calc(min(62vh, 520px) - 58px)!important;
  padding:8px!important;
  background:rgba(255,255,255,.92)!important;
}
.kb-provider-dropdown-body::-webkit-scrollbar{width:7px;}
.kb-provider-dropdown-body::-webkit-scrollbar-thumb{background:rgba(148,163,184,.55);border-radius:999px;}
.kb-provider-dropdown-empty{
  padding:18px 14px!important;
  text-align:center!important;
  color:#64748b!important;
  font-weight:850!important;
  font-size:.9rem!important;
}
.kb-provider-dropdown-empty.is-error{color:#b91c1c!important;}
.kb-provider-option{
  width:100%!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px!important;
  margin:0 0 7px!important;
  border:1px solid rgba(226,232,240,.86)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.98)!important;
  color:#0f172a!important;
  text-align:left!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
  cursor:pointer!important;
}
.kb-provider-option:last-child{margin-bottom:0!important;}
.kb-provider-option:hover,
.kb-provider-option:focus-visible{
  border-color:rgba(0,137,85,.25)!important;
  box-shadow:0 14px 32px rgba(0,137,85,.12)!important;
  outline:none!important;
}
.kb-provider-option.is-request{
  background:linear-gradient(135deg, rgba(239,246,255,.98), rgba(255,255,255,.98))!important;
}
.kb-provider-option-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(135deg, var(--kb-primary), var(--kb-secondary))!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 10px 24px rgba(15,23,42,.15)!important;
}
.kb-provider-option-avatar-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.kb-provider-option-main{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:0!important;
}
.kb-provider-option-main strong,
.kb-provider-option-main small,
.kb-provider-option-main em{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.kb-provider-option-main strong{font-size:.91rem!important;font-weight:950!important;color:#0f172a!important;}
.kb-provider-option-main small{font-size:.78rem!important;font-weight:850!important;color:#475569!important;}
.kb-provider-option-main em{font-style:normal!important;font-size:.72rem!important;color:#64748b!important;}
.kb-provider-option-side{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:4px!important;
  min-width:52px!important;
}
.kb-provider-option-side small{font-size:.72rem!important;font-weight:900!important;color:#64748b!important;white-space:nowrap!important;}
.kb-provider-option-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#ecfdf5!important;
  color:#047857!important;
  font-size:.68rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.kb-provider-option-badge.is-request{
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.kb-map-result-pill.is-open{
  border-color:rgba(0,137,85,.28)!important;
  background:rgba(236,253,245,.96)!important;
  box-shadow:0 18px 42px rgba(0,137,85,.16)!important;
}

@media(max-width:768px){
  .kb-provider-dropdown{
    position:fixed!important;
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 82px)!important;
    width:auto!important;
    max-height:min(54vh, 430px)!important;
    border-radius:22px!important;
    transform-origin:bottom center!important;
    animation:kbProviderDropdownMobileIn .18s ease-out both!important;
  }
  .kb-provider-dropdown::before{display:none!important;}
  @keyframes kbProviderDropdownMobileIn{
    from{opacity:0;transform:translateY(12px) scale(.985);}
    to{opacity:1;transform:translateY(0) scale(1);}
  }
  .kb-provider-dropdown-body{
    max-height:calc(min(54vh, 430px) - 58px)!important;
  }
  .kb-provider-option{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:9px!important;
    border-radius:16px!important;
  }
  .kb-provider-option-avatar{width:42px!important;height:42px!important;border-radius:15px!important;}
  .kb-provider-option-main strong{font-size:.87rem!important;}
  .kb-provider-option-main small{font-size:.75rem!important;}
  .kb-provider-option-side{min-width:44px!important;}
}


/* ================================================================
   V7.60 - Sélecteur/liste compteur carte vraiment visible sur iPhone
   - Le panneau est déplacé en portal JS dans <body> pour ne plus être
     coupé par overflow:hidden de la carte ni masqué par Leaflet.
   - Z-index supérieur aux popups Leaflet.
   ================================================================ */
.kb-provider-dropdown-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:9997!important;
  background:rgba(15,23,42,.18)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}
.kb-provider-dropdown-backdrop[hidden]{display:none!important;}
.kb-provider-dropdown.kb-provider-dropdown--portal{
  position:fixed!important;
  z-index:9999!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
.kb-provider-dropdown.kb-provider-dropdown--portal[hidden]{display:none!important;}
.kb-provider-dropdown.kb-provider-dropdown--portal::before{display:none!important;}
.kb-provider-dropdown.kb-provider-dropdown--portal.is-open{
  opacity:1!important;
  visibility:visible!important;
}
.kb-provider-dropdown-close{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
}
.kb-provider-dropdown-close:hover,
.kb-provider-dropdown-close:focus-visible{
  color:#b91c1c!important;
  border-color:rgba(185,28,28,.22)!important;
  outline:none!important;
}
body.kb-provider-list-open .leaflet-popup-pane,
body.kb-provider-list-open .leaflet-tooltip-pane{
  z-index:500!important;
}
body.kb-provider-list-open .kb-map-floating-status{
  z-index:10000!important;
}
.kb-provider-dropdown.kb-provider-dropdown--portal .kb-provider-dropdown-head{
  padding-right:10px!important;
}
.kb-provider-dropdown.kb-provider-dropdown--portal .kb-provider-dropdown-head strong{
  flex:1 1 auto!important;
}
@media(max-width:768px){
  .kb-provider-dropdown-backdrop{
    background:linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.32))!important;
  }
  .kb-provider-dropdown.kb-provider-dropdown--portal{
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 78px)!important;
    width:auto!important;
    max-height:min(56vh, 440px)!important;
    border-radius:24px!important;
    box-shadow:0 24px 80px rgba(15,23,42,.34)!important;
  }
  .kb-provider-dropdown.kb-provider-dropdown--portal .kb-provider-dropdown-body{
    max-height:calc(min(56vh, 440px) - 58px)!important;
  }
}

/* ================================================================
   V7.69 - Correctif curseur périmètre carte
   Le remplissage vert suit maintenant exactement la position du curseur.
   ================================================================ */
.kb-radius-range{
  --kb-radius-progress:0%;
  width:100%!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  background:linear-gradient(90deg,#00a36b 0%,#00a36b var(--kb-radius-progress,0%),rgba(226,232,240,.95) var(--kb-radius-progress,0%),rgba(226,232,240,.95) 100%) center / 100% 5px no-repeat!important;
  border-radius:999px!important;
  cursor:pointer!important;
}
.kb-radius-range::-webkit-slider-runnable-track{
  height:5px!important;
  border-radius:999px!important;
  background:transparent!important;
}
.kb-radius-range::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.98)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.20)!important;
}
.kb-radius-range::-moz-range-track{
  height:5px!important;
  border-radius:999px!important;
  background:rgba(226,232,240,.95)!important;
}
.kb-radius-range::-moz-range-progress{
  height:5px!important;
  border-radius:999px!important;
  background:#00a36b!important;
}
.kb-radius-range::-moz-range-thumb{
  background:#fff!important;
  border:1px solid rgba(226,232,240,.98)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.20)!important;
}

/* V7.77 — icône native des demandes sans dépendre d'une police externe */
.kb-marker-request-icon,
.kb-popup-request-svg,
.kb-provider-option-request-svg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.45em;
  height:1.45em;
  color:#047857;
}
.kb-marker-request-icon{width:28px;height:28px;color:#047857;}
.kb-popup-request-svg{width:34px;height:34px;color:#047857;}
.kb-provider-option-request-svg{width:24px;height:24px;color:#047857;}
.kb-marker-request-icon svg,
.kb-popup-request-svg svg,
.kb-provider-option-request-svg svg{width:100%;height:100%;display:block;}
.kb-provider-option-avatar.is-request{color:#047857;background:linear-gradient(135deg,#ecfdf5,#eef2ff);}

/* ================================================================
   V7.78 - Icône demande client fiable sur carte
   - Remplace définitivement l'image cassée par une icône mégaphone native.
   ================================================================ */
.kb-map-v76 .kb-marker.is-client-request{
  background:#fff!important;
  border:4px solid #fff!important;
  color:#0f172a!important;
  border-radius:18px!important;
  box-shadow:0 18px 36px rgba(15,23,42,.22)!important;
}
.kb-map-v76 .kb-marker.is-client-request.has-avatar{
  background:#fff!important;
}
.kb-map-v76 .kb-marker.is-client-request .kb-marker-request-icon{
  width:30px!important;
  height:30px!important;
  color:#0f172a!important;
}
.kb-popup-request .kb-avatar-request,
.kb-provider-option-avatar.is-request{
  background:#eef6ff!important;
  color:#0f172a!important;
}
.kb-popup-request .kb-popup-request-svg,
.kb-provider-option-request-svg{
  color:#0f172a!important;
}


/* =========================================================
   V7.81 - Tags sélectionnés carte : une seule ligne scrollable
   ---------------------------------------------------------
   L'élément porte aussi la classe .kb-selected-chips qui, dans
   app.css, autorise flex-wrap:wrap. Ici on force le comportement
   spécifique de la carte : alignement horizontal + scroll X.
   ========================================================= */
#kbSelectedServices.kb-selected-chips-v76{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,137,85,.38) transparent!important;
}

#kbSelectedServices.kb-selected-chips-v76 .kb-service-chip{
  flex:0 0 auto!important;
  max-width:none!important;
  white-space:nowrap!important;
}

#kbSelectedServices.kb-selected-chips-v76::-webkit-scrollbar{
  display:block!important;
  height:6px!important;
}

#kbSelectedServices.kb-selected-chips-v76::-webkit-scrollbar-track{
  background:transparent!important;
}

#kbSelectedServices.kb-selected-chips-v76::-webkit-scrollbar-thumb{
  background:rgba(0,137,85,.38)!important;
  border-radius:999px!important;
}

@media (max-width: 768px){
  #kbSelectedServices.kb-selected-chips-v76{
    min-height:42px!important;
    max-height:none!important;
    padding-bottom:4px!important;
  }
}
