/* =========================================================

Kiara Health – Clinician Locator
   Header & footer intentionally excluded (use your site's).
   Fonts are inherited from the parent site.
   All classes are prefixed "kh-" to avoid theme conflicts.
   ========================================================= */
.kh-locator{
  --kh-navy:#464A68;
  --kh-navy-dark:#34374F;
  --kh-maroon:#7E3C4B;
  --kh-maroon-dark:#66303D;
  --kh-ink:#120A1E;
  --kh-muted:#6E7489;
  --kh-line:#DDE1E6;
  --kh-card-line:#D4D9EE;
  --kh-bg:#F6F6F4;
  --kh-filter-bg:#FBE9E4;
  --kh-soft:#D4D9EE;
  --kh-soft-ink:#464A68;
  --kh-rose:#FBE9E4;
  --kh-map:#EDEEEB;
  --kh-map-road:#FFFFFF;
  --kh-green-bg:#e5f0e6;
  --kh-green:#5b7a5f;
  font-family:inherit;
  color:var(--kh-ink);
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
}
.kh-locator *,.kh-locator *::before,.kh-locator *::after{box-sizing:border-box;}
:where(.kh-locator) :where(button,input,select){font-family:inherit;font-size:inherit;color:inherit;}
:where(.kh-locator) :where(button){cursor:pointer;}
.kh-locator .kh-hidden{display:none !important;}
/* ---------- Buttons ---------- */
.kh-locator .kh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:6px 12px;font-size:13px;line-height:1.2;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
.kh-locator .kh-btn--primary{background:var(--kh-navy);color:#fff;}
.kh-locator .kh-btn--primary:hover{background:var(--kh-navy-dark);}
.kh-locator .kh-btn--soft{background:var(--kh-soft);color:var(--kh-soft-ink);}
.kh-locator .kh-btn--soft:hover{background:#C5CBE6;}
.kh-locator .kh-btn--ghost{background:#fff;border-color:var(--kh-card-line);color:var(--kh-soft-ink);}
.kh-locator .kh-btn--ghost:hover{border-color:var(--kh-navy);}
.kh-locator .kh-btn--maroon{background:var(--kh-maroon);color:#fff;}
.kh-locator .kh-btn--maroon:hover{background:var(--kh-maroon-dark);}
.kh-locator .kh-btn--lg{padding:11px 34px;font-size:14px;}
.kh-locator .kh-btn:focus-visible,.kh-locator input:focus-visible,.kh-locator select:focus-visible{outline:2px solid var(--kh-maroon);outline-offset:2px;}
/* =========================================================
   HERO / SEARCH
   ========================================================= */
.kh-locator .kh-hero{
  position:relative;
  min-height:640px;
  padding:120px 24px 80px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  /* colour-matched replacement for the hero background image */
  background:
    radial-gradient(ellipse 60% 70% at 8% 70%, #eeb08f 0%, rgba(238,176,143,0) 70%),
    radial-gradient(ellipse 45% 55% at 55% 10%, #d7d8c6 0%, rgba(215,216,198,0) 70%),
    radial-gradient(ellipse 50% 60% at 95% 55%, #ddd5b8 0%, rgba(221,213,184,0) 70%),
    radial-gradient(ellipse 50% 50% at 60% 95%, #efdccd 0%, rgba(239,220,205,0) 70%),
    linear-gradient(100deg, #e9b596 0%, #dcc2ab 40%, #d9cdb7 65%, #dcd6bd 100%);
}
.kh-locator .kh-hero__title{font-family:inherit;font-weight:400;font-size:clamp(34px,5vw,54px);line-height:1.2;letter-spacing:.01em;margin:0 0 28px;max-width:620px;color:var(--kh-ink);}
.kh-locator .kh-hero__sub{font-size:17px;color:#464A68;max-width:540px;margin:0 0 30px;}
.kh-locator .kh-searchbar{
  position:relative;width:100%;max-width:1080px;
  background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(60,40,40,.08);
  display:flex;align-items:center;padding:14px 22px 14px 24px;text-align:left;
}
.kh-locator .kh-sfield{flex:1;display:flex;align-items:center;gap:14px;padding:4px 20px;min-width:0;position:relative;}
.kh-locator .kh-sfield + .kh-sfield{border-left:1px solid var(--kh-line);}
.kh-locator .kh-sfield:first-child{padding-left:0;}
.kh-locator .kh-sfield svg{flex:none;color:var(--kh-maroon);}
.kh-locator .kh-sfield__body{flex:1;min-width:0;}
.kh-locator .kh-sfield__label{display:block;font-size:15px;color:var(--kh-muted);margin-bottom:2px;}
.kh-locator .kh-sfield input{width:100%;border:0;padding:0;background:transparent;font-size:12px;color:var(--kh-ink);outline:none;}
.kh-locator .kh-sfield input::placeholder{color:var(--kh-ink);}
.kh-locator .kh-vt-toggle{display:flex;align-items:center;width:100%;border:0;background:transparent;padding:0;text-align:left;}
.kh-locator .kh-vt-toggle .kh-sfield__value{font-size:12px;}
.kh-locator .kh-vt-toggle .kh-chev{margin-left:auto;color:var(--kh-muted);transition:transform .2s;}
.kh-locator .kh-vt-toggle[aria-expanded="true"] .kh-chev{transform:rotate(180deg);}
.kh-locator .kh-vt-menu{
  position:absolute;top:calc(100% + 22px);left:0;right:0;z-index:20;
  background:#fff;border:1px solid var(--kh-line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.08);
  list-style:none;margin:0;padding:6px 8px;
}
.kh-locator .kh-vt-menu li{padding:13px 16px;font-size:16px;cursor:pointer;border-radius:6px;}
.kh-locator .kh-vt-menu li + li{border-top:1px solid var(--kh-line);}
.kh-locator .kh-vt-menu li:hover,.kh-locator .kh-vt-menu li[aria-selected="true"]{background:var(--kh-bg);}
.kh-locator .kh-searchbar .kh-btn--maroon{border-radius:10px;padding:12px 24px;font-size:16px;flex:none;}
.kh-locator .kh-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;}
.kh-locator .kh-chip{background:#fff;border:0;border-radius:999px;padding:9px 17px;font-size:12px;color:var(--kh-ink);}
.kh-locator .kh-chip:hover{background:var(--kh-rose);}
.kh-locator .kh-stats{display:flex;gap:46px;margin-top:22px;}
.kh-locator .kh-stat strong{display:block;font-size:19px;color:var(--kh-navy);font-weight:700;}
.kh-locator .kh-stat span{font-size:11px;color:#6E7489;}
/* =========================================================
   RESULTS
   ========================================================= */
.kh-locator .kh-results{background:#fff;border-top:1px solid var(--kh-line);}
.kh-locator .kh-filterbar{
  background:var(--kh-filter-bg);padding:18px 28px;
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;
}
.kh-locator .kh-seg{display:inline-flex;background:#fff;border-radius:999px;padding:4px;}
.kh-locator .kh-seg button{border:0;background:transparent;border-radius:999px;padding:7px 22px;font-size:12px;color:#464A68;}
.kh-locator .kh-seg button[aria-pressed="true"]{background:var(--kh-navy);color:#fff;}
.kh-locator .kh-pill{position:relative;display:inline-flex;align-items:center;background:#fff;border-radius:999px;height:36px;}
.kh-locator .kh-pill select{appearance:none;-webkit-appearance:none;border:0;background:transparent;border-radius:999px;padding:0 42px 0 15px;height:100%;font-size:12px;color:var(--kh-ink);cursor:pointer;}
.kh-locator .kh-pill .kh-chev{position:absolute;right:16px;pointer-events:none;color:var(--kh-muted);}
.kh-locator .kh-pill--loc{padding:0 18px 0 14px;gap:9px;}
.kh-locator .kh-pill--loc svg{color:var(--kh-maroon);flex:none;}
.kh-locator .kh-pill--loc input{border:0;background:transparent;font-size:12px;width:120px;outline:none;}
.kh-locator .kh-filterbar__right{margin-left:auto;display:flex;gap:14px;align-items:center;}
.kh-locator .kh-pill--q input{border:0;background:transparent;font-size:12px;padding:0 24px;width:214px;height:100%;outline:none;border-radius:999px;}
.kh-locator .kh-filterbar .kh-btn--maroon{height:36px;padding:0 22px;font-size:12px;}
.kh-locator .kh-layout{display:grid;grid-template-columns:472px 1fr;min-height:690px;}
.kh-locator .kh-list{padding:16px 27px 24px 16px;border-right:1px solid var(--kh-line);}
.kh-locator .kh-list__meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:0 50px 10px 4px;}
.kh-locator .kh-list__meta .kh-sort{color:var(--kh-muted);border:0;background:transparent;padding:0;font-size:12px;}
.kh-locator .kh-cards{display:flex;flex-direction:column;gap:11px;max-height:600px;overflow-y:auto;padding-right:2px;}
.kh-locator .kh-empty{padding:40px 10px;text-align:center;color:var(--kh-muted);font-size:14px;}
.kh-locator .kh-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--kh-card-line);border-radius:8px;padding:14px 14px 13px;cursor:pointer;transition:background .15s,border-color .15s;background:#fff;}
.kh-locator .kh-card:hover{border-color:#A9B3C1;}
.kh-locator .kh-card.is-active{background:#EEF0F8;border-color:var(--kh-navy);}
.kh-locator .kh-card--online{border-color:#EDEEEB;}
.kh-locator .kh-avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:20px;background:var(--kh-navy);}
.kh-locator .kh-card__name{font-size:15px;margin:0 0 3px;font-weight:400;}
.kh-locator .kh-card__role,.kh-locator .kh-card__meta{font-size:12px;color:var(--kh-muted);margin:0 0 4px;}
.kh-locator .kh-card__actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;}
/* ---------- Right panel ---------- */
.kh-locator .kh-panel{position:relative;display:flex;flex-direction:column;min-width:0;}
.kh-locator .kh-panel__body{flex:1;position:relative;min-height:0;}
/* Map */
.kh-locator .kh-map{position:absolute;inset:0;overflow:hidden;background:var(--kh-map);}
.kh-locator .kh-map__canvas{position:absolute;inset:0;transform-origin:center;transition:transform .25s ease;
  background-color:var(--kh-map);
  background-image:
    linear-gradient(90deg, transparent 0 120px, var(--kh-map-road) 120px 126px, transparent 126px),
    linear-gradient(0deg, transparent 0 100px, var(--kh-map-road) 100px 106px, transparent 106px);
  background-size:126px 100%, 100% 106px;
}
.kh-locator .kh-zoom{position:absolute;top:18px;right:20px;z-index:5;background:#fff;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;}
.kh-locator .kh-zoom button{width:38px;height:38px;border:0;background:transparent;font-size:18px;color:var(--kh-ink);}
.kh-locator .kh-zoom button + button{border-top:1px solid var(--kh-line);}
.kh-locator .kh-pin{position:absolute;transform:translate(-50%,-100%);border:0;background:transparent;padding:0;color:var(--kh-navy);z-index:2;transition:transform .15s;}
.kh-locator .kh-pin:hover{transform:translate(-50%,-100%) scale(1.12);}
.kh-locator .kh-pin.is-active{color:var(--kh-maroon);z-index:3;}
.kh-locator .kh-pin.is-active svg{width:30px;height:38px;}
.kh-locator .kh-popup{position:absolute;z-index:4;width:240px;background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(40,40,70,.14);padding:16px 16px 14px;font-size:12px;color:var(--kh-muted);}
.kh-locator .kh-popup h4{margin:0 0 4px;font-size:15px;font-weight:400;color:var(--kh-ink);}
.kh-locator .kh-popup p{margin:0 0 4px;}
.kh-locator .kh-popup .kh-lbl{color:var(--kh-maroon);}
.kh-locator .kh-popup .kh-gap{height:14px;}
.kh-locator .kh-popup .kh-btn{margin-top:14px;}
.kh-locator .kh-popup__close{position:absolute;top:6px;right:8px;border:0;background:transparent;color:var(--kh-muted);font-size:16px;line-height:1;}
/* Profile */
.kh-locator .kh-profile{position:absolute;inset:0;overflow-y:auto;padding:40px 88px 40px 35px;background:#fff;}
.kh-locator .kh-back{border:0;background:transparent;color:var(--kh-maroon);font-size:12px;padding:0;margin-bottom:16px;}
.kh-locator .kh-profile__head{display:flex;gap:18px;align-items:center;margin-bottom:22px;}
.kh-locator .kh-profile__head .kh-avatar{width:76px;height:76px;font-size:24px;font-weight:700;}
.kh-locator .kh-profile__name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:24px;font-weight:400;}
.kh-locator .kh-badge{background:var(--kh-green-bg);color:var(--kh-green);border-radius:999px;padding:2px 9px;font-size:12px;}
.kh-locator .kh-profile__sub{margin:2px 0 0;color:var(--kh-muted);font-size:16px;}
.kh-locator .kh-profile__bio{font-size:12px;margin:0 0 16px;}
.kh-locator .kh-approach{background:var(--kh-rose);border-radius:8px;padding:16px 16px 14px;margin-bottom:22px;}
.kh-locator .kh-h3{color:var(--kh-maroon);font-size:18px;font-weight:400;margin:0 0 10px;}
.kh-locator .kh-approach p{margin:0;font-size:12px;max-width:700px;}
.kh-locator .kh-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.kh-locator .kh-tag{background:var(--kh-soft);color:var(--kh-soft-ink);border-radius:999px;padding:5px 12px;font-size:12px;}
.kh-locator .kh-edu{list-style:none;margin:0 0 22px;padding:0;font-size:12px;}
.kh-locator .kh-edu li{position:relative;padding-left:16px;margin-bottom:9px;color:#464A68;}
.kh-locator .kh-edu li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:50%;background:var(--kh-ink);}
.kh-locator .kh-edu b{font-weight:400;color:var(--kh-ink);}
.kh-locator .kh-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.kh-locator .kh-fact{border:1px solid #DDE1E6;border-radius:6px;padding:14px 8px;background:#F7F7F5;}
.kh-locator .kh-fact span{display:block;font-size:16px;color:var(--kh-muted);margin-bottom:4px;}
.kh-locator .kh-fact b{font-weight:400;font-size:12px;}
/* Booking bar */
.kh-locator .kh-bookbar{display:flex;align-items:center;gap:12px;padding:16px 42px;border-top:1px solid var(--kh-line);background:#fff;}
.kh-locator .kh-bookbar__title{font-size:16px;margin:0;}
.kh-locator .kh-bookbar__sub{font-size:12px;color:var(--kh-muted);margin:0;}
.kh-locator .kh-bookbar__actions{margin-left:auto;display:flex;gap:12px;}
.kh-locator .kh-bookbar .kh-btn--ghost{padding:11px 14px;font-size:12px;border-color:var(--kh-line);}
/* ---------- Responsive ---------- */
@media (max-width:1100px){

.kh-locator .kh-layout{grid-template-columns:380px 1fr;}
.kh-locator .kh-profile{padding:32px 28px;}
.kh-locator .kh-filterbar__right{margin-left:0;}
}
@media (max-width:860px){

.kh-locator .kh-hero{padding:72px 16px 56px;min-height:0;}
.kh-locator .kh-searchbar{flex-direction:column;align-items:stretch;padding:12px 16px 16px;}
.kh-locator .kh-sfield{padding:12px 0 !important;}
.kh-locator .kh-sfield + .kh-sfield{border-left:0;border-top:1px solid var(--kh-line);}
.kh-locator .kh-vt-menu{top:calc(100% + 4px);}
.kh-locator .kh-searchbar .kh-btn--maroon{margin-top:8px;}
.kh-locator .kh-stats{gap:28px;}
.kh-locator .kh-filterbar{padding:14px 16px;gap:10px;}
.kh-locator .kh-filterbar__right{width:100%;}
.kh-locator .kh-pill--q{flex:1;}
.kh-locator .kh-pill--q input{width:100%;}
.kh-locator .kh-layout{grid-template-columns:1fr;}
.kh-locator .kh-list{border-right:0;border-bottom:1px solid var(--kh-line);padding:16px;}
.kh-locator .kh-list__meta{padding-right:4px;}
.kh-locator .kh-cards{max-height:none;}
.kh-locator .kh-panel__body{min-height:460px;}
.kh-locator .kh-profile{position:relative;inset:auto;padding:24px 16px;}
.kh-locator .kh-facts{grid-template-columns:1fr;}
.kh-locator .kh-bookbar{flex-wrap:wrap;padding:14px 16px;}
.kh-locator .kh-bookbar__actions{margin-left:0;width:100%;}
.kh-locator .kh-bookbar__actions .kh-btn{flex:1;}
}
/* ---------- WordPress theme hardening ---------- */
.kh-locator{width:100%;}
.kh-locator.kh-full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.kh-locator button{text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;line-height:1.2;text-decoration:none;}
.kh-locator .kh-seg button,.kh-locator .kh-zoom button,.kh-locator .kh-pin,.kh-locator .kh-back,.kh-locator .kh-sort,.kh-locator .kh-popup__close,.kh-locator .kh-vt-toggle{background-color:transparent;}
.kh-locator .kh-seg button[aria-pressed="true"]{background:var(--kh-navy);}
.kh-locator .kh-chip{background:#fff;}
.kh-locator .kh-chip:hover{background:var(--kh-rose);}
.kh-locator .kh-zoom button{background:#fff;}
.kh-locator input,.kh-locator select{box-shadow:none;margin:0;min-height:0;}
.kh-locator input[type="text"]{border:0;background:transparent;}
.kh-locator h1,.kh-locator h2,.kh-locator h3,.kh-locator h4,.kh-locator p,.kh-locator ul{margin-top:0;}
.kh-locator h1,.kh-locator h2,.kh-locator h3,.kh-locator h4{text-transform:none;letter-spacing:normal;}
.kh-locator svg{display:inline-block;vertical-align:middle;}
.kh-locator .kh-pin svg{display:block;}
.admin-bar .kh-locator .kh-results{scroll-margin-top:32px;}
.kh-locator button,.kh-locator input,.kh-locator select{font-family:inherit;}
.kh-locator .kh-vt-toggle,.kh-locator .kh-back:hover,.kh-locator .kh-sort:hover,.kh-locator .kh-pin:hover,.kh-locator .kh-popup__close:hover,.kh-locator .kh-vt-toggle:hover{background-color:transparent;}
.kh-locator .kh-vt-toggle{color:var(--kh-ink);border:0;}
.kh-locator .kh-sort{color:var(--kh-muted);}
.kh-locator .kh-back{color:var(--kh-maroon);}
.kh-locator .kh-popup__close{color:var(--kh-muted);}
.kh-locator .kh-pill--loc input,.kh-locator .kh-sfield input{padding:0;border-radius:0;}
.kh-locator .kh-pill--q input{padding:0 24px;}

/* ---------- Google Maps ---------- */
.kh-locator .kh-gmap{position:absolute;inset:0;}
.kh-locator .kh-gmap .kh-popup{position:absolute;margin:0;}
.kh-locator .kh-popup__actions{display:flex;gap:8px;margin-top:14px;}
.kh-locator .kh-popup__actions .kh-btn{margin-top:0;}
.kh-locator a.kh-btn{text-decoration:none;}
.kh-locator .kh-apin{color:var(--kh-navy);cursor:pointer;transform:translateY(0);}
.kh-locator .kh-apin.is-active{color:var(--kh-maroon);}
.kh-locator .kh-apin.is-active svg{width:30px;height:38px;}
.kh-locator .kh-locbtn{border:0;background:transparent;padding:0 0 0 4px;color:var(--kh-muted);display:inline-flex;align-items:center;}
.kh-locator .kh-locbtn:hover{color:var(--kh-maroon);background:transparent;}
.kh-locator .kh-gmap img{max-width:none !important;}

/* ---------- Map visibility guards ---------- */
.kh-locator .kh-panel__body{min-height:560px;}
.kh-locator .kh-gmap{z-index:0;background:#EDEEEB;}
.kh-locator .kh-gmap img,.kh-locator .kh-gmap canvas{max-width:none !important;max-height:none !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;}
.kh-locator .kh-gmap *,.kh-locator .kh-gmap *::before,.kh-locator .kh-gmap *::after{box-sizing:content-box;}
.kh-locator .kh-gmap .kh-popup,.kh-locator .kh-gmap .kh-popup *{box-sizing:border-box;}
.kh-locator .kh-gmap div[role="button"],.kh-locator .kh-gmap button{min-height:0;}
.kh-locator .kh-map-notice{position:absolute;left:16px;right:70px;bottom:16px;z-index:6;background:#fff8e6;border:1px solid #f0d58a;color:#5c4a12;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.45;box-shadow:0 4px 14px rgba(0,0,0,.08);}
@media (max-width:860px){.kh-locator .kh-panel__body{min-height:460px;}}

/* ---------- [kiara_search] (form + tags only) ---------- */
.kh-locator .kh-searchwrap{width:100%;max-width:1080px;margin:0 auto;}
.kh-locator.kh-search-only{background:transparent;padding:0;}
.kh-locator.kh-search-only .kh-searchwrap{text-align:left;}
.kh-locator.kh-search-only .kh-chips{justify-content:center;}
.kh-locator.kh-search-only.kh-align-left .kh-searchwrap{margin-left:0;}
.kh-locator.kh-search-only.kh-align-left .kh-chips{justify-content:flex-start;}
.kh-locator.kh-search-only .kh-searchbar{box-shadow:0 10px 30px rgba(60,40,40,.08);}
.kh-locator.kh-search-only .kh-chip{border:1px solid rgba(70,74,104,.14);}
.kh-locator.kh-search-only .kh-searchbar{border:1px solid rgba(70,74,104,.08);}

/* ---------- Fixed / full-height results  ([kiara_results height="screen|fill|100vh|800px"]) ---------- */
.kh-locator.kh-fixed-h .kh-results{height:var(--kh-h,100vh);min-height:480px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;}
.kh-locator.kh-h-fill{height:100%;flex:1 1 auto;display:flex;flex-direction:column;}
.kh-locator.kh-h-fill .kh-results{height:auto;flex:1 1 auto;}
.kh-locator.kh-fixed-h .kh-filterbar,.kh-locator.kh-fixed-h .kh-bookbar{flex:none;}
.kh-locator.kh-fixed-h .kh-layout{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr);}
.kh-locator.kh-fixed-h .kh-list{display:flex;flex-direction:column;min-height:0;}
.kh-locator.kh-fixed-h .kh-list__meta{flex:none;}
.kh-locator.kh-fixed-h .kh-cards{flex:1 1 auto;max-height:none;min-height:0;}
.kh-locator.kh-fixed-h .kh-panel{min-height:0;}
.kh-locator.kh-fixed-h .kh-panel__body{min-height:0;}
@media (max-width:860px){
  /* stacked on phones: let it grow naturally */
  .kh-locator.kh-fixed-h .kh-results,.kh-locator.kh-h-fill{height:auto !important;overflow:visible;}
  .kh-locator.kh-fixed-h .kh-cards{max-height:420px;}
  .kh-locator.kh-fixed-h .kh-panel__body{min-height:460px;}
}

/* ---------- Theme / Elementor kit reset (beats ".elementor-kit-N button" etc.) ---------- */
html .kh-locator button,html .kh-locator input,html .kh-locator select{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:1.2;letter-spacing:normal;text-transform:none;text-decoration:none;box-shadow:none;margin:0;padding:0;min-height:0;height:auto;width:auto;border:0;border-radius:0;background:transparent;color:inherit;outline-offset:2px;}
html .kh-locator button:where(:not(.kh-btn,.kh-chip,[aria-pressed="true"])):is(:hover,:focus){background:transparent;color:inherit;box-shadow:none;}
html .kh-locator .kh-zoom button:is(:hover,:focus){background:#fff;color:var(--kh-ink);}
html .kh-locator input:focus,html .kh-locator select:focus{border:0;box-shadow:none;}
.kh-locator.kh-h-fill.kh-fill-measured{height:auto;display:block;}
.kh-locator.kh-h-fill.kh-fill-measured .kh-results{height:var(--kh-h);flex:none;}

/* ---------- Booking popup (GoHighLevel) ---------- */
html.kh-modal-open,html.kh-modal-open body{overflow:hidden;}
.kh-locator.kh-modal-root{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;}
.kh-locator.kh-modal-root[hidden]{display:none;}
.kh-locator .kh-modal-backdrop{position:absolute;inset:0;background:rgba(18,10,30,.45);}
.kh-locator .kh-modal{position:relative;width:min(808px,100%);max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(18,10,30,.25);display:flex;flex-direction:column;overflow:hidden;}
.kh-locator .kh-modal__head{display:flex;align-items:center;gap:12px;padding:18px 30px 18px 22px;border-bottom:1px solid #DDE1E6;flex:none;}
.kh-locator .kh-modal__head .kh-avatar{width:40px;height:40px;font-size:16px;}
.kh-locator .kh-modal__who{flex:1;min-width:0;}
.kh-locator .kh-modal__name{margin:0;font-size:18px;font-weight:400;line-height:1.2;color:var(--kh-ink);}
.kh-locator .kh-modal__sub{margin:0;font-size:11px;color:var(--kh-muted);}
html .kh-locator .kh-modal__close{width:28px;height:28px;border-radius:50%;background:#EDEEEB;color:#464A68;font-size:18px;line-height:1;display:grid;place-items:center;}
html .kh-locator .kh-modal__close:hover,html .kh-locator .kh-modal__close:focus{background:#DDE1E6;color:var(--kh-ink);}
.kh-locator .kh-modal__body{display:grid;grid-template-columns:260px 1fr;flex:1;min-height:0;}
.kh-locator .kh-modal__info{background:#F7F7F5;padding:20px 14px 18px;overflow-y:auto;display:flex;flex-direction:column;font-size:11px;color:#464A68;}
.kh-locator .kh-modal__info .kh-h3{font-size:16px;margin:0 0 8px;}
.kh-locator .kh-modal__info .kh-h3 ~ .kh-h3{margin-top:14px;}
.kh-locator .kh-modal__info p{margin:0;line-height:1.45;}
.kh-locator .kh-modal__info .kh-tags{gap:6px;margin:0;}
.kh-locator .kh-modal__info .kh-tag{font-size:11px;padding:3px 8px;}
.kh-locator .kh-modal__strong{color:var(--kh-ink);}
.kh-locator .kh-modal__tz{margin-top:auto !important;padding-top:24px;color:var(--kh-muted);}
.kh-locator .kh-modal__cal{position:relative;background:#fafafa;padding:18px;overflow-y:auto;min-height:520px;}
.kh-locator .kh-modal__iframe{display:block;width:100%;min-height:600px;border:0;background:transparent;}
.kh-locator .kh-modal__loading{position:absolute;left:0;right:0;top:40px;text-align:center;font-size:13px;color:var(--kh-muted);}
.kh-locator .kh-modal__loading[hidden]{display:none;}
@media (max-width:760px){
  .kh-locator.kh-modal-root{padding:0;}
  .kh-locator .kh-modal{width:100%;height:100%;max-height:none;border-radius:0;}
  .kh-locator .kh-modal__head{padding:14px 16px;}
  .kh-locator .kh-modal__body{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto;}
  .kh-locator .kh-modal__info{padding:14px 16px;overflow:visible;}
  .kh-locator .kh-modal__info .kh-h3:not(:first-child),.kh-locator .kh-modal__info p:not(.kh-modal__tz){display:none;}
  .kh-locator .kh-modal__tz{padding-top:10px;}
  .kh-locator .kh-modal__cal{padding:10px;min-height:0;overflow:visible;}
}

/* ---------- Profile photos ---------- */
.kh-locator .kh-avatar{overflow:hidden;}
.kh-locator .kh-avatar--photo{background:#EDEEEB !important;}
.kh-locator .kh-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;max-width:none;margin:0;}

/* ---------- Search bar fields: black labels, grey hints, visible typing boxes ---------- */
.kh-locator .kh-searchbar{align-items:flex-end;}
.kh-locator .kh-searchbar .kh-sfield{align-items:flex-end;}
.kh-locator .kh-searchbar .kh-sfield > svg{margin-bottom:11px;}
.kh-locator .kh-searchbar .kh-sfield__label{color:#120A1E;font-size:15px;font-weight:500;margin-bottom:6px;}
html .kh-locator .kh-searchbar .kh-sfield__box{display:flex;align-items:center;width:100%;height:40px;padding:0 12px;background:#fff;border:1px solid #A9B3C1;border-radius:8px;font-size:13px;color:#120A1E;text-align:left;transition:border-color .15s,box-shadow .15s;}
html .kh-locator .kh-searchbar .kh-sfield__box:hover{border-color:#A9B3C1;background:#fff;}
html .kh-locator .kh-searchbar .kh-sfield__box:focus,html .kh-locator .kh-searchbar .kh-vt-toggle[aria-expanded="true"]{border-color:var(--kh-navy);box-shadow:0 0 0 3px rgba(70,74,104,.12);outline:none;background:#fff;}
.kh-locator .kh-searchbar input.kh-sfield__box::placeholder{color:#A9B3C1;opacity:1;}
.kh-locator .kh-searchbar .kh-sfield__value{font-size:13px;color:#A9B3C1;}
.kh-locator .kh-searchbar .kh-sfield__value.is-set{color:#120A1E;}
.kh-locator .kh-searchbar .kh-vt-toggle .kh-chev{margin-left:auto;color:#6E7489;}
.kh-locator .kh-searchbar .kh-btn--maroon{height:40px;padding:0 24px;}
.kh-locator .kh-vt-menu{top:calc(100% + 8px);}
@media (max-width:860px){
  .kh-locator .kh-searchbar{align-items:stretch;}
  .kh-locator .kh-searchbar .kh-sfield > svg{display:none;}
  .kh-locator .kh-searchbar .kh-btn--maroon{height:44px;}
}

/* ---------- v1.7: rosewood pins, DM Sans badge, contained scrolling, website button ---------- */
.kh-locator{--kh-pin:#7E3C4B;--kh-pin-active:#7E3C4B;}
.kh-locator .kh-pin,.kh-locator .kh-apin{color:var(--kh-pin);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.25));}
.kh-locator .kh-pin.is-active,.kh-locator .kh-apin.is-active{color:var(--kh-pin-active);}
html .kh-locator .kh-badge,html .kh-locator .kh-js-accepting,html .kh-locator .kh-js-accepting option{font-family:"DM Sans",sans-serif;font-weight:400;letter-spacing:normal;text-transform:none;}
html .kh-locator select.kh-js-accepting{font-family:"DM Sans",sans-serif;}
.kh-locator .kh-cards,.kh-locator .kh-profile,.kh-locator .kh-modal__info,.kh-locator .kh-modal__cal{overscroll-behavior:contain;}
.kh-locator .kh-bookbar .kh-btn--site{padding:11px 18px;font-size:13px;}
.kh-locator .kh-bookbar__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- Brand palette (v1.7.1) ----------
   Muted Violet #464A68 · Pale Peach #F6C7BC · Periwinkle #D4D9EE · Stone #A9B3C1 · Burgundy/Rosewood #7E3C4B
   Ivory #EDEEEB · Deep Indigo #120A1E · White #FFFFFF · Black #000000 */
.kh-locator{--kh-navy:#464A68;--kh-maroon:#7E3C4B;--kh-ink:#120A1E;--kh-soft:#D4D9EE;--kh-soft-ink:#464A68;--kh-card-line:#D4D9EE;--kh-line:#DDE1E6;--kh-filter-bg:#FBE9E4;--kh-rose:#FBE9E4;--kh-bg:#F6F6F4;--kh-map:#EDEEEB;--kh-map-road:#FFFFFF;--kh-muted:#6E7489;--kh-pin:#7E3C4B;--kh-pin-active:#120A1E;}

/* ---------- v1.7.6 alignment fixes ---------- */
/* Hero search bar: labels on one line, Search button level with the input boxes */
.kh-locator .kh-searchbar .kh-sfield{padding-top:0;padding-bottom:0;}
.kh-locator .kh-searchbar .kh-sfield__label{display:block;line-height:18px;height:18px;white-space:nowrap;}
.kh-locator .kh-searchbar .kh-sfield > svg{margin-bottom:10px;}
.kh-locator .kh-searchbar .kh-btn--maroon{align-self:flex-end;margin:0 0 0 8px;}
/* Filter bar: location (city/ZIP), keyword box and Search always stay together on the right */
.kh-locator .kh-filterbar{row-gap:12px;}
.kh-locator .kh-filterbar__right{margin-left:auto !important;flex-wrap:nowrap;}
.kh-locator .kh-filterbar__right .kh-pill,.kh-locator .kh-filterbar__right .kh-btn{flex:none;}
@media (max-width:1240px){
  .kh-locator .kh-pill--q input{width:170px;}
  .kh-locator .kh-pill--loc input{width:105px;}
}
@media (max-width:860px){
  .kh-locator .kh-searchbar .kh-btn--maroon{margin:8px 0 0;align-self:stretch;}
  .kh-locator .kh-filterbar__right{width:100%;margin-left:0 !important;flex-wrap:wrap;}
  .kh-locator .kh-filterbar__right .kh-pill--loc{flex:1 1 100%;}
  .kh-locator .kh-filterbar__right .kh-pill--loc input{width:100%;flex:1;}
  .kh-locator .kh-filterbar__right .kh-pill--q{flex:1 1 auto;}
}

/* ---------- v1.8.0 ---------- */
/* 2. Map popup: even padding, buttons wrap inside the box instead of spilling out */
.kh-locator .kh-popup{width:auto;min-width:260px;max-width:300px;padding:18px;box-sizing:border-box;}
.kh-locator .kh-popup h4{padding-right:18px;}
.kh-locator .kh-popup p{overflow-wrap:anywhere;}
.kh-locator .kh-popup__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.kh-locator .kh-popup__actions .kh-btn{margin:0;flex:0 1 auto;max-width:100%;}
.kh-locator .kh-popup__close{top:10px;right:10px;}
.kh-locator .kh-popup__email a{color:var(--kh-muted);text-decoration:underline;text-underline-offset:2px;}
.kh-locator .kh-popup__email a:hover{color:var(--kh-maroon);}
/* 5. Bigger profile pictures */
.kh-locator .kh-card .kh-avatar{width:64px;height:64px;font-size:22px;}
.kh-locator .kh-card{gap:14px;}
.kh-locator .kh-profile__head .kh-avatar{width:104px;height:104px;font-size:30px;}
.kh-locator .kh-modal__head .kh-avatar{width:56px;height:56px;font-size:18px;}
/* 8. "Between-Visit Support" box removed: two info boxes per row */
.kh-locator .kh-facts{grid-template-columns:repeat(2,1fr);max-width:640px;}
@media (max-width:860px){.kh-locator .kh-facts{grid-template-columns:1fr;}}

/* ---------- v1.8.1 mobile fixes ---------- */
@media (max-width:860px){
  /* iOS zooms into any field under 16px – keep every locator field at 16px on phones */
  html .kh-locator input,html .kh-locator select,html .kh-locator textarea,
  html .kh-locator .kh-searchbar .kh-sfield__box,html .kh-locator .kh-searchbar .kh-sfield__value{font-size:16px !important;}
  .kh-locator .kh-hero{box-sizing:border-box;width:100%;max-width:100%;overflow-x:clip;}
  .kh-locator .kh-searchbar{box-sizing:border-box;width:100%;max-width:100%;margin-left:auto;margin-right:auto;}
  .kh-locator .kh-searchbar .kh-sfield,.kh-locator .kh-searchbar .kh-sfield__box{min-width:0;max-width:100%;box-sizing:border-box;}
  .kh-locator .kh-filterbar,.kh-locator .kh-filterbar *{box-sizing:border-box;}
  .kh-locator .kh-filterbar .kh-pill{min-width:0;max-width:100%;}
  .kh-locator .kh-filterbar input,html .kh-locator .kh-filterbar input{width:100%;min-width:0;flex:1 1 auto;}

  /* Map on top, nearest clinicians underneath */
  .kh-locator .kh-layout,.kh-locator.kh-fixed-h .kh-layout{display:flex !important;flex-direction:column;min-height:0;height:auto;}
  .kh-locator .kh-panel{order:-1;flex:none;width:100%;}
  .kh-locator .kh-list{order:1;flex:none;border-bottom:0;border-top:1px solid var(--kh-line);}
  .kh-locator.kh-fixed-h .kh-cards{max-height:none;overflow:visible;}

  /* Give the map its own height (iOS Safari collapsed the old flex/grid height to a few px) */
  .kh-locator .kh-panel__body,.kh-locator.kh-fixed-h .kh-panel__body{flex:none;height:auto;min-height:0 !important;}
  .kh-locator .kh-map{position:relative;inset:auto;width:100%;height:62vh;height:62svh;min-height:380px;max-height:560px;}

  .kh-locator .kh-zoom{top:auto !important;bottom:12px;}
  /* Popup centred above its pin */
  .kh-locator .kh-popup.kh-popup--above{box-sizing:border-box;max-width:calc(100vw - 40px);}
  .kh-locator .kh-popup.kh-popup--above::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:#fff;transform:rotate(45deg);box-shadow:3px 3px 6px rgba(40,40,70,.08);}
}

/* ---------- v1.8.2 mobile ---------- */
@media (max-width:860px){
  /* release a fixed section height (e.g. Elementor "Min/Height 100vh") around the results on phones */
  .kh-host{height:auto !important;max-height:none !important;overflow:visible !important;}
  /* Online on phones: list first; the profile appears only after a clinician is tapped */
  .kh-locator.kh-m-nopanel .kh-panel{display:none !important;}
  .kh-locator.kh-m-nopanel .kh-card.is-active{border-color:var(--kh-card-line);background:#fff;}
}
