.kb-vk{--kb-beige:#FBEFE4;--kb-bruin:#5a2d1c;--kb-roze:#C4727F;--kb-roze-tekst:#A65462;--kb-zacht:#6F5A45;--kb-lijn:#EFE6DC;background:var(--kb-beige);color:var(--kb-zacht)}
.kb-vk *{box-sizing:border-box}
.kb-vk-hero{text-align:center;max-width:720px;margin:0 auto;padding:64px 24px 36px}
.kb-vk-label{font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--kb-zacht);margin:0 0 14px}
.kb-vk-titel{color:var(--kb-bruin);font-weight:700;font-size:40px;line-height:1.12;margin:0 0 18px}
.kb-vk-lead{font-size:17px;line-height:1.75;margin:0 auto 26px;max-width:620px}
.kb-vk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:var(--kb-bruin);color:#fff;border:none;border-radius:30px;padding:13px 28px;font-weight:600;font-size:14px;letter-spacing:.3px;text-decoration:none;cursor:pointer;box-shadow:0 6px 18px rgba(90,45,28,.18);transition:background .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}
.kb-vk-btn:hover{background:var(--kb-roze-tekst);color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(166,84,98,.32)}
.kb-vk-btn--klein{padding:10px 20px;font-size:13px;min-height:40px}
.kb-vk-btn--leeg{background:#fff;color:var(--kb-bruin);border:1px solid var(--kb-lijn);box-shadow:none}
.kb-vk-btn--leeg:hover{background:#fff;color:var(--kb-roze-tekst);border-color:var(--kb-roze-tekst);box-shadow:0 8px 20px rgba(90,45,28,.10)}
.kb-vk-btn--licht{background:var(--kb-bruin)}
.kb-vk-kaart-sectie{padding:12px 24px 8px;scroll-margin-top:90px}
.kb-vk-kaart-wrap{max-width:1120px;margin:0 auto;background:#fff;border:1px solid var(--kb-lijn);border-radius:16px;padding:14px;box-shadow:0 8px 26px rgba(90,45,28,.08)}
#kb-vk-kaart{width:100%;height:460px;border-radius:12px;overflow:hidden;z-index:0;background:var(--kb-beige)}
.kb-vk-pin{background:none;border:none}
.kb-vk-leeg{text-align:center;color:var(--kb-zacht);padding:28px 20px}
.kb-vk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;max-width:1120px;margin:0 auto;padding:44px 24px 24px}
.kb-vk-kaartje{display:flex;flex-direction:column;background:#fff;border:1px solid var(--kb-lijn);border-radius:16px;overflow:hidden;box-shadow:0 8px 26px rgba(90,45,28,.08);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.kb-vk-kaartje:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(90,45,28,.16)}
.kb-vk-kaartje__foto{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--kb-beige)}
.kb-vk-kaartje__body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.kb-vk-kaartje__naam{color:var(--kb-bruin);font-weight:700;font-size:19px;margin:0}
.kb-vk-kaartje__plaats{font-size:13px;font-weight:600;letter-spacing:.3px;color:var(--kb-roze-tekst);margin:0}
.kb-vk-kaartje__oms{font-size:14px;line-height:1.7;margin:0}
.kb-vk-kaartje__acties{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
.kb-vk-chips{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0}
.kb-vk-chip{font-size:12px;font-weight:600;color:var(--kb-bruin);background:var(--kb-beige);border-radius:30px;padding:5px 12px;line-height:1.3}
.kb-vk-cta{padding:40px 24px 80px}
.kb-vk-cta__binnen{max-width:820px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--kb-lijn);border-radius:20px;padding:48px 32px;box-shadow:0 8px 26px rgba(90,45,28,.07)}
.kb-vk-cta__titel{color:var(--kb-bruin);font-weight:700;font-size:26px;margin:0 0 12px}
.kb-vk-cta__tekst{max-width:520px;margin:0 auto 24px;font-size:16px;line-height:1.75}
.kb-vk-popup .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 12px 34px rgba(90,45,28,.18);border:1px solid var(--kb-lijn)}
.kb-vk-popup .leaflet-popup-content{margin:15px 17px;font-size:14px;line-height:1.55;color:var(--kb-zacht)}
.kb-pop-naam{display:block;color:var(--kb-bruin);font-weight:700;font-size:16px;margin:0 0 3px}
.kb-pop-plaats{display:block;color:var(--kb-roze-tekst);font-weight:600;font-size:12px;margin:0 0 8px}
.kb-pop-regel{display:block;margin:0 0 5px}
.kb-vk-popup a{color:var(--kb-roze-tekst);text-underline-offset:3px}
.kb-vk-popup .kb-vk-chips{margin-top:8px}
@media (max-width:921px){.kb-vk-hero{padding:48px 20px 28px}.kb-vk-titel{font-size:30px}.kb-vk-lead{font-size:16px}#kb-vk-kaart{height:380px}.kb-vk-grid{padding:32px 18px 16px}.kb-vk-cta{padding:28px 18px 60px}.kb-vk-cta__binnen{padding:36px 22px}}
@media (max-width:480px){.kb-vk-titel{font-size:26px}#kb-vk-kaart{height:320px}.kb-vk-grid{grid-template-columns:1fr;gap:18px}.kb-vk-kaart-sectie{padding:10px 16px 4px}}
@media (prefers-reduced-motion:reduce){.kb-vk-kaartje,.kb-vk-btn{transition:none}.kb-vk-kaartje:hover,.kb-vk-btn:hover{transform:none}}
#kb-vk-kaart .leaflet-tile-pane{filter:grayscale(.85) sepia(.18) brightness(1.04) contrast(.92)}

.kb-vk-badge{display:inline-block;align-self:flex-start;background:var(--kb-roze-tekst);color:#fff;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;border-radius:30px;padding:5px 12px;line-height:1.3}
.kb-vk-popup .kb-vk-badge{margin:0 0 8px}
.kb-vk-kaartje--uitgelicht{border:2px solid var(--kb-roze)}


/* Uitklapbare producten */
.kb-vk-grid{align-items:start}
.kb-vk-producten{margin:2px 0;border-top:1px solid var(--kb-lijn);padding-top:10px}
.kb-vk-producten summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--kb-bruin);min-height:32px}
.kb-vk-producten summary::-webkit-details-marker{display:none}
.kb-vk-producten summary::after{content:'';width:8px;height:8px;border-right:2px solid var(--kb-roze-tekst);border-bottom:2px solid var(--kb-roze-tekst);transform:rotate(45deg);transition:transform .25s ease;margin-right:4px}
.kb-vk-producten[open] summary::after{transform:rotate(-135deg)}
.kb-vk-producten summary:hover{color:var(--kb-roze-tekst)}
.kb-vk-producten .kb-vk-chips{margin-top:8px}

/* Geen onderstreping in knoppen */
.kb-vk a.kb-vk-btn,.kb-vk a.kb-vk-btn:hover,.kb-vk a.kb-vk-btn:focus,.kb-vk a.kb-vk-btn:visited,.kb-vk .kb-vk-btn{text-decoration:none!important}

/* Vaste tekstkleur in knoppen, ook na klikken */
.kb-vk .kb-vk-btn,.kb-vk .kb-vk-btn:visited,.kb-vk .kb-vk-btn:active,.kb-vk .kb-vk-btn:focus,.kb-vk .kb-vk-btn:focus-visible{color:#fff!important}
.kb-vk button.kb-vk-btn:active,.kb-vk button.kb-vk-btn:focus{background:var(--kb-bruin)}
.kb-vk .kb-vk-btn:hover{color:#fff!important}
.kb-vk .kb-vk-btn--leeg,.kb-vk .kb-vk-btn--leeg:visited,.kb-vk .kb-vk-btn--leeg:active,.kb-vk .kb-vk-btn--leeg:focus,.kb-vk .kb-vk-btn--leeg:focus-visible{color:var(--kb-bruin)!important;background:#fff}
.kb-vk .kb-vk-btn--leeg:hover{color:var(--kb-roze-tekst)!important}

.kb-vk .kb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Mobiel: hogere kaart, compact informatievenster */
@media (max-width:600px){#kb-vk-kaart{height:430px}.kb-vk-popup .leaflet-popup-content{margin:12px 14px;font-size:13px;line-height:1.45}.kb-pop-naam{font-size:15px}.kb-pop-plaats{margin-bottom:6px}.kb-pop-regel{margin-bottom:4px}.kb-vk-popup .kb-vk-badge{font-size:10px;padding:4px 10px;margin-bottom:6px}.kb-vk-popup .kb-vk-chips{gap:5px;margin-top:6px}.kb-vk-popup .kb-vk-chip{font-size:11px;padding:3px 9px}}
