/* Earth Portals — de wereldkaart en de reisplanner (index.html).
   Licht en helder zoals de rest van de site: glazen panelen, de regenboogrand,
   groen voor projecten, goud voor verblijven. */

body.ep-wa,body.ep-sub{--ep-glas:rgba(255,255,255,.88);--ep-glas2:rgba(255,255,255,.95);--ep-lijn:rgba(23,61,50,.14);--ep-ink:#173d32;--ep-zacht:#5d6b64;
  --ep-project:#2fbf7f;--ep-verblijf:#e8a33a;--ep-kracht:#b98be8;--ep-regenboog:linear-gradient(90deg,#f0a9b1,#f2c98f,#f4ec9e,#aee3a6,#9ad6f0,#bba6dd,#eeaad5);
}
body.ep-wa{margin:0;overflow:hidden;background:#dff2fa;height:100vh;height:100dvh}
body.ep-wa #site{height:100%}
body.ep-wa .page-butterfly{display:none}
body.ep-wa .footer{display:none}

/* kop als zwevende glazen balk boven de kaart */
.ep-wa .header.ep-app-kop{position:fixed;z-index:30;top:12px;left:12px;right:12px;height:58px;padding:0 10px 0 18px;border-radius:20px;
  background:var(--ep-glas);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 34px rgba(32,20,12,.22);gap:18px}
.ep-wa .header.ep-app-kop::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;border-radius:2px;background:var(--ep-regenboog);opacity:.8}
.ep-wa .header.ep-app-kop nav{gap:20px}
.ep-wa .header.ep-app-kop nav a{font-size:14.5px}
.ep-wa .header.ep-app-kop nav a[aria-current="page"]{font-weight:700}
.ep-wa .header .nav-cta{padding:9px 16px}

/* de wereld */
.ep-wereld-app{position:fixed;inset:0}
.ep-wereld{position:absolute;inset:0;background:radial-gradient(ellipse at 58% 42%,#ffffff 0,#e4f5fb 36%,#cdeaf6 62%,#fde3d4 100%);transition:background .6s ease}
.ep-wereld.ep-kristal{background:radial-gradient(circle at 18% 22%,#fde9f2 0,rgba(253,233,242,0) 38%),radial-gradient(circle at 82% 26%,#e6f8fd 0,rgba(230,248,253,0) 40%),radial-gradient(circle at 70% 88%,#f1eaff 0,rgba(241,234,255,0) 45%),radial-gradient(circle at 28% 86%,#fff5d6 0,rgba(255,245,214,0) 38%),#faf8ff}
.ep-wereld.ep-donker{background:radial-gradient(ellipse at 60% 40%,#3b2a20 0,#21160f 40%,#0d0806 78%)}
body.ep-wa-nacht{background:#120c09}
.ep-wereld .maplibregl-canvas{outline:none}
.ep-wereld-laden{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;color:#173d32;font-size:15px;letter-spacing:.04em;
  background:radial-gradient(ellipse at 58% 42%,#ffffff 0,#e4f5fb 36%,#cdeaf6 62%,#fde3d4 100%);transition:opacity .8s ease;pointer-events:none;z-index:5}
.ep-wereld-laden.klaar{opacity:0}
.ep-ring{width:74px;height:74px;border-radius:50%;background:conic-gradient(#f0a9b1,#f2c98f,#f4ec9e,#aee3a6,#9ad6f0,#bba6dd,#eeaad5,#f0a9b1);
  -webkit-mask:radial-gradient(circle,transparent 31px,#000 32px);mask:radial-gradient(circle,transparent 31px,#000 32px);animation:ep-draai 2.4s linear infinite}
@keyframes ep-draai{to{transform:rotate(360deg)}}
.maplibregl-ctrl-attrib{font-size:10.5px}
.maplibregl-ctrl-bottom-right{right:8px}
.ep-wa .maplibregl-ctrl-top-right{top:132px;right:4px}
body.ep-detail-open .maplibregl-ctrl-top-right{display:none}
.ep-lagen{margin-bottom:6px}
.maplibregl-popup-content{border-radius:12px;font:13px/1.4 inherit}

/* panelen */
.ep-planner,.ep-detail,.ep-lagen,.ep-modal-in{background:var(--ep-glas);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 18px 50px rgba(32,20,12,.28);color:var(--ep-ink)}
.ep-planner{position:absolute;z-index:20;left:12px;top:84px;bottom:12px;width:min(420px,calc(100% - 24px));border-radius:24px;display:flex;flex-direction:column;overflow:hidden}
.ep-planner::before,.ep-detail::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--ep-regenboog)}
.ep-planner-greep{display:none}
.ep-planner-kop{padding:20px 22px 10px}
.ep-oog{display:block;font-size:11.5px;letter-spacing:.2em;color:var(--ep-zacht);font-weight:700}
.ep-planner h1{font-size:30px;line-height:1.1;margin:6px 0 14px;font-weight:500}
.ep-planner h1 em{color:var(--ep-ink);font-style:italic}
.ep-stappen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ep-stappen button{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--ep-lijn);background:rgba(255,255,255,.6);border-radius:14px;padding:7px 4px;
  font:inherit;font-size:12px;color:var(--ep-zacht);cursor:pointer}
.ep-stappen b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef3ef;color:var(--ep-ink);font-size:13px}
.ep-stappen button.on{border-color:var(--ep-ink);color:var(--ep-ink);background:#fff;font-weight:700}
.ep-stappen button.on b{background:var(--ep-ink);color:#fff}
.ep-stappen button.klaar b{background:var(--ep-project);color:#fff}
.ep-stappen button:disabled{opacity:.45;cursor:default}
.ep-planner-body{flex:1;overflow:auto;padding:6px 22px 22px;scrollbar-width:thin}
.ep-intro{color:var(--ep-zacht);font-size:14.5px;line-height:1.6}
.ep-planner h2{font-size:21px;margin:12px 0 6px;font-weight:600;line-height:1.25}
.ep-planner h3{font-size:15px;margin:16px 0 6px}
.ep-zacht{color:var(--ep-zacht)}.ep-klein{font-size:13px;line-height:1.5}

/* zoeken naar een land */
.ep-zoek{position:relative;margin:10px 0 6px}
.ep-zoek input{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:13px 16px 13px 42px;border-radius:16px;border:1px solid var(--ep-lijn);background:#fff;color:var(--ep-ink)}
.ep-zoek input:focus{outline:2px solid #9ad6f0;outline-offset:1px}
.ep-zoek::before{content:"⌕";position:absolute;left:15px;top:9px;font-size:22px;color:var(--ep-zacht)}
.ep-zoek ul{position:absolute;z-index:5;left:0;right:0;top:100%;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--ep-lijn);border-radius:14px;box-shadow:0 12px 30px rgba(32,20,12,.16);max-height:260px;overflow:auto}
.ep-zoek li button{width:100%;text-align:left;border:0;background:none;font:inherit;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--ep-ink);display:flex;justify-content:space-between;gap:10px}
.ep-zoek li button:hover,.ep-zoek li button.actief{background:#eef6f1}
.ep-zoek li small{color:var(--ep-zacht)}
.ep-chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.ep-chip{border:1px solid var(--ep-lijn);background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:13.5px;color:var(--ep-ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ep-chip:hover{border-color:var(--ep-ink)}
.ep-chip small{color:var(--ep-zacht)}
.ep-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.ep-dot.project{background:var(--ep-project);box-shadow:0 0 0 2px rgba(47,191,127,.25)}
.ep-dot.verblijf{background:var(--ep-verblijf);box-shadow:0 0 0 2px rgba(232,163,58,.25)}
.ep-dot.kracht{background:transparent;border:2px solid var(--ep-kracht)}

/* kaarten in de lijst */
.ep-lijst{display:grid;gap:10px;margin:10px 0}
.ep-kaartje{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:start;text-align:left;width:100%;border:1px solid var(--ep-lijn);background:#fff;border-radius:16px;padding:10px;
  font:inherit;color:var(--ep-ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.ep-kaartje:hover{border-color:var(--ep-ink);box-shadow:0 6px 18px rgba(32,20,12,.1)}
.ep-kaartje.gekozen{border:2px solid var(--ep-ink)}
.ep-foto{width:86px;height:72px;border-radius:12px;object-fit:cover;background:var(--ep-regenboog);display:grid;place-items:center;font-size:26px;color:#fff}
.ep-foto.project{background:linear-gradient(135deg,#aee3a6,#2fbf7f)}.ep-foto.verblijf{background:linear-gradient(135deg,#f4ec9e,#e8a33a)}
.ep-kaartje b{display:block;font-size:15.5px;line-height:1.3}
.ep-kaartje small{display:block;color:var(--ep-zacht);font-size:12.5px;margin-top:2px}
.ep-kaartje p{margin:5px 0 0;font-size:13.5px;line-height:1.45}
.ep-label{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef3ef;color:var(--ep-ink);margin:4px 4px 0 0}
.ep-label.goud{background:#fbe9c8}.ep-label.groen{background:#d9f2e2}.ep-label.grijs{background:#eceeed;color:#5d6b64}

/* gekozen project of verblijf */
.ep-wa-keuze{border:1px solid var(--ep-lijn);background:#fff;border-radius:18px;overflow:hidden;margin:10px 0}
.ep-wa-keuze img{width:100%;height:170px;object-fit:cover;display:block}
.ep-wa-keuze-in{padding:14px 16px}
.ep-wa-keuze-in h2{margin:0 0 4px}
.ep-wa-keuze-in p{font-size:14px;line-height:1.55;margin:8px 0}
.ep-veld{display:grid;gap:5px;margin:12px 0}
.ep-veld label{font-size:13px;font-weight:700}
.ep-veld input,.ep-veld select,.ep-veld textarea{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--ep-lijn);border-radius:12px;background:#fff;color:var(--ep-ink);width:100%;box-sizing:border-box}
.ep-veld textarea{min-height:120px;resize:vertical}
.ep-rij{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ep-schuif{display:flex;align-items:center;gap:12px}
.ep-schuif input[type=range]{flex:1;accent-color:var(--ep-project);height:28px}
.ep-schuif output{min-width:76px;text-align:right;font-weight:800;font-size:16px}
.ep-prijs{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--ep-lijn);padding-top:10px;margin-top:10px;font-size:14px}
.ep-prijs b{font-size:20px}
.ep-knoppen{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.ep-knop{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:12px 18px;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;
  background:var(--ep-ink);color:#fff;text-decoration:none}
.ep-knop:hover{filter:brightness(1.12)}
.ep-knop.licht{background:#fff;color:var(--ep-ink);border:1px solid var(--ep-lijn)}
.ep-knop.groen{background:var(--ep-project);color:#06291a}
.ep-knop.goud{background:var(--ep-verblijf);color:#2e1c00}
.ep-knop[disabled]{opacity:.5;cursor:default}
.ep-link{background:none;border:0;padding:0;font:inherit;font-size:13.5px;color:var(--ep-ink);text-decoration:underline;cursor:pointer}
.ep-melding{border-radius:14px;padding:11px 14px;font-size:14px;line-height:1.5;margin:10px 0;background:#eef6f1}
.ep-melding.fout{background:#fde8e6;color:#7a2018}
.ep-melding.goed{background:#d9f2e2}
.ep-leeg{border:1px dashed var(--ep-lijn);border-radius:16px;padding:16px;font-size:14px;line-height:1.55;background:rgba(255,255,255,.6)}

/* stap 4: je reis */
.ep-reis{border-radius:20px;background:#fff;border:1px solid var(--ep-lijn);overflow:hidden;margin:10px 0}
.ep-reis-kop{padding:16px 18px;background:linear-gradient(135deg,#173d32,#24584a);color:#fff}
.ep-reis-kop span{font-size:11.5px;letter-spacing:.2em;opacity:.8}
.ep-reis-kop h2{color:#fff;margin:4px 0 0;font-size:22px}
.ep-reis-regel{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 18px;border-top:1px solid #eef3ef;font-size:14px;line-height:1.5}
.ep-reis-regel i{font-style:normal;font-size:18px}
.ep-reis-regel b{display:block;font-size:15px}
.ep-reis-totaal{display:flex;justify-content:space-between;padding:14px 18px;background:#f5f8f6;font-weight:700}

/* details rechts */
.ep-detail{position:absolute;z-index:22;right:12px;top:84px;width:min(380px,calc(100% - 24px));max-height:calc(100% - 170px);overflow:auto;border-radius:24px;padding:0 0 16px}
.ep-detail img{width:100%;height:190px;object-fit:cover;display:block}
.ep-detail-in{padding:16px 18px 0}
.ep-detail h2{font-size:22px;margin:6px 0 4px;line-height:1.2}
.ep-detail p{font-size:14px;line-height:1.55}
.ep-x{position:absolute;z-index:2;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ep-ink);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(32,20,12,.18)}

/* lagen */
.ep-lagen{position:absolute;z-index:15;right:12px;bottom:34px;border-radius:18px;padding:6px;display:grid;gap:6px}
.ep-seg{display:flex;gap:3px;background:rgba(23,61,50,.06);border-radius:13px;padding:3px}
.ep-seg button{border:0;background:transparent;border-radius:10px;padding:7px 11px;font:inherit;font-size:13px;color:var(--ep-ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ep-seg button.on{background:#fff;box-shadow:0 1px 4px rgba(32,20,12,.15);font-weight:700}
.ep-seg-lagen button:not(.on){opacity:.55}
.ep-aanmeld-knop{position:absolute;z-index:15;right:12px;top:84px;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.9);color:var(--ep-ink);text-decoration:none;font-size:13.5px;font-weight:700;
  box-shadow:0 8px 24px rgba(32,20,12,.2)}
body.ep-detail-open .ep-aanmeld-knop{display:none}

/* venster voor een bericht */
.ep-modal{position:fixed;inset:0;z-index:60;background:rgba(32,20,12,.45);display:grid;place-items:center;padding:16px}
.ep-modal[hidden]{display:none}
.ep-modal-in{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:24px;padding:24px;background:var(--ep-glas2)}
.ep-modal-in h2{margin:0 0 8px;font-size:22px}

/* een gloeiend punt in de lijst bij het aanwijzen */
@media (prefers-reduced-motion:reduce){.ep-ring{animation:none}}

/* telefoon en smal scherm: de planner als onderblad */
@media (max-width:900px){
  .ep-wa .header.ep-app-kop{top:8px;left:8px;right:8px;height:52px;padding:0 8px 0 14px}
  .ep-wa .header.ep-app-kop nav{display:none}
  .ep-wa .header .nav-inlog{display:none}
  .ep-wa .header.ep-app-kop{flex-wrap:nowrap;gap:8px;min-height:0;height:52px;padding:0 8px 0 8px}
  .ep-wa .header .brand-portal{font-size:18px;padding:6px 12px}
  .ep-wa .header .brand-portal-wrap{flex:0 1 auto;min-width:0}
  .ep-wa .header .nav-acties{flex:0 0 auto;margin-left:auto;display:flex}
  .ep-wa .header .nav-cta{padding:7px 12px;font-size:13px;white-space:nowrap}
  .ep-wa .header .ep-taal{flex:0 0 auto;margin-left:auto}
  .ep-wa .header .ep-taal button{padding:5px 7px;font-size:11px}
  .ep-wa .maplibregl-ctrl-top-left{top:62px;left:2px}
  .ep-planner{left:0;right:0;bottom:0;top:auto;width:auto;max-height:62%;border-radius:24px 24px 0 0;transition:max-height .3s ease}
  .ep-planner.klein{max-height:178px}
  .ep-planner-greep{display:block;position:absolute;top:6px;left:50%;transform:translateX(-50%);width:80px;height:20px;border:0;background:none;cursor:pointer;z-index:2}
  .ep-planner-greep span{display:block;width:44px;height:5px;border-radius:5px;background:rgba(23,61,50,.25);margin:0 auto}
  .ep-planner-kop{padding:18px 16px 6px}
  .ep-planner h1{font-size:22px;margin:4px 0 10px}
  .ep-oog{font-size:10.5px}
  .ep-stappen button{padding:5px 2px;font-size:11px}
  .ep-planner-body{padding:4px 16px calc(16px + env(safe-area-inset-bottom))}
  .ep-detail{left:8px;right:8px;width:auto;top:auto;bottom:0;max-height:70%;border-radius:24px 24px 0 0;z-index:25}
  .ep-lagen{top:68px;right:8px;bottom:auto;padding:4px}
  .ep-seg button{padding:6px 8px;font-size:12px}
  .ep-seg-lagen button{font-size:0;gap:0;padding:7px 8px}
  .ep-seg-lagen button .ep-dot{width:12px;height:12px}
  .ep-aanmeld-knop{display:none}
  .maplibregl-ctrl-top-left{top:64px}
}
@media (max-width:900px) and (max-height:560px){.ep-planner{max-height:72%}}

/* de gewone pagina's van de reisplanner: aanmelden, mijn plek, mijn reizen */
.ep-sub .ep-pagina{max-width:860px;margin:0 auto;padding:30px 20px 70px;color:var(--ep-ink)}
.ep-sub .ep-pagina h1{font-size:clamp(30px,4.6vw,46px);line-height:1.08;margin:8px 0 14px;font-weight:500}
.ep-sub .ep-pagina h1 em{font-style:italic}
.ep-sub .ep-pagina .lead{font-size:17px;line-height:1.65;color:#3c4f47;max-width:680px}
.ep-blok{background:#fff;border:1px solid #dbe3de;border-radius:22px;padding:22px;margin:18px 0;position:relative;overflow:hidden}
.ep-blok.rand::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--ep-regenboog)}
.ep-blok h2{font-size:22px;margin:0 0 10px;font-weight:600}
.ep-keuzes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.ep-keuzes label{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe3de;border-radius:16px;padding:14px;cursor:pointer;background:#fbfcfb}
.ep-keuzes label:has(input:checked){border:2px solid var(--ep-ink);background:#fff}
.ep-keuzes b{display:block;font-size:16px}.ep-keuzes small{color:#5d6b64;font-size:13px;line-height:1.45;display:block;margin-top:2px}
.ep-minikaart{height:300px;border-radius:16px;overflow:hidden;border:1px solid #dbe3de;margin-top:6px;background:#eef3ef}
.ep-zoekrij{display:flex;gap:8px}.ep-zoekrij input{flex:1}
.ep-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:10px 0}
.ep-check input{margin-top:4px;width:18px;height:18px;accent-color:#173d32}
.ep-hint{font-size:12.5px;color:#5d6b64;font-weight:400}
.ep-tabel{width:100%;border-collapse:collapse;font-size:14px}
.ep-tabel td,.ep-tabel th{text-align:left;padding:9px 8px;border-bottom:1px solid #eef3ef;vertical-align:top}
.ep-st{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef3ef}
.ep-st.nieuw,.ep-st.aangevraagd{background:#fff1c9}.ep-st.goedgekeurd,.ep-st.betaald{background:#d9f2e2}.ep-st.afgewezen,.ep-st.verlopen{background:#fde0e0}
.ep-st.gepauzeerd,.ep-st.geannuleerd{background:#e9e9e9}.ep-st.bevestigd{background:#dbeefe}
@media (max-width:700px){.ep-keuzes{grid-template-columns:1fr}.ep-sub .ep-pagina{padding:20px 14px 60px}.ep-blok{padding:16px}}
/* de melding "Earth Portals als app" (pwa.js) op de kaartpagina bovenin, niet over de reisplanner */
body.ep-wa .ep-app{top:72px;bottom:auto;transform:translateY(-170%)}
body.ep-wa .ep-app.zichtbaar{transform:none}
.ep-reis.gekozen{outline:3px solid #e8a33a;outline-offset:2px}

/* ================================================================== */
/* V27 — het levende netwerk: filters, hulp, vlinder, Earth Match,    */
/* dossier, paspoort en landenpagina's                                 */
/* ================================================================== */
:root{--ep-hulp:#e86a8f;--ep-lavendel:#6e4fa0}
.ep-dot.hulp{background:transparent;border:2px solid var(--ep-hulp)}
.ep-seg-thema{align-items:center}
.ep-seg-thema select{flex:1;min-width:0;border:0;background:#fff;border-radius:10px;padding:7px 8px;font:inherit;font-size:13px;color:var(--ep-ink)}
.ep-seg-thema button[data-hulp]:not(.on){opacity:.6}
.ep-label.roze{background:#fde3ec;color:#8a1f45}
.ep-wa-naam .maplibregl-popup-content{border-radius:999px;padding:6px 13px;font-size:13.5px;box-shadow:0 4px 16px rgba(32,20,12,.18)}
.ep-wa-naam .maplibregl-popup-tip{display:none}
.ep-portal-oog{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--ep-lavendel);background:#f1eaff;border-radius:999px;padding:4px 10px;margin-bottom:8px}
.ep-hulpmini{border-left:3px solid var(--ep-hulp);padding:4px 0 4px 12px;margin:12px 0;display:grid;gap:4px;font-size:14px}
.ep-hulpmini a{color:var(--ep-ink)}
.ep-hulpkort{display:grid;gap:8px;margin:8px 0 6px}
.ep-hulpkort a{display:grid;gap:2px;text-decoration:none;color:var(--ep-ink);background:#fff;border:1px solid var(--ep-lijn);border-left:4px solid var(--ep-hulp);border-radius:12px;padding:9px 12px}
.ep-hulpkort a:hover{border-color:var(--ep-ink);border-left-color:var(--ep-hulp)}
.ep-hulpkort small{font-size:11.5px;color:#8a1f45;font-weight:700;letter-spacing:.02em}
.ep-hulpkort span{font-size:12.5px;color:var(--ep-zacht)}
.ep-match-knop{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;width:100%;text-align:left;border:1px solid rgba(110,79,160,.25);background:linear-gradient(120deg,#fdf1f6,#f1eaff 55%,#e6f8fd);
  border-radius:16px;padding:11px 14px;margin:12px 0 4px;cursor:pointer;font:inherit;color:var(--ep-ink)}
.ep-match-knop span{grid-row:span 2;font-size:22px;color:var(--ep-lavendel)}
.ep-match-knop small{color:var(--ep-zacht);font-size:12.5px}
.ep-match-knop:hover{border-color:var(--ep-lavendel)}
.ep-match fieldset{border:0;padding:0;margin:10px 0}
.ep-match legend{font-weight:700;font-size:13.5px;margin-bottom:6px}
.ep-vinkjes{display:flex;flex-wrap:wrap;gap:6px}
.ep-vinkjes label,.ep-vinkje{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;border:1px solid var(--ep-lijn);border-radius:999px;padding:6px 11px;background:#fff;cursor:pointer}
.ep-vinkje{margin:4px 0 8px}
.ep-match-lijst{display:grid;gap:10px;margin:8px 0}
.ep-match-kaart{border:1px solid var(--ep-lijn);border-radius:16px;padding:12px 14px;background:#fff}
.ep-match-kaart small{display:block;color:var(--ep-zacht);font-size:12.5px}
.ep-waarom{list-style:none;margin:8px 0;padding:0;display:grid;gap:3px;font-size:13.5px}
.ep-waarom li{padding-left:20px;position:relative}
.ep-waarom li.ja:before{content:"✓";position:absolute;left:0;color:#1f8a57;font-weight:800}
.ep-waarom li.vraag:before{content:"?";position:absolute;left:2px;color:#a86b00;font-weight:800}
.ep-eerlijk{border-radius:14px;background:#f2f8f4;padding:11px 14px;margin:12px 0;font-size:13.5px;line-height:1.55}
.ep-eerlijk p{margin:4px 0 0}
/* de vlinder */
.ep-vlinder-plek{position:absolute;z-index:16;left:468px;bottom:26px;display:flex;align-items:flex-start;gap:2px}
.ep-vlinder{display:flex;align-items:center;gap:8px;border:0;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:999px;padding:5px 14px 5px 6px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;color:var(--ep-ink);box-shadow:0 6px 20px rgba(32,20,12,.16);
  transition:transform 1.4s cubic-bezier(.45,.05,.3,1),opacity .6s ease}
.ep-vlinder:hover{box-shadow:0 8px 26px rgba(110,79,160,.3)}
.ep-vl{display:flex;width:40px;aspect-ratio:1/1;transform:rotate(-12deg)}
.ep-vl .vl-vleugel{display:block;width:50%;align-self:stretch;background-image:url("assets/vlinder-regenboog.png");background-size:200% 100%;background-repeat:no-repeat;
  will-change:transform;transform:translateZ(0);backface-visibility:hidden}
.ep-vlinder.vliegt{pointer-events:none}
.ep-vlinder.vliegt .ep-vlinder-tekst{opacity:0;transition:opacity .3s}
.ep-vlinder.vliegt .vl-vleugel{animation-duration:.55s}
.ep-vlinder-weg{border:0;background:rgba(255,255,255,.75);border-radius:50%;width:22px;height:22px;font-size:14px;line-height:1;cursor:pointer;color:var(--ep-zacht)}
.ep-vlinder[hidden],.ep-vlinder[hidden]+.ep-vlinder-weg{display:none}
body.ep-detail-open .ep-vlinder-plek{display:none}
@media (max-width:900px){
  .ep-vlinder-plek{left:8px;right:auto;top:118px;bottom:auto}
  .ep-vlinder{padding:5px}
  .ep-vlinder-tekst{display:none}
  .ep-vl{width:34px}
  .ep-seg-thema select{font-size:12px;padding:6px}
  .ep-seg-thema button[data-hulp]{font-size:0;gap:0;padding:7px 8px}
}

/* ---------------- dossier (plek.html) ---------------- */
.ep-dossier-kop{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px;align-items:start}
.ep-dossier-foto{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;background:linear-gradient(135deg,#d9f2e2,#f1eaff);display:grid;place-items:center;font-size:54px}
.ep-dossier-kop h1{margin-top:6px}
.ep-status{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;border-radius:999px;padding:5px 11px;background:#d9f2e2;color:#145236}
.ep-status.update_gewenst{background:#fff1c9;color:#6b4a00}.ep-status.beoordeling{background:#eceeed;color:#4b5a53}.ep-status.redactie{background:#eceeed;color:#4b5a53}
.ep-acties{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.ep-sectie{margin:30px 0}
.ep-sectie>h2{font-size:24px;margin:0 0 10px;font-weight:600}
.ep-drie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ep-bijdrage{background:#fff;border:1px solid #dbe3de;border-radius:18px;padding:16px}
.ep-bijdrage h3{margin:0 0 6px;font-size:16px}
.ep-bijdrage p{margin:6px 0;font-size:14px;line-height:1.55}
.ep-hulpvraag{background:#fff;border:1px solid #dbe3de;border-left:5px solid var(--ep-hulp);border-radius:18px;padding:16px 18px;margin:10px 0;scroll-margin-top:90px}
.ep-hulpvraag:target{box-shadow:0 0 0 3px rgba(232,106,143,.35)}
.ep-hulpvraag h3{margin:4px 0 6px;font-size:18px}
.ep-hulpvraag .ep-meta{font-size:12.5px;color:#8a1f45;font-weight:700}
.ep-hulpvraag.dicht{border-left-color:#c9d2cd;opacity:.75}
.ep-tijdlijn{display:grid;gap:14px}
.ep-update{background:#fff;border:1px solid #dbe3de;border-radius:18px;overflow:hidden}
.ep-update-in{padding:14px 18px}
.ep-update-in h3{margin:4px 0 6px;font-size:17px}
.ep-update img{display:block;width:100%;max-height:420px;object-fit:cover}
.ep-voorna{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#dbe3de}
.ep-voorna figure{margin:0;position:relative;background:#fff}
.ep-voorna img{height:260px;max-height:none}
.ep-voorna figcaption{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.ep-video{position:relative;aspect-ratio:16/9;background:#173d32;display:grid;place-items:center;color:#fff}
.ep-video button{border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;background:#fff;color:var(--ep-ink)}
.ep-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ep-video small{display:block;margin-top:8px;font-size:12px;opacity:.85;text-align:center;max-width:320px}
.ep-vertrouwen{background:#f2f8f4;border-radius:18px;padding:16px 18px;font-size:14px;line-height:1.6}
.ep-vertrouwen ul{margin:8px 0 0;padding-left:20px}
.ep-eigenaar{background:#fdfaf3;border:1px dashed #d9c9a3;border-radius:20px;padding:18px;margin:30px 0}
.ep-eigenaar h2{margin-top:0;font-size:24px;font-weight:600}
.ep-eigenaar details{background:#fff;border:1px solid #e6dcc5;border-radius:14px;padding:10px 14px;margin:10px 0}
.ep-eigenaar summary{cursor:pointer;font-weight:700}
.ep-form .ep-veld{margin:10px 0}
.ep-form label{display:block;font-size:13.5px;font-weight:700;margin-bottom:4px}
.ep-form input[type=text],.ep-form input[type=url],.ep-form input[type=date],.ep-form input[type=number],.ep-form select,.ep-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14.5px;padding:9px 11px;border:1px solid #cdd8d2;border-radius:11px;background:#fff}
.ep-form textarea{min-height:90px}
.ep-contacten{display:grid;gap:6px}
.ep-contacten div{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #e6dcc5;border-radius:12px;padding:8px 12px;font-size:14px}
@media (max-width:760px){.ep-dossier-kop,.ep-drie{grid-template-columns:1fr}.ep-voorna img{height:170px}}

/* ---------------- paspoort ---------------- */
.ep-paspoort{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.ep-paspoort-bol{position:relative;aspect-ratio:1/1;border-radius:26px;overflow:hidden;
  background:radial-gradient(circle at 18% 22%,#fde9f2 0,rgba(253,233,242,0) 40%),radial-gradient(circle at 82% 26%,#e6f8fd 0,rgba(230,248,253,0) 42%),radial-gradient(circle at 70% 88%,#f1eaff 0,rgba(241,234,255,0) 46%),#faf8ff}
.ep-paspoort-bol>div{position:absolute;inset:0}
.ep-telling{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}
.ep-telling div{background:#fff;border:1px solid #dbe3de;border-radius:16px;padding:10px 16px}
.ep-telling b{display:block;font-size:26px;font-weight:600}
.ep-telling small{color:var(--ep-zacht);font-size:12.5px}
.ep-stempels{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ep-stempel{background:#fff;border:1px solid #dbe3de;border-radius:18px;padding:14px;position:relative}
.ep-stempel-kristal{width:48px;height:48px;clip-path:polygon(50% 0,92% 26%,92% 74%,50% 100%,8% 74%,8% 26%);margin-bottom:8px;
  background:linear-gradient(135deg,var(--k1,#fde9f2) 0 34%,var(--k2,#e79fbd) 34% 52%,var(--k1,#fde9f2) 52% 70%,var(--k2,#e79fbd) 70%)}
.ep-stempel h3{margin:2px 0;font-size:16px}
.ep-stempel small{color:var(--ep-zacht);font-size:12.5px}
.ep-stempel blockquote{margin:8px 0;font-style:italic;font-size:13.5px;color:#3c4f47}
.ep-stempel label{display:block;margin-top:10px}
.ep-stempel textarea{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;border:1px solid #dbe3de;border-radius:10px;padding:7px 9px;min-height:54px}
@media (max-width:760px){.ep-paspoort{grid-template-columns:1fr}}

/* ---------------- landenpagina's ---------------- */
.ep-landenlijst{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:18px 0}
.ep-landkaart{display:grid;gap:3px;background:#fff;border:1px solid #dbe3de;border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--ep-ink)}
.ep-landkaart:hover,.ep-landplek:hover{border-color:var(--ep-ink)}
.ep-landkaart small{color:var(--ep-zacht)}
.ep-landplekken{display:grid;gap:10px;margin:10px 0 24px}
.ep-landplek{display:grid;grid-template-columns:120px 1fr;gap:14px;background:#fff;border:1px solid #dbe3de;border-radius:18px;padding:10px;text-decoration:none;color:var(--ep-ink);align-items:start}
.ep-landplek img,.ep-landplek-leeg{width:120px;height:90px;object-fit:cover;border-radius:12px;background:linear-gradient(135deg,#d9f2e2,#f1eaff);display:grid;place-items:center;font-size:26px}
.ep-landplek>span{display:grid;gap:3px;font-size:14px;line-height:1.5}
.ep-landplek small{color:var(--ep-zacht)}
.ep-hulplijst{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:10px 0 24px}
.ep-hulpkaart{display:grid;gap:3px;background:#fff;border:1px solid #dbe3de;border-left:5px solid var(--ep-hulp);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ep-ink)}
.ep-hulpkaart small{color:#8a1f45;font-weight:700;font-size:12px}
.ep-hulpkaart span{font-size:13px;color:var(--ep-zacht)}
@media (max-width:560px){.ep-landplek{grid-template-columns:84px 1fr}.ep-landplek img,.ep-landplek-leeg{width:84px;height:70px}}
