/*
Theme Name: Vind uw therapeut
Theme URI: https://vinduwtherapeut.nl
Author: Marco van Gils
Description: Standalone theme voor vinduwtherapeut.nl — modern directory voor erkende psychologen (LVVP/NIP/NVP). Navy + teal + cream palette, Lora+Inter typografie, mobile-first.
Version: 0.2.0
Text Domain: vinduwtherapeut
Tags: directory, therapeut, BIG, AGB, GGZ
*/

:root {
  --vut-navy:#143C64; --vut-navy-darker:#0E2D4D;
  --vut-teal:#64B4A0; --vut-teal-dark:#3D8474; --vut-teal-50:#F0F9F7; --vut-teal-100:#D6EEE7;
  --vut-cream-cta:#F4D58D; --vut-cream-cta-hover:#E5C375;
  --vut-crimson:#DC143C; --vut-pin-red:#DC143C;
  --vut-bg-cream:#FAF8F5; --vut-bg-mist:#F2F4F7;
  --vut-text:#1F2937; --vut-text-muted:#6B7280; --vut-border:#E5E7EB;
  --vut-font-sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --vut-font-serif:'Lora',Georgia,serif;
  --vut-shadow-card:0 12px 30px rgba(20,60,100,.10);
  --vut-shadow-cta:0 4px 14px rgba(244,213,141,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--vut-font-sans);background:var(--vut-bg-cream);color:var(--vut-text);line-height:1.6;font-size:16px}
a{color:var(--vut-teal-dark);text-decoration:none;transition:color .15s}
a:not([class*="vut-btn"]):not([class*="vut-sticky-cta__btn"]):hover{color:var(--vut-teal)}
/* Knoppen behouden hun eigen tekstkleur bij hover (geen globale a:hover-overrule) */
a.vut-btn-primary,a.vut-btn-primary:hover,a.vut-btn-primary:focus,a.vut-btn-primary:visited{color:var(--vut-navy)}
a.vut-btn-ghost,a.vut-btn-ghost:hover,a.vut-btn-ghost:focus,a.vut-btn-ghost:visited{color:var(--vut-navy)}
a.vut-btn-card,a.vut-btn-card:hover,a.vut-btn-card:focus,a.vut-btn-card:visited{color:#fff}
img{max-width:100%;height:auto}
img.emoji,img[class*="emoji"]{height:1em!important;width:auto!important;max-width:1.2em;display:inline-block;vertical-align:-.1em}

/* Crisis banner */
.vut-crisis-bar{background:var(--vut-crimson);color:#fff;text-align:center;padding:9px 16px;font-size:14px;font-weight:500;position:sticky;top:0;z-index:9001}
.vut-crisis-bar img,
.vut-crisis-bar .emoji,
img.emoji{height:1em!important;width:auto!important;max-height:18px;display:inline;margin:0 2px;vertical-align:-.1em;border:none;box-shadow:none}
.vut-crisis-bar a{color:#fff;font-weight:700;text-decoration:underline}

/* Header */
.vut-header{background:#fff;border-bottom:1px solid var(--vut-border);position:sticky;top:34px;z-index:9000}
/* Leaflet z-index isolation: voorkomt dat markers/popups over de sticky header heen schuiven */
#vut-zoek-map,.vut-map-wrap{position:relative;z-index:0;isolation:isolate}
.leaflet-pane,.leaflet-top,.leaflet-bottom{z-index:1!important}
.leaflet-marker-pane,.leaflet-popup-pane,.leaflet-tooltip-pane{z-index:auto}
.vut-header-inner{max-width:1280px;margin:0 auto;padding:20px 32px;display:flex;justify-content:space-between;align-items:center}
.vut-logo{display:flex;align-items:center;gap:14px}
.vut-logo-mark{width:48px;height:48px}
.vut-logo-text{font-family:var(--vut-font-serif);font-weight:600;font-size:22px;color:var(--vut-navy);line-height:1.1}
.vut-logo-text small{display:block;font-family:var(--vut-font-sans);font-size:11px;color:var(--vut-teal-dark);font-weight:500;letter-spacing:.5px}
.vut-nav{display:flex;gap:32px;align-items:center}
.vut-nav a{color:var(--vut-text);font-weight:500;font-size:15px}
.vut-nav .login-btn{background:var(--vut-navy);color:#fff;padding:9px 18px;border-radius:8px;font-weight:600}
.vut-nav .login-btn:hover{background:var(--vut-navy-darker);color:#fff}

/* Hero */
.vut-hero{background:linear-gradient(135deg,var(--vut-bg-cream) 0%,var(--vut-teal-50) 100%);padding:80px 32px 100px}
.vut-hero-inner{max-width:1100px;margin:0 auto;text-align:center}
.vut-eyebrow{font-size:14px;color:var(--vut-teal-dark);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}
.vut-hero h1{font-family:var(--vut-font-serif);font-weight:600;font-size:56px;line-height:1.15;color:var(--vut-navy);margin-bottom:18px;letter-spacing:-.01em}
.vut-hero h1 .accent{color:var(--vut-teal-dark);font-style:italic}
.vut-hero-sub{font-size:19px;color:var(--vut-text-muted);max-width:680px;margin:0 auto 40px;line-height:1.55}

/* Search box */
.vut-search-box{background:#fff;border-radius:20px;box-shadow:var(--vut-shadow-card);padding:28px;max-width:920px;margin:0 auto}
.vut-search-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.vut-field{display:flex;flex-direction:column;gap:6px;text-align:left}
.vut-field label{font-size:12px;font-weight:600;color:var(--vut-text-muted);letter-spacing:.5px;text-transform:uppercase}
.vut-field input,.vut-field select{padding:13px 14px;border:1.5px solid var(--vut-border);border-radius:10px;font-family:var(--vut-font-sans);font-size:15px;color:var(--vut-text);background:#fff}
.vut-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%230b2545' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;padding-right:40px}
.vut-field input:focus,.vut-field select:focus{outline:none;border-color:var(--vut-teal)}
.vut-search-actions{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:6px}
.vut-help-link{font-weight:500;font-size:15px;color:var(--vut-teal-dark)}
.vut-help-link::before{content:'✨ '}
.vut-btn-primary{background:var(--vut-cream-cta);color:var(--vut-navy);border:none;padding:15px 32px;border-radius:50px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--vut-shadow-cta)}
.vut-btn-primary:hover{background:var(--vut-cream-cta-hover);transform:translateY(-1px)}

/* Trust strip */
.vut-trust{background:#fff;border-bottom:1px solid var(--vut-border);padding:28px 32px}
.vut-trust-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;gap:32px;flex-wrap:wrap}
.vut-trust-item{display:flex;align-items:center;gap:10px;color:var(--vut-text-muted);font-size:14px;font-weight:500}
.vut-trust-item strong{color:var(--vut-navy)}

/* Listings */
.vut-listings{padding:80px 32px;max-width:1280px;margin:0 auto}
.vut-section-head{text-align:center;margin-bottom:48px}
.vut-section-head h2{font-family:var(--vut-font-serif);font-weight:600;font-size:38px;color:var(--vut-navy);margin-bottom:8px}
.vut-section-head p{color:var(--vut-text-muted);font-size:17px}
.vut-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px}
.vut-card{background:#fff;border:1px solid var(--vut-border);border-radius:20px;padding:28px;transition:all .25s;display:flex;flex-direction:column}
.vut-card:hover{border-color:var(--vut-teal);box-shadow:var(--vut-shadow-card);transform:translateY(-2px)}
.vut-card-top{display:flex;gap:18px;margin-bottom:18px}
.vut-avatar{width:72px;height:72px;border-radius:50%;background:var(--vut-teal-100);display:flex;align-items:center;justify-content:center;font-family:var(--vut-font-serif);font-weight:600;font-size:24px;color:var(--vut-teal-dark);flex-shrink:0}
.vut-card-name{font-family:var(--vut-font-serif);font-weight:600;font-size:22px;color:var(--vut-navy);line-height:1.2;margin-bottom:4px}
.vut-card-role{font-size:14px;color:var(--vut-teal-dark);font-weight:500;margin-bottom:6px}
.vut-card-loc{font-size:13px;color:var(--vut-text-muted)}
.vut-card-loc::before{content:'📍 '}
.vut-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.vut-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:50px}
.vut-badge.vergoed{background:var(--vut-teal-100);color:var(--vut-teal-dark)}
.vut-badge.big{background:#E0EBFF;color:var(--vut-navy)}
.vut-badge.crisis{background:#FEE2E2;color:#991B1B}
.vut-badge.direct{background:#FEF3C7;color:#92400E}
.vut-card-intro{font-size:14px;color:var(--vut-text);line-height:1.55;margin-bottom:18px;flex-grow:1}
.vut-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.vut-chip{font-size:12px;padding:4px 10px;border-radius:50px;background:var(--vut-bg-mist);color:var(--vut-text);font-weight:500}
.vut-card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vut-border);padding-top:14px}
.vut-price{font-family:var(--vut-font-serif);font-weight:600;font-size:16px;color:var(--vut-navy)}
.vut-wachttijd{font-size:13px;color:var(--vut-text-muted)}
.vut-btn-card{background:var(--vut-teal);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s;margin-top:14px;width:100%}
.vut-btn-card:hover{background:var(--vut-teal-dark)}

/* Footer */
.vut-footer{background:var(--vut-navy);color:#cad5e2;padding:60px 32px 30px;margin-top:80px}
.vut-footer-inner{max-width:1280px;margin:0 auto}
.vut-footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;margin-bottom:48px}
.vut-footer-col h4{font-family:var(--vut-font-serif);color:#fff;font-weight:600;font-size:18px;margin-bottom:18px}
.vut-footer-col ul{list-style:none}
.vut-footer-col li{margin-bottom:10px}
.vut-footer-col a{color:#cad5e2;font-size:14px}
.vut-footer-col a:hover{color:#fff}
.vut-footer-bottom{border-top:1px solid #2a4d75;padding-top:24px;text-align:center;font-size:13px;color:#8da4bd}

@media(max-width:768px){
  .vut-hero h1{font-size:36px}
  .vut-search-grid{grid-template-columns:1fr}
  .vut-footer-cols{grid-template-columns:repeat(2,1fr);gap:32px}
  .vut-header-inner{padding:16px 20px}
  .vut-nav{display:none}
}
