:root{--groen:#2d6a4f;--groen-diep:#1b4332;--groen-licht:#d8efe2;--terra:#c46f33;--zand:#f7f3ea;--room:#ffffff;--inkt:#22312a;--inkt-zacht:#5f7268;--rand:#e6e1d4;--schaduw:0 4px 20px rgba(27,67,50,0.16);--radius:16px;--veilig-onder:env(safe-area-inset-bottom,0px);--veilig-boven:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--inkt);background:var(--zand);-webkit-font-smoothing:antialiased}button{font:inherit;background:none;border:none;cursor:pointer}a,button{color:inherit}#kaart{position:fixed;inset:0}.topbar{position:fixed;top:calc(8px + var(--veilig-boven));left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:8px;padding:0 10px;pointer-events:none}.topbar>*{pointer-events:auto}.zoekrij,.zoekveld{display:flex;gap:8px}.zoekveld{flex:1 1;align-items:center;background:var(--room);border-radius:999px;box-shadow:var(--schaduw);padding:0 14px;height:46px}.zoekveld input{flex:1 1;border:none;outline:none;font-size:16px;background:none;min-width:0}.zoekveld .logo{font-size:19px}.profielknop{display:flex;align-items:center;gap:6px;background:var(--groen);color:#fff;border-radius:999px;box-shadow:var(--schaduw);padding:0 14px;height:46px;font-size:14px;font-weight:600;white-space:nowrap}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{display:flex;align-items:center;gap:5px;background:var(--room);border:1.5px solid transparent;border-radius:999px;box-shadow:0 2px 10px rgba(27,67,50,.12);padding:0 13px;height:38px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--inkt);transition:background .15s,border-color .15s}.chip.actief{background:var(--groen-licht);border-color:var(--groen);color:var(--groen-diep)}.chip .em{font-size:16px}.suggesties{background:var(--room);border-radius:var(--radius);box-shadow:var(--schaduw);overflow:hidden;max-height:40vh;overflow-y:auto}.suggesties button{display:block;width:100%;text-align:left;padding:12px 16px;font-size:15px;border-bottom:1px solid var(--rand)}.suggesties button small{color:var(--inkt-zacht);margin-left:6px}.kaartknoppen{position:fixed;right:10px;bottom:calc(150px + var(--veilig-onder));z-index:15;display:flex;flex-direction:column;gap:10px}.rondeknop{width:46px;height:46px;border-radius:50%;box-shadow:var(--schaduw);align-items:center;justify-content:center;font-size:20px}.rondeknop,.sheet{background:var(--room);display:flex}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;border-radius:22px 22px 0 0;box-shadow:0 -6px 30px rgba(27,67,50,.2);padding-bottom:var(--veilig-onder);flex-direction:column;transition:height .25s ease;overflow:hidden}.sheet.peek{height:calc(92px + var(--veilig-onder))}.sheet.open{height:min(62vh,560px)}.sheet.detail{height:min(78vh,700px)}.handvat{width:44px;height:5px;border-radius:3px;background:var(--rand);margin:9px auto 4px;flex:none}.sheetkop{display:flex;align-items:center;justify-content:space-between;padding:4px 18px 10px;flex:none}.sheetkop .teller{font-size:15px;font-weight:700}.sheetkop .sub{font-size:13px;color:var(--inkt-zacht)}.sheetinhoud{overflow-y:auto;flex:1 1;-webkit-overflow-scrolling:touch}.lijstitem{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 18px;border-bottom:1px solid var(--rand)}.lijstitem .stip{width:12px;height:12px;border-radius:50%;flex:none}.lijstitem .naam{font-size:15px;font-weight:600}.lijstitem .meta{font-size:13px;color:var(--inkt-zacht)}.lijstitem .prijs{margin-left:auto;font-weight:700;color:var(--groen-diep);font-size:15px;white-space:nowrap}.lijstitem .prijs small{font-weight:500;color:var(--inkt-zacht)}.detail{padding:0 18px 24px}.detail h2{font-size:21px;line-height:1.2;margin-bottom:2px}.detail .subtitel{color:var(--inkt-zacht);font-size:14px;margin-bottom:12px}.typelabel{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--groen-licht);color:var(--groen-diep);margin-right:6px}.acties{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin:14px 0 18px}.actie{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--zand);border-radius:14px;padding:11px 2px 9px;font-size:11.5px;font-weight:600;color:var(--groen-diep);text-decoration:none}.actie .em{font-size:21px}.actie.primair{background:var(--groen);color:#fff}.actie.uit{opacity:.35;pointer-events:none}.blok{margin-bottom:18px}.blok h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--inkt-zacht);margin-bottom:8px}.voorz-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:14.5px}.voorz{display:flex;align-items:center;gap:8px;padding:3px 0}.voorz .st{font-weight:700;width:18px;text-align:center}.voorz .ja{color:var(--groen)}.voorz .nee{color:#b6543f}.voorz .onb{color:#b9b2a0}.voorz.grijs{color:var(--inkt-zacht)}.prijstabel{width:100%;border-collapse:collapse;font-size:14.5px}.prijstabel td{padding:6px 0;border-bottom:1px solid var(--rand)}.prijstabel td:last-child{text-align:right;font-weight:600;white-space:nowrap}.prijstabel .totaal td{font-weight:800;color:var(--groen-diep);border-bottom:none;padding-top:9px}.disclaimer{font-size:12px;color:var(--inkt-zacht);margin-top:8px}.melding{background:#fdf3e3;border:1px solid #f0dcb8;color:#7a5b1f;border-radius:12px;padding:10px 13px;font-size:13.5px;margin-bottom:14px}.overlay{position:fixed;inset:0;z-index:40;background:rgba(27,67,50,.35);display:flex;align-items:flex-end}.paneel{background:var(--room);border-radius:22px 22px 0 0;width:100%;max-height:86vh;overflow-y:auto;padding:6px 20px calc(24px + var(--veilig-onder))}.paneel h2{font-size:18px;margin:10px 0 16px}.paneelrij{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--rand);font-size:15px;gap:10px}.paneelrij .lab{font-weight:600}.paneelrij .toel{font-size:12.5px;color:var(--inkt-zacht);font-weight:400}.stepper{display:flex;align-items:center;gap:2px}.stepper button{width:38px;height:38px;border-radius:12px;background:var(--zand);font-size:20px;font-weight:700;color:var(--groen-diep)}.stepper span{width:34px;text-align:center;font-weight:700;font-size:16px}.segment{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.segment button{flex:1 1 40%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:14px;background:var(--zand);border:1.5px solid transparent;font-size:13px;font-weight:600}.segment button .em{font-size:20px}.segment button.actief{background:var(--groen-licht);border-color:var(--groen);color:var(--groen-diep)}.schakel{width:50px;height:30px;border-radius:999px;background:var(--rand);position:relative;transition:background .15s;flex:none}.schakel:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .15s}.schakel.aan{background:var(--groen)}.schakel.aan:after{left:23px}.klaarknop{width:100%;margin-top:18px;background:var(--groen);color:#fff;border-radius:14px;padding:14px;font-size:16px;font-weight:700}.wisknop{width:100%;margin-top:8px;padding:10px;color:var(--inkt-zacht);font-size:14px;font-weight:600}input[type=range]{width:100%;accent-color:var(--groen)}.maplibregl-ctrl-attrib{font-size:10px}.maplibregl-canvas{outline:none}@media (min-width:700px){.overlay .paneel,.sheet,.topbar{left:50%;transform:translateX(-50%);width:640px}.overlay{align-items:center;justify-content:center}.overlay .paneel{border-radius:22px;transform:none}}