/* Therapeut Portaal – zoekpagina [therapeut_zoeken] */
.kvv-zk{
  --kvv-brand:#4F1406; --kvv-primary:#6B2D3C; --kvv-rose:#8C4A58;
  --kvv-ink:#1f1a19; --kvv-muted:#6e625f; --kvv-line:#e7dfdc; --kvv-soft:#faf7f6; --kvv-accent:#f5ece9;
  --kvv-green:#2b7a4b; --kvv-green-soft:#e9f5ee;
  max-width:1180px; margin:0 auto; padding:clamp(20px,3.5vw,48px) 16px clamp(48px,6vw,88px);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; font-size:16px; line-height:1.55; color:var(--kvv-ink);
}
.kvv-zk *,.kvv-zk *::before,.kvv-zk *::after{box-sizing:border-box}
.kvv-zk h1,.kvv-zk h2,.kvv-zk h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;color:var(--kvv-ink);letter-spacing:-.01em;line-height:1.2;text-transform:none}
.kvv-zk p{margin:0}
.kvv-zk a{text-decoration:none!important}
.kvv-zk svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kvv-zk button{font-family:inherit;text-transform:none;letter-spacing:0;box-shadow:none}
.kvv-zk-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kvv-zk :focus-visible{outline:3px solid rgba(140,74,88,.4);outline-offset:2px}

/* Kop */
.kvv-zk-head{max-width:760px;margin:0 auto 24px;text-align:center}
.kvv-zk .kvv-zk-head h1{font-size:clamp(32px,4.4vw,50px);margin:0 0 12px}
.kvv-zk-head p{font-size:17.5px;color:var(--kvv-muted)}

/* Slim zoekveld */
.kvv-zk-smart{position:relative;display:flex;align-items:center;gap:10px;max-width:760px;margin:0 auto 16px;padding:7px 7px 7px 20px;border:1px solid #d9ccc8;border-radius:999px;background:#fff;box-shadow:0 8px 24px -16px rgba(79,20,6,.35);transition:border-color .15s,box-shadow .15s}
.kvv-zk-smart:focus-within{border-color:var(--kvv-primary);box-shadow:0 0 0 4px rgba(107,45,60,.12)}
.kvv-zk-smart > svg{color:var(--kvv-muted)}
.kvv-zk .kvv-zk-smart input{flex:1;min-width:0;height:46px;padding:0;border:0!important;background:transparent!important;color:var(--kvv-ink);font:inherit;font-size:16.5px;box-shadow:none!important;outline:0}
.kvv-zk .kvv-zk-go{height:46px;padding:0 24px;border:0!important;border-radius:999px;background:var(--kvv-primary)!important;color:#fff!important;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .18s}
.kvv-zk .kvv-zk-go:hover{background:var(--kvv-brand)!important}
.kvv-zk-suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;margin:0;padding:8px;list-style:none;border:1px solid var(--kvv-line);border-radius:18px;background:#fff;box-shadow:0 24px 40px -20px rgba(79,20,6,.3);max-height:420px;overflow:auto}
.kvv-zk-suggest li{margin:0}
.kvv-zk-sg{padding:10px 12px 4px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--kvv-rose)}
.kvv-zk-suggest [role="option"]{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;cursor:pointer;font-size:15.5px}
.kvv-zk-suggest [role="option"]:hover,.kvv-zk-suggest [role="option"].is-active{background:var(--kvv-soft);color:var(--kvv-brand)}
.kvv-zk-suggest [role="option"] em{font-style:normal;font-size:13px;color:var(--kvv-muted);white-space:nowrap}
.kvv-zk-suggest [role="option"].is-empty{color:var(--kvv-muted)}

/* Filterknoppen */
.kvv-zk-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 20px}
.kvv-zk-filter{position:relative}
.kvv-zk .kvv-zk-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid #d9ccc8!important;border-radius:999px;background:#fff!important;color:var(--kvv-ink)!important;font-size:15px;font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}
.kvv-zk .kvv-zk-pill:hover{border-color:var(--kvv-primary)!important}
.kvv-zk .kvv-zk-pill svg{width:16px;height:16px;transition:transform .2s}
.kvv-zk .kvv-zk-pill[aria-expanded="true"] > svg:last-child{transform:rotate(180deg)}
.kvv-zk .kvv-zk-pill--more svg{transform:none!important}
.kvv-zk .kvv-zk-pill.is-active{background:var(--kvv-accent)!important;border-color:var(--kvv-rose)!important;color:var(--kvv-brand)!important;font-weight:600}
.kvv-zk-pill-label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kvv-zk-pill-count{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--kvv-rose);color:#fff;font-size:12px;font-weight:700;text-align:center}

/* Panelen */
.kvv-zk-panel{position:absolute;left:0;top:calc(100% + 8px);z-index:40;display:none;width:360px;max-width:calc(100vw - 32px);padding:16px;border:1px solid var(--kvv-line);border-radius:18px;background:#fff;box-shadow:0 24px 48px -20px rgba(79,20,6,.3)}
.kvv-zk-panel--wide{width:520px}
.kvv-zk-filter:last-child .kvv-zk-panel{left:auto;right:0}
.kvv-zk-filter.is-open .kvv-zk-panel{display:block}
.kvv-zk-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.kvv-zk-panel-head strong{font-family:"Playfair Display",Georgia,serif;font-size:19px;font-weight:500}
.kvv-zk .kvv-zk-close{width:34px;height:34px;padding:0;border:0!important;border-radius:50%;background:var(--kvv-soft)!important;color:var(--kvv-ink)!important;font-size:22px;line-height:1;cursor:pointer}
.kvv-zk .kvv-zk-panel-search,.kvv-zk .kvv-zk-loc input{width:100%;height:42px;margin:0 0 10px;padding:0 14px;border:1px solid #ddd3cf!important;border-radius:12px!important;background:#fff!important;color:var(--kvv-ink);font:inherit;font-size:15px;box-shadow:none!important}
.kvv-zk .kvv-zk-panel-search:focus,.kvv-zk .kvv-zk-loc input:focus{outline:0;border-color:var(--kvv-primary)!important}
.kvv-zk-options{max-height:300px;overflow:auto;margin:0 -4px;padding:0 4px}
.kvv-zk-options--inline{display:flex;flex-wrap:wrap;gap:6px;max-height:none;margin:0 0 6px}
.kvv-zk-group{margin:8px 0 4px!important;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--kvv-rose)}
.kvv-zk-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:15px}
.kvv-zk-opt:hover{background:var(--kvv-soft)}
.kvv-zk-opt input{width:18px;height:18px;margin:0;accent-color:var(--kvv-primary);flex:none}
.kvv-zk-opt span{flex:1}
.kvv-zk-opt em{font-style:normal;font-size:13px;color:var(--kvv-muted)}
.kvv-zk-opt.is-disabled{opacity:.45;cursor:default}
.kvv-zk-opt.is-disabled:hover{background:transparent}
.kvv-zk-options--inline .kvv-zk-opt{padding:6px 12px;border:1px solid var(--kvv-line);border-radius:999px;gap:6px}
.kvv-zk-options--inline .kvv-zk-opt input{width:15px;height:15px}
.kvv-zk-none{padding:10px;color:var(--kvv-muted);font-size:14px}
.kvv-zk-label{margin:14px 0 8px!important;font-size:13px;font-weight:600;color:var(--kvv-ink)}
.kvv-zk-label small{font-weight:400;color:var(--kvv-muted)}
.kvv-zk-toggles{display:grid;gap:8px}
.kvv-zk-switch{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--kvv-line);border-radius:12px;cursor:pointer;font-size:15px}
.kvv-zk-switch input{width:18px;height:18px;margin:0;accent-color:var(--kvv-primary)}
.kvv-zk-switch span{flex:1}
.kvv-zk-switch em{font-style:normal;font-size:13px;color:var(--kvv-muted)}
.kvv-zk-panel-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--kvv-line)}
.kvv-zk .kvv-zk-clear-facet{padding:8px 4px;border:0!important;background:transparent!important;color:var(--kvv-muted)!important;font-size:14px;text-decoration:underline;cursor:pointer}
.kvv-zk .kvv-zk-apply,.kvv-zk .kvv-zk-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border:1px solid var(--kvv-primary)!important;border-radius:999px;background:var(--kvv-primary)!important;color:#fff!important;font-size:14.5px;font-weight:600;cursor:pointer;transition:background-color .18s}
.kvv-zk .kvv-zk-apply:hover,.kvv-zk .kvv-zk-btn:hover{background:var(--kvv-brand)!important}
.kvv-zk .kvv-zk-btn--ghost{background:#fff!important;color:var(--kvv-primary)!important;border-color:var(--kvv-line)!important}

/* Locatie */
.kvv-zk-loc{position:relative}
.kvv-zk-loc-suggest{position:absolute;left:0;right:0;top:46px;z-index:5;margin:0;padding:6px;list-style:none;border:1px solid var(--kvv-line);border-radius:12px;background:#fff;box-shadow:0 16px 32px -16px rgba(79,20,6,.3)}
.kvv-zk-loc-suggest li{margin:0}
.kvv-zk .kvv-zk-loc-suggest button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:0!important;border-radius:8px;background:transparent!important;color:var(--kvv-ink)!important;font-size:15px;text-align:left;cursor:pointer}
.kvv-zk .kvv-zk-loc-suggest button:hover{background:var(--kvv-soft)!important}
.kvv-zk-loc-suggest em{font-style:normal;font-size:13px;color:var(--kvv-muted)}
.kvv-zk .kvv-zk-geo{display:inline-flex;align-items:center;gap:8px;padding:6px 2px;border:0!important;background:transparent!important;color:var(--kvv-primary)!important;font-size:14.5px;font-weight:600;cursor:pointer}
.kvv-zk .kvv-zk-geo.is-busy{opacity:.6}
.kvv-zk-radius{display:flex;flex-wrap:wrap;gap:6px}
.kvv-zk .kvv-zk-radius button{padding:7px 14px;border:1px solid var(--kvv-line)!important;border-radius:999px;background:#fff!important;color:var(--kvv-ink)!important;font-size:14px;cursor:pointer}
.kvv-zk .kvv-zk-radius button[aria-checked="true"]{background:var(--kvv-rose)!important;border-color:var(--kvv-rose)!important;color:#fff!important}

/* Balk met actieve filters */
.kvv-zk-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:0 0 18px;padding:12px 0;border-top:1px solid var(--kvv-line);border-bottom:1px solid var(--kvv-line)}
.kvv-zk-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.kvv-zk .kvv-zk-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border:1px solid var(--kvv-rose)!important;border-radius:999px;background:var(--kvv-accent)!important;color:var(--kvv-brand)!important;font-size:13.5px;font-weight:500;cursor:pointer}
.kvv-zk .kvv-zk-chip span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(140,74,88,.15);font-size:14px;line-height:1}
.kvv-zk .kvv-zk-chip:hover span[aria-hidden]{background:var(--kvv-rose);color:#fff}
.kvv-zk .kvv-zk-clear-all{padding:6px 8px;border:0!important;background:transparent!important;color:var(--kvv-muted)!important;font-size:13.5px;text-decoration:underline;cursor:pointer}
.kvv-zk-bar-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.kvv-zk-count{font-weight:600;white-space:nowrap}
.kvv-zk-view{display:inline-flex;padding:3px;border:1px solid var(--kvv-line);border-radius:999px;background:var(--kvv-soft)}
.kvv-zk .kvv-zk-view button{padding:6px 14px;border:0!important;border-radius:999px;background:transparent!important;color:var(--kvv-muted)!important;font-size:14px;font-weight:600;cursor:pointer}
.kvv-zk .kvv-zk-view button[aria-selected="true"]{background:#fff!important;color:var(--kvv-brand)!important;box-shadow:0 1px 3px rgba(0,0,0,.08)!important}

/* Resultaten */
.kvv-zk-results,.kvv-zk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kvv-zk-results[hidden]{display:none}
.kvv-zk-card{position:relative;display:flex;gap:16px;padding:16px;border:1px solid var(--kvv-line);border-radius:18px;background:#fff;transition:border-color .18s,transform .18s}
.kvv-zk-card:hover{border-color:var(--kvv-primary);transform:translateY(-2px)}
.kvv-zk-photo{display:block;flex:none;width:84px;height:104px;border-radius:14px;overflow:hidden;background:var(--kvv-accent)}
.kvv-zk-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;max-width:none;margin:0}
.kvv-zk-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"Playfair Display",Georgia,serif;font-size:32px;color:var(--kvv-rose)}
.kvv-zk-card-body{flex:1;min-width:0}
.kvv-zk .kvv-zk-card h3{font-size:19px;margin:0 0 2px}
.kvv-zk .kvv-zk-card h3 a{color:var(--kvv-ink)!important}
.kvv-zk .kvv-zk-card h3 a::after{content:"";position:absolute;inset:0;border-radius:18px}
.kvv-zk .kvv-zk-card:hover h3 a{color:var(--kvv-brand)!important}
.kvv-zk-role{font-size:14.5px;font-weight:600;color:var(--kvv-primary)}
.kvv-zk-place{margin-top:2px!important;font-size:14px;color:var(--kvv-muted)}
.kvv-zk-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px!important}
.kvv-zk-badge{padding:2px 9px;border-radius:999px;background:var(--kvv-green-soft);color:var(--kvv-green);font-size:12px;font-weight:600}
.kvv-zk-text,.kvv-zk-helps{margin-top:8px!important;font-size:14px;color:var(--kvv-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kvv-zk-helps{color:var(--kvv-brand);font-weight:500}

.kvv-zk-empty{grid-column:1 / -1;padding:clamp(24px,4vw,40px);border-radius:20px;background:var(--kvv-soft);border:1px solid var(--kvv-line);text-align:center}
.kvv-zk .kvv-zk-empty h2{font-size:clamp(22px,2.6vw,28px);margin:0 0 8px}
.kvv-zk-empty p{color:var(--kvv-muted);margin-bottom:16px!important}
.kvv-zk-more{margin-top:24px}
.kvv-zk .kvv-zk-more-title{font-size:clamp(20px,2.4vw,24px);margin:28px 0 14px}
.kvv-zk-hint{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:18px 20px;border-radius:16px;background:var(--kvv-accent)}
.kvv-zk-hint--soft{margin-top:24px;background:var(--kvv-soft);border:1px solid var(--kvv-line)}
.kvv-zk-hint a{color:var(--kvv-primary);font-weight:600}

/* Kaart */
.kvv-zk-map-wrap[hidden]{display:none}
.kvv-zk-map{height:min(70vh,600px);border-radius:20px;overflow:hidden;border:1px solid var(--kvv-line);background:var(--kvv-soft);z-index:0}
.kvv-zk-map-note{margin-top:10px!important;font-size:14px;color:var(--kvv-muted)}
.kvv-zk-pin{background:none;border:0}
.kvv-zk-pin span{display:block;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--kvv-primary);border:3px solid #fff;box-shadow:0 4px 10px rgba(79,20,6,.35);transform:rotate(-45deg)}
.kvv-zk-pin{position:relative}
.kvv-zk-pin b{position:absolute;top:-6px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;border:2px solid #6B2D3C;color:#4F1406;font:700 11px/16px Inter,system-ui,sans-serif;text-align:center}
.kvv-zk-pop{font-family:Inter,system-ui,sans-serif;font-size:14px;min-width:200px}
.kvv-zk-pop-place{margin:0 0 6px!important;font-size:12.5px;color:#8C4A58;font-weight:600}
.kvv-zk-pop ul{margin:0;padding:0;list-style:none}
.kvv-zk-pop li{display:flex;flex-direction:column;margin:0;padding:5px 0;border-top:1px solid #efe7e4}
.kvv-zk-pop li:first-child{border-top:0;padding-top:0}
.kvv-zk-pop strong a{font-family:"Playfair Display",Georgia,serif;font-size:16.5px;font-weight:500;color:#1f1a19!important}
.kvv-zk-pop span{color:#6e625f}
.kvv-zk-pop .kvv-zk-pop-link{display:inline-block;margin-top:6px;font-weight:600;color:#6B2D3C!important}

/* Tablet en mobiel */
@media (max-width:1024px){.kvv-zk-results,.kvv-zk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .kvv-zk-results,.kvv-zk-grid{grid-template-columns:minmax(0,1fr)}
  .kvv-zk-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 16px;padding:2px 16px 6px;scrollbar-width:none}
  .kvv-zk-filters::-webkit-scrollbar{display:none}
  .kvv-zk-filter{position:static;flex:none}
  .kvv-zk-panel,.kvv-zk-panel--wide{position:fixed;left:0!important;right:0!important;top:auto;bottom:0;width:100%;max-width:none;max-height:85vh;overflow:auto;border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));z-index:100000}
  .kvv-zk-options{max-height:none}
  .kvv-zk-sheet-open::before{content:"";position:fixed;inset:0;z-index:99999;background:rgba(31,26,25,.45)}
  .kvv-zk-panel-foot{position:sticky;bottom:-18px;background:#fff;padding-bottom:4px}
  .kvv-zk-bar-right{width:100%;justify-content:space-between}
  .kvv-zk .kvv-zk-go{padding:0 16px}
  .kvv-zk-smart{padding-left:14px}
}
