:root {
    --kd-blue:    #103A63;
    --kd-orange:  #1668C7;
    --kd-gray-bg: var(--grm-canvas,#f5f7fa);
    --kd-green:   #103A63;
    --kd-text:    var(--grm-ink,#041e42);
    --kd-muted:   var(--grm-ink-400,#7A8794);
    --kd-border:  rgba(0,0,0,0.04);
    --kd-shadow-s:0 2px 8px rgba(0,0,0,0.04);
    --kd-shadow-m:0 12px 30px rgba(0,0,0,0.08);
    --kd-radius:  28px;
}
.kd-modern-container { max-width:1800px; font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

.kd-search-block {
    background:#fff; border-radius:20px;
    padding:28px 30px 22px; margin-bottom:32px;
    border:2px solid var(--grm-line-soft,#eaeff5);
    box-shadow:0 4px 20px rgba(16,58,99,.06);
}

.kd-filter-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; padding-bottom:14px; border-bottom:2px solid var(--kd-gray-bg); }
.kd-filter-title { font-size:18px; font-weight:800; color:var(--kd-text); margin:0; display:flex; align-items:center; gap:8px; }
.kd-filter-title::before {
    content:''; display:inline-block; width:20px; height:20px;
    background:var(--kd-blue); border-radius:6px;
    -webkit-mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3e%3cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3e%3c/svg%3e") no-repeat center/contain;
    mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3e%3cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3e%3c/svg%3e") no-repeat center/contain;
}
.kd-filter-clear {
    background:var(--kd-gray-bg); border:none; color:var(--kd-blue); font-size:13px;
    font-weight:700; cursor:pointer; font-family:inherit; padding:6px 16px;
    border-radius:8px; transition:all .15s;
}
.kd-filter-clear:hover { background:var(--kd-blue); color:#fff; }

.kd-filter-section { margin-bottom:22px; }
.kd-filter-label {
    display:block; font-size:12px; font-weight:700; color:var(--kd-blue);
    margin-bottom:10px; text-transform:uppercase; letter-spacing:.8px;
}

.kd-dd { position:relative; }

.kd-dd-trigger {
    display:flex; align-items:center; flex-wrap:wrap; gap:6px;
    min-height:46px; padding:8px 40px 8px 12px; position:relative;
    background:var(--kd-gray-bg); border:2px solid var(--grm-line-soft,#eaeff5); border-radius:12px;
    cursor:pointer; transition:border-color .15s, background .15s;
    user-select:none;
}
.kd-dd-trigger:hover, .kd-dd.open .kd-dd-trigger {
    border-color:var(--kd-blue); background:#fff;
}
.kd-dd-chev {
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    color:var(--grm-ink-300,#a8b4bc); transition:transform .2s; pointer-events:none; flex-shrink:0;
}
.kd-dd.open .kd-dd-chev { transform:translateY(-50%) rotate(180deg); }

.kd-dd-pills { display:contents; }
.kd-dd-placeholder { font-size:13px; color:var(--grm-ink-300,#a8b4bc); font-weight:500; }

.kd-dd-pill {
    display:inline-flex; align-items:center; gap:5px;
    background:var(--kd-blue); color:#fff;
    font-size:11px; font-weight:700; padding:4px 8px 4px 11px;
    border-radius:50px; white-space:nowrap; line-height:1;
}
.kd-dd-pill-x {
    cursor:pointer; background:rgba(255,255,255,.25); border:none; color:#fff;
    width:16px; height:16px; border-radius:50%; padding:0; line-height:1;
    font-size:12px; display:flex; align-items:center; justify-content:center;
    transition:background .12s;
}
.kd-dd-pill-x:hover { background:rgba(255,255,255,.45); }

.kd-dd-panel {
    position:absolute; left:0; right:0; top:calc(100% + 6px);
    background:#fff; border:2px solid var(--kd-blue); border-radius:14px;
    box-shadow:0 8px 28px rgba(16,58,99,.14); z-index:200; overflow:hidden;
}
.kd-dd-panel[hidden] { display:none; }

.kd-act-sf-body .kd-dd-panel{ position:static; margin-top:6px; z-index:auto; }

.kd-act-sf-body .kd-dd-trigger{ background:#fff !important; border-color:var(--grm-line,#d7dee7); }
.kd-act-sf-body .kd-dd-placeholder{ color:var(--grm-success-text,#0b2a49); font-weight:600; }
.kd-act-sf-body .kd-dd-search{ color:var(--grm-success-text,#0b2a49); }
.kd-act-sf-body .kd-dd-search::placeholder{ color:var(--grm-ink-500,#55636e); }

.kd-dd-search-wrap {
    display:flex; align-items:center; gap:8px;
    padding:10px 14px; border-bottom:1px solid var(--grm-line-soft,#eaeff5);
}
.kd-dd-search {
    flex:1; border:none; background:none; font-size:13px;
    font-family:inherit; color:var(--kd-text); outline:none;
}
.kd-dd-search::placeholder { color:var(--grm-ink-300,#a8b4bc); }

.kd-dd-options { max-height:220px; overflow-y:auto; padding:6px; scrollbar-width:thin; }
.kd-dd-options::-webkit-scrollbar { width:4px; }
.kd-dd-options::-webkit-scrollbar-thumb { background:var(--grm-brand-100,#d3e0ef); border-radius:4px; }

.kd-dd-opt {
    display:flex; align-items:center; gap:10px;
    padding:8px 10px; border-radius:8px; cursor:pointer;
    font-size:13px; color:var(--kd-text); font-weight:500;
    transition:background .12s;
}
.kd-dd-opt:hover { background:var(--grm-sky-50,#edf2f8); }
.kd-dd-opt input { position:absolute; opacity:0; width:0; height:0; }

.kd-dd-check-box {
    width:18px; height:18px; flex-shrink:0;
    border:2px solid var(--grm-brand-100,#d3e0ef); border-radius:5px;
    display:flex; align-items:center; justify-content:center;
    transition:all .12s; background:#fff;
}
.kd-dd-opt input:checked + .kd-dd-check-box {
    background:var(--kd-blue); border-color:var(--kd-blue);
}
.kd-dd-opt input:checked + .kd-dd-check-box::after {
    content:''; display:block; width:10px; height:6px;
    border-left:2px solid #fff; border-bottom:2px solid #fff;
    transform:rotate(-45deg) translate(1px,-1px);
}
.kd-dd-opt-lbl { flex:1; }

.kd-toggle-filters { display:flex; flex-wrap:wrap; gap:24px; }
.kd-toggle-pill { display:flex; align-items:center; gap:10px; cursor:pointer; user-select:none; }
.kd-toggle-pill input { display:none; }
.kd-toggle-track {
    width:46px; height:26px; border-radius:13px; background:var(--grm-brand-100,#d3e0ef);
    position:relative; transition:background .2s; flex-shrink:0;
}
.kd-toggle-thumb {
    width:22px; height:22px; border-radius:50%; background:#fff;
    position:absolute; top:2px; left:2px; transition:transform .2s;
    box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.kd-toggle-pill input:checked + .kd-toggle-track { background:var(--kd-blue); }
.kd-toggle-pill input:checked + .kd-toggle-track .kd-toggle-thumb { transform:translateX(20px); }
.kd-toggle-text { font-size:14px; font-weight:600; color:var(--kd-text); }

.kd-filter-count {
    display:flex; align-items:center; justify-content:center; gap:6px;
    font-size:14px; color:var(--kd-muted); font-weight:600; text-align:center;
    padding:10px 0 0; margin-top:6px; border-top:2px solid var(--kd-gray-bg);
}
.kd-filter-count span { color:var(--kd-blue); font-weight:800; font-size:18px; }

.kd-filter-header--gv{ flex-wrap:wrap; gap:12px; }
.kd-filter-header-right{ display:flex; align-items:center; gap:12px; margin-left:auto; }
.kd-view-toggle{ display:inline-flex; background:var(--kd-gray-bg); border:1.5px solid var(--grm-line-soft,#eaeff5); border-radius:11px; padding:3px; gap:2px; }
.kd-view-toggle .kd-view-btn{
    display:inline-flex; align-items:center; gap:6px; border:none; background:transparent; cursor:pointer;
    font-family:var(--grm-font-body),sans-serif; font-size:13px; font-weight:700; color:var(--kd-muted);
    padding:7px 14px; border-radius:8px; transition:all .15s; margin:0; white-space:nowrap; line-height:1;
}
.kd-view-toggle .kd-view-btn svg{ width:14px; height:14px; flex-shrink:0; }
.kd-view-toggle .kd-view-btn.is-active{ background:#103A63; color:#fff; box-shadow:0 3px 8px rgba(16,58,99,.4); }
.kd-view-toggle .kd-view-btn.is-active svg{ stroke:#fff; }
.kd-view-toggle .kd-view-btn:not(.is-active):hover{ color:var(--kd-blue); }

.kd-view-toggle .kd-map-btn{ background:transparent; border:none; color:var(--kd-muted); margin:0; padding:7px 14px; }
.kd-view-toggle .kd-map-btn:hover,
.kd-view-toggle .kd-map-btn[aria-expanded="true"]{ background:#103A63; color:#fff; box-shadow:0 3px 8px rgba(16,58,99,.4); }
.kd-view-toggle .kd-map-btn:hover svg,
.kd-view-toggle .kd-map-btn[aria-expanded="true"] svg{ stroke:#fff; }

.kd-filter-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; align-items:end; }
.kd-filter-row .kd-filter-section{ margin-bottom:0; }
.kd-filter-more{ margin-top:18px; border-top:2px solid var(--kd-gray-bg); padding-top:14px; }
.kd-filter-more-sum{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; list-style:none; font-size:13px; font-weight:700; color:var(--kd-blue); user-select:none; }
.kd-filter-more-sum::-webkit-details-marker{ display:none; }
.kd-filter-more-sum svg{ width:15px; height:15px; flex-shrink:0; }
.kd-filter-more-inner{ display:grid; grid-template-columns:1fr 1fr; gap:18px 30px; margin-top:14px; }
.kd-filter-more-inner .kd-filter-section{ margin-bottom:0; }
@media (max-width:760px){
    .kd-filter-row{ grid-template-columns:1fr; gap:14px; }
    .kd-filter-more-inner{ grid-template-columns:1fr; }
    .kd-filter-header-right{ width:100%; justify-content:space-between; margin-left:0; }
    .kd-view-toggle{ flex:0 0 auto; }
}

.kd-grid-system { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:36px 28px; }

.kd-glass-card {
    background:#fff; border:1px solid var(--grm-line-soft,#eaeff5); border-radius:20px;
    padding:28px 22px 22px; text-align:center; position:relative; display:flex; flex-direction:column;
    box-shadow:0 1px 6px rgba(0,0,0,.04); overflow:hidden;

    contain:layout style paint;
}
.kd-glass-card:hover { will-change:transform; transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.08); transition:transform .2s ease-out, box-shadow .2s ease-out; }
.kd-glass-card:not(:hover) { will-change:auto; transform:none; transition:none; }
.kd-card-content { display:flex; flex-direction:column; flex:1; }

.kd-glass-card.kdvc{
    position:relative !important;
    background:#fff !important;
    border:1px solid var(--grm-sky-50,#edf2f8) !important;
    border-radius:20px !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    padding:20px !important;
    gap:14px !important;
    box-shadow:0 4px 14px -8px rgba(15,23,42,.10), 0 1px 3px rgba(15,23,42,.04) !important;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.kd-glass-card.kdvc:hover{
    transform:translateY(-2px) !important;
    border-color:var(--grm-brand-100,#d3e0ef) !important;
    box-shadow:0 12px 28px -10px rgba(15,23,42,.14), 0 2px 6px rgba(15,23,42,.05) !important;
}
.kdvc .kdvc-deco{ display:none !important; }

.kdvc .kdvc-head{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    text-align:left !important;
    margin:-20px -20px 0 !important;
    padding:18px 20px 15px !important;
    background:var(--kdvc-band, linear-gradient(135deg,var(--grm-sky-50,#edf2f8) 0%,var(--grm-line-soft,#eaeff5) 100%)) !important;
    border-bottom:1px solid rgba(16,58,99,.10) !important;
}

.kdvc .kdvc-avatar-wrap{
    position:relative !important;
    flex:0 0 33% !important;
    aspect-ratio:1 / 1 !important;
    width:auto !important;
    height:auto !important;
    max-width:120px !important;
    flex-shrink:0 !important;
    display:block !important;
    overflow:visible !important;
}
.kdvc .kdvc-avatar{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:var(--grm-rij-zacht) !important;
    border:3px solid #fff !important;
    box-shadow:0 0 0 2px var(--kdvc-accent,var(--grm-brand-100,#d3e0ef)), 0 4px 12px -3px rgba(15,23,42,.20) !important;
    display:block !important;
    text-decoration:none !important;
    transition:transform .15s ease !important;
}

.kdvc .kdvc-avatar--init{
    background:var(--kdvc-init-bg, var(--grm-rij-diep)) !important;
    box-shadow:var(--kdvc-init-shadow, 0 14px 32px -8px rgba(16,58,99,.5)) !important;
}
.kdvc .kdvc-avatar--init .kdvc-avatar-empty{
    color:#fff !important;
    text-shadow:0 1px 2px rgba(15,23,42,.2);
    font-size:38px !important;
}
.kdvc .kdvc-avatar:hover{ transform:scale(1.04) !important; }
.kdvc .kdvc-avatar img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
    border:0 !important;
    border-radius:0 !important;
    margin:0 !important;
}
.kdvc .kdvc-avatar-empty{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    color:#1668C7; font-size:34px; font-weight:900;
    letter-spacing:-1px;
}

.kdvc .kdvc-avatar-badge{
    position:absolute !important;
    bottom:0 !important;
    right:0 !important;
    width:22px !important; height:22px !important;
    border-radius:50% !important;
    background:#103A63 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 0 0 2.5px #fff, 0 2px 5px rgba(16,185,129,.4) !important;
    z-index:3 !important;
    pointer-events:none !important;
}

.kdvc .kdvc-strip{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
}

.kdvc .kdvc-projects{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    width:100% !important;
}
.kdvc .kdvc-project{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    flex-shrink:0 !important;
    border-radius:14px !important;
    background-size:cover !important;
    background-position:center !important;
    background-color:var(--grm-sky-50,#edf2f8) !important;
    border:1px solid rgba(15,23,42,.06) !important;
    display:block !important;
    text-decoration:none !important;
    transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease !important;
    cursor:pointer !important;
}
.kdvc .kdvc-project:hover{
    transform:scale(1.04) !important;
    border-color:#103A63 !important;
    box-shadow:0 6px 18px -4px rgba(16,58,99,.3) !important;
    z-index:2 !important;
    position:relative !important;
}

.kdvc .kdvc-project--video{ position:relative !important; overflow:hidden !important; }
.kdvc .kdvc-project--video video{
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important;
    object-fit:cover !important; display:block !important;
}
.kdvc .kdvc-project-play{
    position:absolute !important; inset:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    pointer-events:none !important;
}
.kdvc .kdvc-project-play svg{
    width:26px !important; height:26px !important; color:#fff !important;
    background:rgba(15,23,42,.55) !important; border-radius:50% !important;
    padding:6px !important; box-sizing:border-box !important;
}
.kdvc .kdvc-project.kdvc-project-more{
    background-color:var(--grm-canvas,#f5f7fa) !important;
    color:#103A63 !important;
    font-size:18px !important;
    font-weight:800 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background-image:none !important;
    letter-spacing:.1px !important;
}

.kdvc .kdvc-socials{
    align-self:flex-start !important;
}
.kdvc .kdvc-head-text{
    flex:1 1 auto !important;
    min-width:0 !important;
}
.kdvc .kdvc-name{
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif !important;
    font-size:18px !important;
    font-weight:800 !important;
    color:var(--grm-ink,#041e42) !important;
    margin:0 0 2px !important;
    padding:0 !important;
    line-height:1.25 !important;
    letter-spacing:-.2px !important;
    text-transform:none !important;
    text-align:left !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.kdvc .kdvc-name a{
    color:var(--grm-ink,#041e42) !important;
    text-decoration:none !important;
    font-weight:inherit !important;
}
.kdvc .kdvc-name a:hover{ color:#1668C7 !important; }
.kdvc .kdvc-since{
    display:block !important;
    font-size:12.5px !important;
    color:var(--grm-ink-500,#55636e) !important;
    font-weight:600 !important;
    margin:2px 0 3px !important;
    letter-spacing:.15px !important;
    line-height:1.2 !important;
    text-transform:none !important;
    text-align:left !important;
}
.kdvc .kdvc-dienst{
    font-size:12.5px !important;
    color:var(--grm-ink-500,#55636e) !important;
    font-weight:500 !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.4 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    text-align:left !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

.kdvc .kdvc-meta{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:6px 12px !important;
    padding:11px 13px !important;
    background:linear-gradient(135deg,var(--grm-canvas,#f5f7fa) 0%,var(--grm-sky-50,#edf2f8) 100%) !important;
    border:1px solid rgba(199,212,255,.6) !important;
    border-radius:12px !important;
    box-shadow:0 1px 0 rgba(255,255,255,.7) inset !important;
}
.kdvc .kdvc-stat{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    font-size:11.5px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    color:var(--grm-ink-500,#55636e) !important;
}
.kdvc .kdvc-stat svg{ flex-shrink:0; opacity:.75; color:#103A63; }

.kdvc .kdvc-stat-kvk{
    background:var(--grm-rij-zacht) !important;
    color:#103A63 !important;
    padding:4px 10px !important;
    border-radius:99px !important;
    border:1px solid #D3E0EF !important;
    font-weight:800 !important;
    letter-spacing:.1px !important;
}
.kdvc .kdvc-stat-kvk svg{ color:#103A63 !important; opacity:1 !important; }

.kdvc .kdvc-socials{
    display:flex !important;
    gap:6px !important;
    flex-wrap:wrap !important;
    align-items:center !important;
}
.kdvc .kdvc-social{
    width:30px !important; height:30px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    border:0 !important;
    text-decoration:none !important;
    box-shadow:0 2px 5px -1px rgba(15,23,42,.18) !important;
    transition:transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}
.kdvc .kdvc-social:hover{
    transform:translateY(-2px) scale(1.08) !important;
    box-shadow:0 6px 14px -3px rgba(15,23,42,.30) !important;
    filter:brightness(1.08) !important;
    color:#fff !important;
}
.kdvc .kdvc-social svg{ flex-shrink:0; }

.kdvc .kdvc-social--fb { background:#1877f2 !important; }
.kdvc .kdvc-social--ig { background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%) !important; }
.kdvc .kdvc-social--li { background:#0a66c2 !important; }
.kdvc .kdvc-social--tt { background:#000 !important; }
.kdvc .kdvc-social--tt svg{ filter:drop-shadow(0.6px 0 0 #25F4EE) drop-shadow(-0.6px 0 0 #FE2C55); }
.kdvc .kdvc-social--tw { background:#000 !important; }
.kdvc .kdvc-social--ggl{ background:linear-gradient(135deg,#fbbf24,#f59e0b) !important; }

.kdvc .kdvc-social.kdvc-social-more{
    background:var(--grm-rij-zacht) !important;
    color:#103A63 !important;
    border-color:var(--grm-brand-100,#d3e0ef) !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.1px !important;
    line-height:1 !important;
    text-decoration:none !important;
}
.kdvc .kdvc-social.kdvc-social-more:hover{
    background:var(--grm-rij-diep) !important;
    color:#fff !important;
    border-color:transparent !important;
}

.kdvc .kdvc-actions{
    display:flex !important;
    gap:8px !important;
    align-items:stretch !important;
}
.kdvc .kdvc-cta-prim{
    flex:1 1 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    padding:11px 16px !important;
    background:var(--grm-rij-diep) !important;
    color:#fff !important;
    border-radius:11px !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    border:0 !important;
    text-transform:none !important;
    line-height:1 !important;
    letter-spacing:.1px !important;
    box-shadow:0 6px 14px -4px rgba(16,58,99,.45) !important;
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
    cursor:pointer !important;
    font-family:inherit !important;
}
.kdvc .kdvc-cta-prim:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.06) !important;
    box-shadow:0 10px 22px -4px rgba(16,58,99,.6) !important;
    color:#fff !important;
}
.kdvc .kdvc-cta-prim svg{ flex-shrink:0; }

.kdvc .kdvc-cta-save{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    padding:11px 14px !important;
    background:#fff !important;
    color:var(--grm-ink-500,#55636e) !important;
    border:1.5px solid var(--grm-line-soft,#eaeff5) !important;
    border-radius:11px !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    text-transform:none !important;
    line-height:1 !important;
    cursor:pointer !important;
    font-family:inherit !important;
    transition:border-color .15s ease, color .15s ease, background .15s ease !important;
}
.kdvc .kdvc-cta-save:hover{
    border-color:#103A63 !important;
    color:#103A63 !important;
    background:var(--grm-canvas,#f5f7fa) !important;
}
.kdvc .kdvc-cta-save.is-following{
    background:var(--grm-sky-50,#edf2f8) !important;
    border-color:#103A63 !important;
    color:#103A63 !important;
}
.kdvc .kdvc-cta-save.is-following svg{ fill:currentColor !important; }
.kdvc .kdvc-cta-save svg{ flex-shrink:0; }
.kdvc .kdvc-cta-save-lbl{ display:inline; }

.kdvc{ cursor:pointer; }

.kdvc .kdvc-cta-msg{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    padding:11px 14px !important;
    background:var(--grm-canvas,#f5f7fa) !important;
    color:#103A63 !important;
    border:1.5px solid var(--grm-brand-100,#d3e0ef) !important;
    border-radius:11px !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:none !important;
    cursor:pointer !important;
    font-family:inherit !important;
    transition:border-color .15s ease, color .15s ease, background .15s ease !important;
}
.kdvc .kdvc-cta-msg:hover{ background:#103A63 !important; border-color:#103A63 !important; color:#fff !important; }
.kdvc .kdvc-cta-msg svg{ flex-shrink:0; }

@media (max-width:768px){

    .kd-grid-system{ gap:28px !important; padding-top:8px; padding-bottom:8px; }

    .kd-glass-card.kdvc{ padding:16px !important; gap:12px !important; border-radius:16px !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }

    .kdvc .kdvc-actions{ flex-wrap:wrap !important; gap:6px !important; min-width:0 !important; }

    .kdvc .kdvc-cta-prim,
    .kdvc .kdvc-cta-msg,
    .kdvc .kdvc-cta-save{
        min-width:0 !important;
        flex-shrink:1 !important;
        padding:10px 12px !important;
        font-size:12.5px !important;
    }

    .kdvc .kdvc-cta-prim{ flex:1 1 100px !important; }

    .kdvc .kdvc-meta{ padding:9px 11px !important; gap:5px 10px !important; }
    .kdvc .kdvc-stat{ font-size:11px !important; }
    .kdvc .kdvc-stat-kvk{ padding:3px 8px !important; }
}
@media (max-width:480px){

    .kdvc .kdvc-cta-save-lbl{ display:none !important; }
    .kdvc .kdvc-cta-save,
    .kdvc .kdvc-cta-msg{ padding:10px 11px !important; flex:0 0 auto !important; }
    .kd-glass-card.kdvc{ padding:14px !important; }
    .kd-grid-system{ gap:24px !important; }
}
@media (max-width:380px){

    .kdvc .kdvc-cta-prim{ padding:10px 10px !important; font-size:12px !important; }
    .kdvc .kdvc-cta-save, .kdvc .kdvc-cta-msg{ padding:10px 9px !important; }
}

.kd-vmlb{
    position:fixed; inset:0; z-index:99999;
    background:rgba(11,14,26,.96);
    display:none;
    align-items:flex-start; justify-content:center;
    padding:20px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
.kd-vmlb.is-open{ display:flex; }
.kd-vmlb-back{
    position:fixed; top:18px; left:18px; z-index:2;
    display:inline-flex; align-items:center; gap:7px;
    padding:9px 16px 9px 12px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    border-radius:99px;
    color:#fff;
    font-size:13px; font-weight:700;
    cursor:pointer; font-family:inherit;
    transition:background .14s ease, transform .14s ease;
}
.kd-vmlb-back:hover{
    background:rgba(255,255,255,.24);
    transform:translateX(-2px);
}
.kd-vmlb-img-wrap{
    margin-top:60px;
    width:100%; max-width:520px;
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(0,0,0,.45);
    display:flex; flex-direction:column;
}
.kd-vmlb-img{
    width:100%; aspect-ratio:1/1.1;
    object-fit:cover; object-position:center top;
    display:block;
    background:var(--grm-line-soft,#eaeff5);
}
.kd-vmlb-info{
    padding:18px 22px 14px;
}
.kd-vmlb-name-row{
    display:flex; align-items:center; gap:8px;
    flex-wrap:wrap;
}
.kd-vmlb-name{
    margin:0;
    font-size:22px; font-weight:900;
    color:var(--grm-ink,#041e42); letter-spacing:-.4px;
    line-height:1.2;
}
.kd-vmlb-verified{
    position:relative;
    width:20px; height:20px;
    display:inline-flex; align-items:center; justify-content:center;
    color:#103A63;
}
.kd-vmlb-verified > svg:first-child{ position:absolute; inset:0; }
.kd-vmlb-verified-mark{ position:relative; z-index:1; }
.kd-vmlb-dienst{
    margin:6px 0 4px;
    font-size:14px; font-weight:600; color:#1668C7;
}
.kd-vmlb-prov{
    margin:0;
    font-size:13px; color:var(--grm-ink-500,#55636e); font-weight:500;
}

.kd-vmlb-actions{
    display:flex; gap:10px;
    padding:14px 22px 22px;
    border-top:1px solid var(--grm-canvas,#f5f7fa);
}
.kd-vmlb-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    padding:13px 18px;
    border-radius:14px;
    font-size:13.5px; font-weight:800;
    cursor:pointer; font-family:inherit;
    text-decoration:none !important;
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
    border:1.5px solid transparent;
}
.kd-vmlb-btn-save{
    flex:0 0 auto;
    background:#fff; color:#103A63 !important;
    border-color:var(--grm-brand-100,#d3e0ef);
}
.kd-vmlb-btn-save:hover{
    background:var(--grm-canvas,#f5f7fa); border-color:#103A63;
}
.kd-vmlb-btn-save.is-saved{
    background:#103A63; color:#fff !important;
    border-color:transparent;
}
.kd-vmlb-btn-save.is-saved svg{ fill:currentColor; }
.kd-vmlb-btn-prim{
    flex:1;
    background:var(--grm-rij-diep);
    color:#fff !important;
    box-shadow:0 8px 20px -6px rgba(16,58,99,.55);
}
.kd-vmlb-btn-prim:hover{
    transform:translateY(-1px); filter:brightness(1.06);
    box-shadow:0 12px 26px -6px rgba(16,58,99,.7);
    color:#fff !important;
}

@media (max-width:520px){
    .kd-vmlb{ padding:0; }
    .kd-vmlb-back{ top:14px; left:14px; padding:8px 14px 8px 10px; font-size:12.5px; }
    .kd-vmlb-img-wrap{ margin-top:0; max-width:100%; border-radius:0; min-height:100vh; }
    .kd-vmlb-img{ aspect-ratio:1/1; }
}

.kd-avatar-wrapper {
    width:110px;height:110px;margin:0 auto 16px;border-radius:50%;overflow:hidden;
    border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.06);flex-shrink:0;position:relative;
    background:var(--grm-line-soft,#eaeff5) url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3e%3ccircle cx='50' cy='38' r='22' fill='%23AEAEB2'/%3e%3cellipse cx='50' cy='90' rx='36' ry='26' fill='%23AEAEB2'/%3e%3c/svg%3e") no-repeat center 55% / 65%;
}
.kd-avatar { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block; }

.kd-name { font-family:var(--grm-font-body),sans-serif;font-size:18px;font-weight:700;color:var(--kd-text);margin:0 0 4px;line-height:1.3; }
.kd-specialty { font-size:11px;color:var(--kd-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px; }

.kd-card-actions { display:flex;width:100%;gap:8px;align-items:center; }
.kd-profile-btn {
    flex:3;display:flex;align-items:center;justify-content:center;
    background:var(--kd-orange);color:#fff !important;
    padding:12px 5px;border-radius:50px;text-decoration:none !important;
    font-weight:700;font-size:14px;transition:all .2s;
    box-shadow:0 2px 8px rgba(255,127,0,.18);
}
.kd-profile-btn:hover { background:var(--grm-warn,#f59e0b);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,127,0,.25); }
.kd-follow-btn-lux {
    flex:0 0 48px;display:flex;align-items:center;justify-content:center;
    background:var(--grm-canvas,#f5f7fa);border:1.5px solid var(--grm-line-soft,#eaeff5);color:var(--kd-text) !important;
    border-radius:50px;padding:12px 0;cursor:pointer;transition:all .2s;
}
.kd-follow-btn-lux:hover { border-color:var(--kd-green);background:rgba(26,189,94,.06); }
.kd-follow-btn-lux.is-following { background:rgba(26,189,94,0.08);border-color:var(--kd-green);color:var(--kd-green) !important; }

.kd-project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin:8px 0 16px; }
.kd-project-grid a { display:block;position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;background:var(--grm-canvas,#f5f7fa); }
.kd-project-grid a img { position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;image-rendering:auto; }
.kd-project-grid a:hover img { transform:scale(1.05); transition:transform .3s ease; }

.kd-avatar { image-rendering:auto; }

.kd-action-footer { margin-top:40px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; }
.kd-load-more {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; color:var(--kd-text); border:2px solid var(--kd-text);
    padding:14px 36px; border-radius:50px; font-size:15px; font-weight:700;
    cursor:pointer; font-family:var(--grm-font-body),sans-serif; transition:all .2s;
}
.kd-load-more:hover { background:var(--kd-text); color:#fff; }
.kd-load-more:hover svg { stroke:#fff; }
.kd-load-more:disabled { opacity:.5; cursor:not-allowed; }
.kd-load-more-count { font-weight:500; color:var(--kd-muted); font-size:13px; }
.kd-load-more:hover .kd-load-more-count { color:rgba(255,255,255,.7); }

.kd-load-more--auto { display:none !important; }
.kd-inf-sentinel { width:100%; height:1px; pointer-events:none; }

.kd-to-top{
    display:inline-flex; align-items:center; gap:8px;
    background:#103A63; color:#fff; border:none;
    padding:12px 22px; border-radius:99px; cursor:pointer;
    font-family:inherit; font-size:14px; font-weight:700;
    box-shadow:0 8px 20px -8px rgba(16,58,99,.5);
    transition:background .15s, transform .12s, box-shadow .15s;
}
.kd-to-top:hover{ background:#0B2A49; transform:translateY(-1px); box-shadow:0 10px 24px -8px rgba(61,92,232,.55); }
.kd-to-top svg{ flex-shrink:0; }
.kd-inf-status { font-size:13px; font-weight:600; color:var(--kd-muted); }
.kd-inf-status:empty { display:none; }
.kd-btn-alle {
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--kd-orange); color:#fff !important;
    padding:14px 36px; border-radius:50px; font-size:15px; font-weight:700;
    text-decoration:none !important; font-family:var(--grm-font-body),sans-serif;
    transition:all .2s; box-shadow:0 2px 10px rgba(255,127,0,.2);
}
.kd-btn-alle:hover { background:var(--grm-warn,#f59e0b); transform:translateY(-1px); box-shadow:0 4px 16px rgba(255,127,0,.3); }

.kd-skeleton-row { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;margin-top:30px; }
.kd-skeleton-card { background:#fff;border-radius:var(--kd-radius);padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:var(--kd-shadow-s); }
.kd-skel { background:linear-gradient(90deg,var(--grm-line-soft,#eaeff5) 25%,var(--grm-line,#d7dee7) 50%,var(--grm-line-soft,#eaeff5) 75%);background-size:200% 100%;animation:kd-shimmer 1.4s infinite;border-radius:8px; }
.kd-skel-avatar { width:120px;height:120px;border-radius:50%; }
.kd-skel-line   { height:16px;width:80%; }
.kd-skel-sm     { width:50%; }
.kd-skel-lg     { width:70%;height:20px; }
.kd-skel-photos { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%; }
.kd-skel-photo  { aspect-ratio:1;border-radius:12px; }
@keyframes kd-shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

@media (max-width:600px) {
    .kd-search-block { padding:20px 16px 14px; border-radius:16px; margin-bottom:24px; }
    .kd-filter-title { font-size:17px; }
    .kd-filter-search-wrap { padding:9px 12px; }
    .kd-chip-group { max-height:120px; gap:6px; }
    .kd-chip { padding:7px 14px; font-size:12px; }
    .kd-toggle-filters { flex-direction:column; gap:14px; }
    .kd-grid-system, .kd-skeleton-row { grid-template-columns:1fr; gap:24px; }
    .kd-glass-card { padding:20px 16px 16px; border-radius:16px; }
    .kd-glass-card:hover { transform:none; box-shadow:0 1px 6px rgba(0,0,0,.04); transition:none; }
    .kd-avatar-wrapper { width:90px; height:90px; }
    .kd-name { font-size:17px; }
    .kd-load-more { width:100%; justify-content:center; padding:14px 20px; font-size:14px; }
    .kd-btn-alle { width:100%; justify-content:center; }
}

@media (min-width:601px) and (max-width:767px) {
    .kd-grid-system { grid-template-columns:repeat(2,1fr); }
}

@media (min-width:992px) {
    .kd-grid-system { grid-template-columns:repeat(3,1fr); }
}

.kd-map-btn {
    display:inline-flex; align-items:center; gap:5px;
    background:var(--grm-canvas,#f5f7fa); color:#103A63; border:1.5px solid var(--grm-brand-100,#d3e0ef);
    padding:5px 12px; border-radius:20px; font-size:12px; font-weight:600;
    cursor:pointer; font-family:var(--grm-font-body),sans-serif; transition:all .2s;
    margin-left:8px; white-space:nowrap; line-height:1;
}
.kd-map-btn:hover,.kd-map-btn[aria-expanded="true"] { background:#103A63; color:#fff; border-color:#103A63; }
.kd-map-btn:hover svg,.kd-map-btn[aria-expanded="true"] svg { stroke:#fff; }

.kd-mv {
    position:fixed !important;
    top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
    width:100vw !important; height:100vh !important; height:100dvh !important;
    z-index:999998 !important;
    display:none; flex-direction:column;
    background:var(--grm-sky-50,#edf2f8);
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    margin:0 !important; padding:0 !important;
    transform:none !important;
}
.kd-mv.kd-mv-open { display:flex !important; }

.kaart-mobile-top{
    flex-shrink:0;
    display:flex; align-items:center; gap:10px;
    padding:10px 14px;
    background:#fff;
    position:relative; z-index:3;
}
.kaart-mobile-top::after{
    content:''; position:absolute; left:0; right:0; bottom:-6px; height:6px;
    background:linear-gradient(180deg,rgba(0,0,0,.04),transparent);
    pointer-events:none;
}
.km-back{
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    width:42px; height:42px;
    border-radius:50%;
    background:var(--grm-canvas,#f5f7fa);
    color:#041E42 !important;
    text-decoration:none !important;
    transition:background .15s, color .15s;
}
.km-back:hover{
    background:var(--grm-line-soft,#eaeff5);
    color:#103A63 !important;
}
.km-back i{ font-size:16px; }
.km-search{
    flex:1; min-width:0;
    position:relative;
    display:flex; align-items:center;
    height:44px;
    background:var(--grm-canvas,#f5f7fa);
    border:1.5px solid var(--grm-brand-100,#d3e0ef);
    border-radius:99px;
    padding:0 16px 0 40px;
    margin:0;
    transition:background .15s, border-color .15s, box-shadow .15s;
}
.km-search:hover{
    background:#fff;
    border-color:var(--grm-ink-300,#a8b4bc);
}
.km-search:focus-within{
    background:#fff;
    border-color:#103A63;
    box-shadow:0 0 0 4px rgba(16,58,99,.14), 0 2px 6px rgba(4,30,66,.12);
}
.km-search > i{
    position:absolute; left:14px; top:50%; transform:translateY(-50%);
    color:var(--grm-ink-500,#55636e); font-size:14px; pointer-events:none;
    transition:color .15s;
}
.km-search:focus-within > i{ color:#103A63; }
.km-search input{
    flex:1; min-width:0;
    border:none; outline:none; background:none;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    font-size:14px; font-weight:500; color:var(--grm-success-text,#0b2a49);
    padding:0; height:100%;
}
.km-search input::placeholder{ color:var(--grm-ink-400,var(--grm-ink-400,#7A8794)); font-weight:400; }
.km-search input::-webkit-search-cancel-button{ display:none; }
.km-filter{
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    width:42px; height:42px;
    border-radius:50%;
    background:var(--grm-rij-diep);
    color:#fff; border:0; cursor:pointer;
    box-shadow:0 2px 8px rgba(16,58,99,.35);
    transition:transform .15s, box-shadow .15s;
}
.km-filter:hover{
    transform:scale(1.05);
    box-shadow:0 4px 12px rgba(16,58,99,.5);
}
.km-filter:active{ transform:scale(.96); }
.km-filter i{ font-size:15px; }

.kd-mv-tabs {
    display:flex; flex-shrink:0; gap:2px; padding:0 6px;
    background:#fff; border-bottom:1px solid var(--grm-sky-50,#edf2f8);
    position:relative; z-index:3;

    overflow:hidden;
    max-height:50px;
    transition:max-height .34s ease, opacity .26s ease, transform .34s ease, border-color .3s ease;
}

.kd-mv:has(.kd-act-sub-filter:not(.is-collapsed)) .kd-mv-tabs{
    max-height:0;
    min-height:0;
    opacity:0;
    transform:translateY(-8px);
    border-bottom-color:transparent;
    pointer-events:none;
}
.kd-mv-tab {
    flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
    padding:11px 6px 9px; border:none; background:none; cursor:pointer;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    font-size:13px; font-weight:600; color:var(--grm-ink-400,#7A8794); white-space:nowrap;
    border-bottom:2.5px solid transparent; transition:color .15s, border-color .15s;
}
.kd-mv-tab svg { flex-shrink:0; }
.kd-mv-tab:hover { color:#1668C7; }
.kd-mv-tab.is-active { color:#103A63; border-bottom-color:#103A63; }

.kd-mv-pane { flex:1; min-height:0; }
.kd-mv-pane-cat, .kd-mv-pane-ontdek { flex-direction:column; overflow:hidden; background:var(--grm-sky-50,#edf2f8); }

.kd-mv-pane-actief{
    flex:1; min-height:0;
    display:flex; flex-direction:column;
    background:var(--grm-canvas,#f5f7fa);
    overflow:hidden;
    position:relative;
}
.kd-act-side{
    flex:1; min-height:0;
    display:flex; flex-direction:column;
    overflow:hidden;
    background:var(--grm-canvas,#f5f7fa);
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Segoe UI",Roboto,sans-serif;
    width:100%;
    margin-left:auto; margin-right:auto;
}

@media (min-width:900px){
    .kd-act-side{ max-width:720px; }
}

.kd-mv-side-banner{ display:none; }
@media (min-width:1300px){
    .kd-mv-pane-actief .kd-mv-side-banner,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner{
        position:absolute;
        top:24px; bottom:24px;
        z-index:6;
        display:flex; flex-direction:column;
        justify-content:flex-end;
        padding:26px 24px;
        border-radius:20px;
        overflow:hidden;
        text-decoration:none;
        color:#fff;
        background-color:var(--grm-success-text,#0b2a49);
        background-size:cover; background-position:center;
        background-repeat:no-repeat;
        box-shadow:0 8px 24px rgba(20,30,55,.18), 0 2px 6px rgba(0,0,0,.08);
        transition:transform .25s cubic-bezier(.2,.8,.25,1), box-shadow .25s ease;
        width:calc((100% - 720px) / 2 - 40px);
        max-width:340px;
        min-width:210px;
    }
    .kd-mv-pane-actief .kd-mv-side-banner:hover,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner:hover{
        transform:translateY(-3px);
        box-shadow:0 16px 36px rgba(20,30,55,.26), 0 2px 8px rgba(0,0,0,.12);
    }
    .kd-mv-pane-actief .kd-mv-side-banner-left,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner-left{
        left:24px;
        background-image:
            linear-gradient(180deg, rgba(20,30,55,0) 0%, rgba(20,30,55,.45) 50%, rgba(20,30,55,.94) 100%);
    }
    .kd-mv-pane-actief .kd-mv-side-banner-right,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner-right{
        right:24px;
        background-image:
            linear-gradient(180deg, rgba(28,38,156,0) 0%, rgba(28,38,156,.40) 45%, rgba(20,30,90,.94) 100%);
    }
    .kd-mv-side-banner-eyebrow{
        display:inline-block;
        align-self:flex-start;
        font-size:10.5px; font-weight:700; letter-spacing:.09em;
        text-transform:uppercase;
        background:rgba(255,255,255,.24);
        padding:5px 11px; border-radius:999px;
        margin-bottom:12px;
        color:#fff;
        line-height:1;
    }
    .kd-mv-side-banner-title{
        margin:0 0 8px;
        font-size:22px; font-weight:800; line-height:1.18;
        letter-spacing:-.012em;
        text-shadow:0 2px 14px rgba(0,0,0,.42);
        color:#fff;
    }
    .kd-mv-side-banner-sub{
        margin:0 0 16px;
        font-size:13.5px; line-height:1.45; font-weight:500;
        color:rgba(255,255,255,.95);
        text-shadow:0 1px 8px rgba(0,0,0,.32);
    }
    .kd-mv-side-banner-cta{
        display:inline-flex; align-items:center; gap:6px;
        align-self:flex-start;
        background:#fff; color:var(--grm-ink,#041e42);
        padding:9px 16px; border-radius:999px;
        font-size:13.5px; font-weight:700;
        letter-spacing:-.005em;
        box-shadow:0 2px 8px rgba(0,0,0,.18);
        transition:gap .22s ease, transform .22s ease;
    }
    .kd-mv-pane-actief .kd-mv-side-banner:hover .kd-mv-side-banner-cta,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner:hover .kd-mv-side-banner-cta{
        gap:10px;
    }
    .kd-mv-side-banner-cta svg{ flex-shrink:0; }
}

@media (min-width:1500px){
    .kd-mv-pane-actief .kd-mv-side-banner,
    .kd-mv-pane-ontdek-combined .kd-mv-side-banner{
        max-width:400px;
    }
    .kd-mv-side-banner-title{ font-size:24px; }
    .kd-mv-side-banner-sub{ font-size:14px; }
}

.kd-act-sub-filter{
    flex:0 0 auto;
    background:#fff;
    border-bottom:1px solid var(--grm-line-soft,#eaeff5);

    overflow:visible;
}
.kd-act-sf-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 18px;
    cursor:pointer;
    transition:background .18s, color .18s;
}
.kd-act-sf-head strong{
    display:inline-flex; align-items:center; gap:9px;
    font-size:14px; font-weight:700; color:var(--grm-ink,#041e42);
    transition:color .18s;
}
.kd-act-sf-head strong svg{ color:#103A63; transition:color .18s; }
.kd-act-sf-toggle{
    width:30px; height:30px;
    display:grid; place-items:center;
    background:transparent; border:none; cursor:pointer;
    color:var(--grm-ink-500,#55636e);
    border-radius:8px;
    transition:background .15s, transform .25s, color .18s;
}
.kd-act-sf-toggle:hover{ background:var(--grm-sky-50,#edf2f8); color:#103A63; }
.kd-act-sub-filter.is-collapsed .kd-act-sf-toggle svg{ transform:rotate(180deg); }

.kd-act-sub-filter:not(.is-collapsed) .kd-act-sf-head{ background:#103A63; }
.kd-act-sub-filter:not(.is-collapsed) .kd-act-sf-head strong,
.kd-act-sub-filter:not(.is-collapsed) .kd-act-sf-head strong svg,
.kd-act-sub-filter:not(.is-collapsed) .kd-act-sf-toggle{ color:#fff; }
.kd-act-sub-filter:not(.is-collapsed) .kd-act-sf-toggle:hover{ background:rgba(255,255,255,.18); color:#fff; }
.kd-act-sf-body{
    padding:4px 16px 14px;
    background:var(--grm-canvas,#f5f7fa);

    max-height:80vh;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    transition:max-height .3s ease, padding .3s ease;
}
.kd-act-sub-filter.is-collapsed .kd-act-sf-body{
    max-height:0; padding-top:0; padding-bottom:0; overflow:hidden;
}

.kd-act-more .kd-filter-more-inner{ grid-template-columns:1fr; gap:16px; }
.kd-act-sf-apply{
    margin-top:14px;
    width:100%;
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    padding:10px 14px;
    background:#103A63; color:#fff;
    border:none; border-radius:10px;
    font-size:13.5px; font-weight:600;
    cursor:pointer;
    transition:background .15s, transform .1s, box-shadow .15s;
    box-shadow:0 2px 8px rgba(16,58,99,.28);
}
.kd-act-sf-apply:hover{
    background:#0B2A49;
    box-shadow:0 4px 12px rgba(16,58,99,.4);
}
.kd-act-sf-apply:active{ transform:scale(.98); }

.kd-act-results-list{
    flex:1; min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:10px 12px 16px;
    background:var(--grm-canvas,#f5f7fa);
}
.kd-act-loading,
.kd-act-empty{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    padding:50px 20px;
    color:var(--grm-ink-400,#7A8794);
    font-size:13.5px;
    text-align:center;
}
.kd-act-empty strong{ color:var(--grm-ink-700,#33424f); font-size:15px; }

.kd-act-card{
    cursor:pointer;

    display:flex; flex-direction:column;
    gap:13px;
    padding:22px 16px;
    background:#fff;
    border:1px solid var(--grm-line-soft,#eaeff5);
    border-radius:16px;
    margin-bottom:10px;
    cursor:pointer;
    transition:transform .15s, box-shadow .15s, border-color .15s;
}
.kd-act-card-top{
    display:flex; gap:14px;

    align-items:stretch;
    min-width:0;
}
.kd-act-card:hover{
    border-color:var(--grm-line,#d7dee7);
    box-shadow:0 6px 18px rgba(28,32,44,.08);
    transform:translateY(-1px);
}
.kd-act-card-thumb{

    flex-shrink:0;
    width:96px; height:96px;
    align-self:flex-start;
    border-radius:14px;
    display:grid; place-items:center;
    position:relative;
    color:#fff;
    font-weight:700;
    font-size:32px;
    letter-spacing:-.5px;
    overflow:hidden;
}
.kd-act-card-thumb-letter{
    text-transform:uppercase;
    text-shadow:0 1px 2px rgba(0,0,0,.2);
}
.kd-act-card-thumb img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
}

.kd-act-card-info{
    flex:1; min-width:0;
}
.kd-act-card-info h3{

    margin:0 0 6px;
    font-size:17px; font-weight:700;
    color:var(--grm-ink,#041e42);
    line-height:1.3;
    letter-spacing:-.015em;
}
.kd-act-card-info h3 a{
    color:inherit; text-decoration:none;
}
.kd-act-card-info h3 a:hover{ color:#103A63; }

.kd-act-rate-line{
    display:flex; align-items:center; gap:5px;
    font-size:12.5px;
    margin-bottom:3px;
}
.kd-act-rate-line .kd-act-stars{ color:var(--grm-warn,#f59e0b); letter-spacing:1px; font-size:13px; }
.kd-act-rate-line strong{ color:var(--grm-ink,#041e42); font-weight:700; }
.kd-act-rate-line .kd-act-reviews{ color:var(--grm-ink-400,#7A8794); }

.kd-act-meta-line{
    display:flex; align-items:center; gap:5px;
    font-size:13px; color:var(--grm-ink-500,#55636e);
    margin-bottom:6px;
    min-height:15px;
    font-weight:500;
}
.kd-act-meta-line svg{ color:#103A63; flex-shrink:0; }

.kd-act-spec-line{
    display:flex; flex-wrap:wrap; gap:5px;
    margin-bottom:0;
}
.kd-act-spec-line span{
    background:var(--grm-sky-50,#edf2f8);
    color:#103A63;
    border-radius:8px;
    padding:3px 9px;
    font-size:12px; font-weight:600;
}

.kd-act-beschik-pill{
    display:inline-flex; align-items:center; gap:4px;
    margin-top:4px;
    padding:2px 8px;
    background:rgba(16,58,99,.12);
    color:#103A63;
    border-radius:999px;
    font-size:11px; font-weight:600;
}

.kd-act-card-actions{
    display:flex; gap:6px;
}
.kd-act-card-btn{
    flex:1;
    display:inline-flex; align-items:center; justify-content:center; gap:5px;
    padding:7px 10px;
    border-radius:10px;
    border:1px solid var(--grm-line-soft,#eaeff5);
    background:#fff; color:var(--grm-ink,#041e42);
    font:inherit; font-size:12.5px; font-weight:600;
    text-decoration:none;
    cursor:pointer;
    transition:all .15s;
    white-space:nowrap;
    line-height:1;
}
.kd-act-card-btn svg{ flex-shrink:0; }
.kd-act-card-btn:hover{
    border-color:#103A63; color:#103A63;
    background:var(--grm-canvas,#f5f7fa);
}
.kd-act-card-btn-msg{
    background:#103A63; color:#fff !important;
    border-color:#103A63;
    box-shadow:0 2px 8px rgba(16,58,99,.25);
}
.kd-act-card-btn-msg:hover{
    background:#0B2A49; border-color:#0B2A49;
    box-shadow:0 4px 12px rgba(16,58,99,.4);
}
.kd-act-card-btn-save.is-following,
.kd-act-card-btn-save:has(svg[fill="currentColor"]){
    background:var(--grm-danger-50,#FBD5D2); border-color:var(--grm-danger-50,#FBD5D2); color:var(--grm-danger-700,#A11916) !important;
}

@media (max-width:640px){
    .kd-act-card-actions{ gap:5px; }
    .kd-act-card-btn{ padding:6px 8px; font-size:12px; }
}

.kd-act-inf-sentinel{
    display:flex; align-items:center; justify-content:center; gap:9px;
    width:100%;
    margin:14px 0 4px;
    padding:14px 16px;
    color:var(--grm-ink-500,#55636e);
    font-size:13px; font-weight:600;
}
.kd-act-inf-sentinel svg{ flex-shrink:0; }
.kd-act-beschik-pill::before{
    content:""; width:6px; height:6px; border-radius:50%;
    background:#103A63;
    animation:kd-act-pulse 1.8s ease-in-out infinite;
}
@keyframes kd-act-pulse{
    0%,100%{ opacity:1; }
    50%{ opacity:.4; }
}

@media (max-width:640px){
    .kd-act-results-info{ padding:8px 14px; }
    .kd-act-results-list{ padding:8px 10px 14px; }
    .kd-act-card{ padding:18px 13px; gap:11px; }
    .kd-act-card-top{ gap:11px; }

    .kd-act-card-thumb{
        width:76px; height:76px;
        font-size:24px; border-radius:12px;
    }
    .kd-act-card-info h3{ font-size:15px; }
    .kd-act-meta-line{ font-size:12.5px; }
    .kd-act-spec-line span{ font-size:11.5px; padding:3px 8px; }
}

.kd-mv-pane-ontdek-combined{
    flex:1; min-height:0;
    display:flex; flex-direction:column;
    background:var(--grm-sky-50,#edf2f8);
    overflow:hidden;
    position:relative;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat{
    flex:0 0 auto;
    max-width:none;
    max-height:58px;
    background:#fff;
    border-bottom:1px solid var(--grm-line-soft,#eaeff5);
    position:relative;
    overflow:hidden;
    display:flex; flex-direction:column;
    min-height:0;
    transition:max-height .32s cubic-bezier(.4,0,.2,1), box-shadow .25s ease;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
    z-index:5;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat.is-open{
    max-height:min(72vh, 640px);
    box-shadow:0 8px 24px -8px rgba(15,23,42,.18);
}

.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat::before{
    content:"Bladeren op categorie";
    position:absolute; top:0; left:0; right:0; height:58px;
    display:flex; align-items:center;
    padding:0 22px 0 54px;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    font-weight:800; font-size:14px; color:var(--grm-ink,#041e42);
    background:#fff;
    cursor:pointer;
    z-index:2;
    pointer-events:auto;
    border-bottom:1px solid transparent;
    transition:border-color .2s ease, background .2s ease;
}

.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat > .kd-mv-pane-inner::before{
    content:"";
    position:absolute; top:18px; left:18px;
    width:22px; height:22px;
    background-color:#103A63;
    -webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
            mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
    pointer-events:none;
    z-index:3;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat:hover::before{ background:var(--grm-canvas,#f5f7fa); }

.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat::after{
    content:""; position:absolute; top:50%; right:22px;
    width:10px; height:10px; transform:translateY(-65%) rotate(45deg);
    border-right:2.5px solid #103A63; border-bottom:2.5px solid #103A63;
    transition:transform .28s ease;
    pointer-events:none; z-index:3;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat.is-open::after{
    transform:translateY(-25%) rotate(-135deg);
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat.is-open::before{
    border-bottom-color:var(--grm-line-soft,#eaeff5);
    background:var(--grm-canvas,#f5f7fa);
}

.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat > .kd-mv-pane-inner{
    opacity:0;
    pointer-events:none;
    padding-top:72px;
    transition:opacity .25s ease;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-cat.is-open > .kd-mv-pane-inner{
    opacity:1;
    pointer-events:auto;
}

.kd-mv-pane-ontdek-combined > .kd-mv-pane-ontdek{
    flex:1 1 auto;
    max-width:none;
    min-height:0;
    background:var(--grm-sky-50,#edf2f8);
    overflow:hidden;
    display:flex; flex-direction:column;
}
.kd-mv-pane-ontdek-combined > .kd-mv-pane-ontdek > .kd-mv-ontdek-scroll{
    width:100%;

    max-width:none;
    margin:0 auto;
}

@media (min-width:900px){
    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat .kd-mv-cat-grid{
        grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
        gap:10px;
    }
    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat .kd-mv-cat-featured{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }
    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat .kd-mv-pane-inner{
        padding:78px 28px 28px;
        max-width:none;
        margin:0;
    }

    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat::before{
        padding-left:54px;
        padding-right:22px;
    }
    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat::after{
        right:22px;
    }
    .kd-mv-pane-ontdek-combined > .kd-mv-pane-cat > .kd-mv-pane-inner::before{
        left:18px;
    }
}
.kd-mv-pane-inner {
    flex:1; min-width:0; min-height:0; overflow-y:auto; overflow-x:hidden;
    -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
    padding:18px 18px calc(26px + env(safe-area-inset-bottom,0px));
    box-sizing:border-box;
}
.kd-mv-pane-inner > * { max-width:100%; box-sizing:border-box; }
.kd-mv-pane-hd { margin-bottom:15px; }
.kd-mv-pane-hd h3 { margin:0 0 3px; font-size:17px; font-weight:800; color:var(--grm-ink,#041e42); }
.kd-mv-pane-hd p { margin:0; font-size:12.5px; color:#55636E; line-height:1.45; }

.kd-mv-pane-hd-cat {
    display:flex; align-items:center; gap:12px;
}
.kd-mv-pane-hd-ic {
    width:38px; height:38px; flex-shrink:0; border-radius:11px;
    background:var(--grm-rij-diep); color:#fff;
    display:inline-grid; place-items:center; font-size:15px;
    box-shadow:0 4px 10px -2px rgba(16,58,99,.4);
}

.kd-mv-cat-search {
    position:relative; margin:14px 0 16px;
}
.kd-mv-cat-search-ic {
    position:absolute; left:14px; top:50%; transform:translateY(-50%);
    color:var(--grm-ink-300,#a8b4bc); pointer-events:none;
}
.kd-mv-cat-search input {
    width:100%; box-sizing:border-box;
    padding:11px 14px 11px 38px;
    border:1.5px solid var(--grm-line-soft,#eaeff5); border-radius:12px;
    background:#fff;
    font-size:14px; font-weight:500; color:var(--grm-ink,#041e42);
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    transition:border-color .15s, box-shadow .15s;
    outline:none;
}
.kd-mv-cat-search input:focus {
    border-color:#103A63;
    box-shadow:0 0 0 3px rgba(16,58,99,.12);
}
.kd-mv-cat-search input::placeholder { color:var(--grm-ink-300,#a8b4bc); }

.kd-mv-cat-section-lbl {
    display:flex; align-items:center; gap:8px;
    font-size:11.5px; font-weight:800;
    text-transform:uppercase; letter-spacing:.8px;
    color:var(--grm-ink-500,#55636e);
    margin:18px 0 10px;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
}
.kd-mv-cat-section-lbl i { font-size:12px; color:#103A63; }
.kd-mv-cat-section-lbl i.fa-fire { color:#1668C7; }
.kd-mv-cat-section-cnt {
    margin-left:auto;
    padding:3px 9px; border-radius:99px;
    background:var(--grm-sky-50,#edf2f8); color:#103A63;
    font-size:10.5px; font-weight:800; letter-spacing:.2px;
    text-transform:none;
}

.kd-mv-cat-featured {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
    margin-bottom:6px;
}
.kd-mv-cat-feat {
    position:relative; overflow:hidden;
    display:flex; flex-direction:column; align-items:flex-start;
    gap:8px; padding:14px;
    background:var(--grm-rij-licht);
    border:1.5px solid var(--grm-line-soft,#eaeff5); border-radius:16px;
    cursor:pointer; text-align:left;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    transition:border-color .15s, box-shadow .15s, transform .12s;
    min-width:0; box-sizing:border-box;
}
.kd-mv-cat-feat:hover {
    transform:translateY(-2px);
    box-shadow:0 10px 22px -6px rgba(15,23,42,.14);
    border-color:var(--grm-line,#d7dee7);
}
.kd-mv-cat-feat:active { transform:translateY(0); }
.kd-mv-cat-feat-ic {
    width:42px; height:42px; border-radius:12px;
    display:inline-grid; place-items:center;
    color:#fff; font-size:16px;
    box-shadow:0 4px 10px -2px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.20);
}
.kd-mv-cat-feat-nm {
    font-size:14px; font-weight:800; color:var(--grm-ink,#041e42);
    line-height:1.2; word-break:break-word;
}
.kd-mv-cat-feat-cnt {
    font-size:11.5px; font-weight:600; color:var(--grm-ink-500,#55636e);
    display:inline-flex; align-items:center;
}

.kd-mv-cat-grid {
    position:relative;
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
}
.kd-mv-cat-tile {
    display:flex; align-items:center; gap:11px; padding:11px 12px;
    background:#fff; border:1.5px solid var(--grm-line-soft,#eaeff5); border-radius:13px;
    cursor:pointer; text-align:left;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    transition:border-color .15s, box-shadow .15s, transform .12s;
    min-width:0; overflow:hidden;
    box-sizing:border-box;
}
.kd-mv-cat-tile:hover { border-color:#103A63; box-shadow:0 4px 14px rgba(16,58,99,.14); transform:translateY(-1px); }
.kd-mv-cat-tile:active { transform:translateY(0); }
.kd-mv-cat-tile-ic {
    width:34px; height:34px; flex-shrink:0; border-radius:10px;
    display:flex; align-items:center; justify-content:center; font-size:14px;

}
.kd-mv-cat-tile-bd {
    flex:1; min-width:0;
    display:flex; flex-direction:column; gap:1px;
}
.kd-mv-cat-tile-cnt {
    font-size:11px; font-weight:600; color:var(--grm-ink-300,#a8b4bc);
    line-height:1.2;
}
.kd-mv-cat-tile-arrow {
    flex-shrink:0; color:var(--grm-line,#d7dee7);
    transition:transform .15s, color .15s;
}
.kd-mv-cat-tile:hover .kd-mv-cat-tile-arrow {
    color:#103A63; transform:translateX(2px);
}

.kd-mv-cat-empty {
    grid-column:1 / -1;
    text-align:center; padding:32px 18px;
    color:var(--grm-ink-500,#55636e);
}
.kd-mv-cat-empty i { font-size:22px; opacity:.4; display:block; margin-bottom:10px; }
.kd-mv-cat-empty strong { display:block; font-size:14px; font-weight:800; color:var(--grm-ink,#041e42); margin-bottom:3px; }
.kd-mv-cat-empty span { font-size:12.5px; line-height:1.4; }

.kd-mv-cat-all-cta {
    display:flex; align-items:center; gap:14px;
    width:100%; padding:14px 18px;
    margin-top:18px;
    background:var(--grm-rij-diep);
    border:0; border-radius:14px;
    color:#fff; text-align:left;
    cursor:pointer;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    box-shadow:0 10px 24px -8px rgba(16,58,99,.45);
    transition:transform .15s, box-shadow .15s;
    box-sizing:border-box;
}
.kd-mv-cat-all-cta:hover {
    transform:translateY(-2px);
    box-shadow:0 16px 32px -8px rgba(16,58,99,.55);
}
.kd-mv-cat-all-cta-ic {
    width:40px; height:40px; flex-shrink:0; border-radius:11px;
    background:rgba(255,255,255,.18); color:#fff;
    display:inline-grid; place-items:center; font-size:16px;
    border:1px solid rgba(255,255,255,.25);
}
.kd-mv-cat-all-cta-bd {
    flex:1; min-width:0; line-height:1.3;
}
.kd-mv-cat-all-cta-bd strong {
    display:block; font-size:14.5px; font-weight:800;
    color:#fff; margin-bottom:2px;
}
.kd-mv-cat-all-cta-bd span {
    display:block; font-size:12px; color:rgba(255,255,255,.85);
}
.kd-mv-cat-all-cta svg {
    flex-shrink:0; color:#fff; opacity:.9;
}
.kd-mv-cat-tile-nm {
    font-size:13px; font-weight:700; color:var(--grm-ink,#041e42); line-height:1.25;
    min-width:0;
    overflow-wrap:break-word;
    word-break:break-word;
    hyphens:auto;
    flex:1;
}

.kd-mv-ontdek-scroll {
    flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
}
.kd-mv-ontdek-loading, .kd-mv-ontdek-err {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:11px; padding:64px 28px; color:#55636E; font-size:14px; text-align:center;
}
.kd-mv-ontdek-err button {
    margin-top:4px; padding:9px 18px; border:1.5px solid var(--grm-brand-100,#d3e0ef); border-radius:10px;
    background:var(--grm-canvas,#f5f7fa); color:#103A63; font-weight:700; cursor:pointer;
    font-family:var(--grm-font-body),sans-serif; font-size:13px;
}
@media (min-width:768px) {
    .kd-mv-cat-grid { grid-template-columns:repeat(3,1fr); }
}

.kd-mv-layout {
    flex:1; display:flex; min-height:0; overflow:hidden; position:relative;
}

.kd-mv-panel {
    width:440px; flex-shrink:0; background:#fff;
    border-right:1px solid var(--grm-line-soft,#eaeff5);
    display:flex; flex-direction:column; overflow:hidden;
    z-index:10;
}
.kd-mv-panel-handle { display:none; }

.kd-mv-view {
    display:flex; flex-direction:column; flex:1; overflow:hidden; min-height:0;
}
.kd-mv-view[hidden] { display:none; }
.kd-mv-view-inner {
    flex:1; overflow-y:auto; overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch; touch-action:pan-y; padding-bottom:16px;
}

.kd-mv-peek {
    display:flex; align-items:center; gap:12px; padding:6px 14px 14px;
}
.kd-mv-peek-left { display:flex; align-items:center; gap:11px; flex:1; min-width:0; }
.kd-mv-peek-icon {
    width:40px; height:40px; border-radius:50%;
    background:var(--grm-rij-diep); color:#fff;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    box-shadow:0 2px 6px rgba(16,58,99,.3);
}
.kd-mv-peek-text { min-width:0; }
.kd-mv-peek-title { font-size:14px; color:var(--grm-ink,#041e42); line-height:1.3; }
.kd-mv-peek-title strong { font-weight:700; }
.kd-mv-peek-sub { font-size:12px; color:#55636E; margin-top:2px; }
.kd-mv-peek-expand {
    width:36px; height:36px; border-radius:50%; flex-shrink:0;
    background:#EAEFF5; border:none; cursor:pointer; color:#55636E;
    display:flex; align-items:center; justify-content:center; transition:background .12s;
}
.kd-mv-peek-expand:hover { background:var(--grm-line,#d7dee7); color:var(--grm-ink,#041e42); }

.kd-mv-list-nav {
    display:flex; align-items:center; gap:10px; padding:18px 14px 12px;
    border-bottom:1px solid var(--grm-sky-50,#edf2f8); flex-shrink:0; background:#fff;
    position:sticky; top:0; z-index:1;
}
.kd-mv-list-prov {
    font-size:14px; font-weight:700; color:var(--grm-ink,#041e42);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.kd-mv-prof-nav {
    padding:18px 14px 12px; border-bottom:1px solid var(--grm-sky-50,#edf2f8); flex-shrink:0;
    background:#fff; position:sticky; top:0; z-index:1;
}

.kd-mv-back-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:7px 12px 7px 9px;
    border:1px solid var(--grm-brand-100,#d3e0ef); background:#fff; border-radius:99px;
    cursor:pointer;
    font-size:13px; font-weight:700; color:#103A63;
    font-family:var(--grm-font-body),sans-serif;
    transition:background .15s, border-color .15s, box-shadow .15s, transform .12s;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.kd-mv-back-btn:hover {
    background:var(--grm-canvas,#f5f7fa); border-color:#103A63; color:#103A63;
    box-shadow:0 2px 6px rgba(16,58,99,.18);
}
.kd-mv-back-btn:active { transform:translateY(0); }
.kd-mv-back-btn svg { width:14px; height:14px; flex-shrink:0; }

.kd-mv-close-btn {
    margin-left:auto; flex-shrink:0;
    width:34px; height:34px; border-radius:50%;
    border:1px solid var(--grm-line-soft,#eaeff5); background:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    color:var(--grm-ink-500,#55636e); cursor:pointer;
    transition:all .15s;
}
.kd-mv-close-btn:hover {
    background:var(--grm-canvas,#f5f7fa); border-color:var(--grm-line,#d7dee7); color:var(--grm-ink,#041e42);
}
.kd-mv-prof-nav {
    display:flex; align-items:center;
}

.kd-mv-sec-hdr {
    padding:10px 14px 7px; font-size:11px; font-weight:700;
    color:var(--grm-ink-400,#7A8794); letter-spacing:.7px; text-transform:uppercase;
    border-bottom:1px solid var(--grm-sky-50,#edf2f8); background:#fff;
    position:sticky; top:0; z-index:1;
}
.kd-mv-sep { height:1px; background:var(--grm-sky-50,#edf2f8); margin:4px 0; }

.kd-mv-prov-list { display:flex; flex-direction:column; }
.kd-mv-prov-btn {
    display:flex; align-items:center; gap:11px;
    width:100%; padding:12px 14px; border:none; background:none;
    cursor:pointer; text-align:left; font-family:var(--grm-font-body),sans-serif;
    border-bottom:1px solid #EAEFF5; transition:background .1s;
}
.kd-mv-prov-btn:hover,.kd-mv-prov-btn.kd-mv-active { background:#EAEFF5; }
.kd-mv-prov-marker-dot {
    width:10px; height:10px; border-radius:50%; flex-shrink:0;
    background:var(--grm-rij-diep);
    box-shadow:0 1px 3px rgba(16,58,99,.4);
}
.kd-mv-prov-name { font-size:14px; font-weight:500; color:var(--grm-ink,#041e42); flex:1; }
.kd-mv-prov-count {
    font-size:12px; font-weight:600; color:#55636E;
    flex-shrink:0;
}
.kd-mv-prov-btn:hover .kd-mv-prov-count,
.kd-mv-prov-btn.kd-mv-active .kd-mv-prov-count { color:#103A63; }
.kd-mv-prov-btn.kd-mv-active { background:#EDF2F8; }

.kd-mv-cats { display:flex; flex-wrap:wrap; gap:6px; padding:10px 14px 12px; }
.kd-mv-cat-chip {
    padding:5px 12px; border-radius:99px; border:1.5px solid var(--grm-line-soft,#eaeff5);
    background:#fff; color:var(--grm-ink-500,#55636e); font-size:12px; font-weight:600;
    font-family:var(--grm-font-body),sans-serif; cursor:pointer; transition:all .15s; white-space:nowrap;
}
.kd-mv-cat-chip:hover { border-color:#103A63; color:#103A63; background:var(--grm-canvas,#f5f7fa); }
.kd-mv-cat-chip.kd-mv-active { background:#103A63; color:#fff; border-color:#103A63; }

.kd-mv-list-count {
    padding:6px 14px 4px; font-size:11px; color:var(--grm-ink-400,#7A8794); flex-shrink:0;
}

.kd-mv-filterbar {
    flex-shrink:0;
    border-bottom:1px solid var(--grm-sky-50,#edf2f8); background:#fff;
    position:relative; z-index:5;
}
.kd-mv-filterbar-toggle {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    width:100%; box-sizing:border-box; padding:12px 14px;
    background:none; border:none; cursor:pointer; font-family:inherit;
    color:var(--grm-ink,#041e42); font-size:13.5px; font-weight:800; line-height:1;
    transition:background .15s, box-shadow .15s;
}
.kd-mv-filterbar-toggle-lbl { display:flex; align-items:center; gap:8px; }
.kd-mv-filterbar-toggle-lbl svg { color:#103A63; flex-shrink:0; }
.kd-mvf-count {
    background:#103A63; color:#fff; font-size:11px; font-weight:800;
    min-width:18px; height:18px; border-radius:99px; padding:0 5px;
    display:inline-flex; align-items:center; justify-content:center;
}
.kd-mvf-toggle-chev { color:var(--grm-ink-300,#a8b4bc); transition:transform .2s; flex-shrink:0; }
.kd-mvf-toggle-x { color:#103A63; flex-shrink:0; display:none; }

.kd-mv-filterbar.is-open .kd-mvf-toggle-chev { display:none; }
.kd-mv-filterbar.is-open .kd-mvf-toggle-x { display:inline; }

.kd-mv-filterbar.is-open .kd-mv-filterbar-toggle { background:var(--grm-sky-50,#edf2f8); box-shadow:inset 0 -2px 0 #103A63; }
.kd-mv-filterbar.is-open .kd-mv-filterbar-toggle-lbl { color:#1668C7; }
.kd-mvf-toggle-r { display:flex; align-items:center; gap:7px; flex-shrink:0; }
.kd-mvf-toggle-state { font-size:11.5px; font-weight:700; color:#103A63; }
.kd-mvf-toggle-state-open { display:none; }
.kd-mv-filterbar.is-open .kd-mvf-toggle-state-open { display:inline; }
.kd-mv-filterbar.is-open .kd-mvf-toggle-state-closed { display:none; }

.kd-mvf-done {
    display:flex; align-items:center; justify-content:center; gap:7px;
    width:100%; box-sizing:border-box; margin:6px 0 4px;
    padding:11px; border:1.5px solid #103A63; border-radius:11px;
    background:#fff; color:#103A63; font-family:inherit; font-size:13px; font-weight:800;
    cursor:pointer; transition:background .15s;
}
.kd-mvf-done::before { content:'\2715'; font-size:11px; font-weight:700; }
.kd-mvf-done:hover { background:var(--grm-sky-50,#edf2f8); }
.kd-mv-filterbar-body { padding:12px 14px 6px; }
.kd-mv-filterbar-body[hidden] { display:none; }
.kd-mv-filterbar-clearrow { display:flex; justify-content:flex-end; margin-bottom:8px; }
.kd-mv-filterbar .kd-filter-clear { padding:5px 13px; font-size:12px; }
.kd-mv-filterbar .kd-filter-section { margin-bottom:12px; }
.kd-mv-filterbar .kd-filter-label { margin-bottom:6px; font-size:11px; letter-spacing:.5px; }
.kd-mv-filterbar .kd-dd-trigger { min-height:42px; padding:7px 38px 7px 12px; border-radius:11px; }
.kd-mv-filterbar .kd-dd-options { max-height:200px; }

.kd-mv-filterbar .kd-dd-panel { z-index:60; }
.kd-mv-filterbar .kd-toggle-filters { gap:10px 18px; }
.kd-mv-filterbar .kd-toggle-text { font-size:13px; }
.kd-mv-filterbar .kd-toggle-track { width:40px; height:23px; }
.kd-mv-filterbar .kd-toggle-thumb { width:19px; height:19px; }
.kd-mv-filterbar .kd-toggle-pill input:checked + .kd-toggle-track .kd-toggle-thumb { transform:translateX(17px); }

.kd-mvf-prov-sec { display:none; }
.kd-mv.is-fulllist .kd-mvf-prov-sec { display:block; }

body.kd-mv-open-body .kd-modern-container .kd-search-block { display:none !important; }

.kd-mv-vm-cards { display:flex; flex-direction:column; }

.kd-mv-vm-grid {
    display:grid; gap:22px; padding:16px;
    grid-template-columns:1fr;

    background:linear-gradient(180deg,var(--grm-canvas,#f5f7fa) 0%,var(--grm-sky-50,#edf2f8) 100%);
    border-top:1px solid var(--grm-line-soft,#eaeff5);
}
@media(min-width:768px){ .kd-mv-vm-grid { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); padding:18px; gap:18px; } }

.kd-mv-vm-grid .kd-glass-card { max-width:100%; min-width:0; box-sizing:border-box; }

.kd-mv-vm-grid .kd-glass-card.kdvc{
    box-shadow:0 6px 18px -6px rgba(15,23,42,.14), 0 2px 4px rgba(15,23,42,.05) !important;
    border-color:var(--grm-line-soft,#eaeff5) !important;
}
.kd-mv-vm-card {
    display:flex; align-items:center; gap:11px; padding:11px 14px;
    border-bottom:1px solid var(--grm-sky-50,#edf2f8); cursor:pointer; transition:background .1s;
}
.kd-mv-vm-card:hover { background:var(--grm-canvas,#f5f7fa); }
.kd-mv-vm-av {
    width:40px; height:40px; border-radius:50%; object-fit:cover;
    flex-shrink:0; border:1.5px solid var(--grm-line-soft,#eaeff5); background:var(--grm-sky-50,#edf2f8);
}
.kd-mv-vm-av-ph {
    display:flex; align-items:center; justify-content:center; background:var(--grm-canvas,#f5f7fa);
}
.kd-mv-vm-info { flex:1; min-width:0; }
.kd-mv-vm-name { font-size:13px; font-weight:600; color:var(--grm-ink,#041e42); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kd-mv-vm-cat { font-size:11px; color:var(--grm-ink-400,#7A8794); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
.kd-mv-vm-bdgs { display:flex; gap:4px; margin-top:4px; flex-wrap:wrap; }
.kd-mv-bdg { font-size:10px; font-weight:600; padding:1px 7px; border-radius:99px; }
.kd-mv-bdg-g { background:#EDF2F8; color:#103A63; border:1px solid #D3E0EF; }
.kd-mv-bdg-b { background:var(--grm-canvas,#f5f7fa); color:var(--grm-sky,#0060df); border:1px solid var(--grm-brand-100,#d3e0ef); }
.kd-mv-bdg-p { background:var(--grm-canvas,#f5f7fa); color:#103A63; border:1px solid var(--grm-brand-100,#d3e0ef); }
.kd-mv-vm-arr { flex-shrink:0; color:var(--grm-line,#d7dee7); transition:color .1s; }
.kd-mv-vm-card:hover .kd-mv-vm-arr { color:#103A63; }
.kd-mv-loading { padding:20px 14px; font-size:13px; color:var(--grm-ink-400,#7A8794); display:flex; align-items:center; gap:8px; }
.kd-mv-empty { padding:20px 14px; font-size:13px; color:var(--grm-ink-400,#7A8794); margin:0; }

.kd-mv-prof-wrap { display:flex; flex-direction:column; }
.kd-mv-prof-hero { display:flex; align-items:center; gap:14px; padding:14px 14px 12px; border-bottom:1px solid var(--grm-sky-50,#edf2f8); }
.kd-mv-prof-avatar { width:68px; height:68px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--grm-sky-50,#edf2f8); border:2px solid var(--grm-line-soft,#eaeff5); }
.kd-mv-prof-avatar-ph { display:flex; align-items:center; justify-content:center; }
.kd-mv-prof-heroinfo { min-width:0; }
.kd-mv-prof-name { font-size:15px; font-weight:700; color:var(--grm-ink,#041e42); margin:0 0 3px; display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.kd-mv-prof-sub { font-size:12px; color:var(--grm-ink-400,#7A8794); margin-bottom:2px; }
.kd-mv-prof-lidmeta { font-size:11px; color:var(--grm-ink-300,#a8b4bc); }
.kd-mv-prof-badges { display:flex; flex-wrap:wrap; gap:6px; padding:10px 14px 6px; }
.kd-mv-badge { display:inline-flex; align-items:center; gap:4px; border-radius:99px; padding:3px 10px; font-size:11px; font-weight:600; }
.kd-mv-badge-green  { background:#EDF2F8; color:#103A63; border:1px solid #D3E0EF; }
.kd-mv-badge-blue   { background:var(--grm-canvas,#f5f7fa); color:var(--grm-sky,#0060df); border:1px solid var(--grm-brand-100,#d3e0ef); }
.kd-mv-badge-purple { background:var(--grm-brand-50,#EDF2F8); color:var(--grm-accent,#1668C7); border:1px solid var(--grm-brand-100,#D3E0EF); }
.kd-mv-badge-gray   { background:var(--grm-canvas,#f5f7fa); color:var(--grm-ink-500,#55636e); border:1px solid var(--grm-line-soft,#eaeff5); }
.kd-mv-prof-chips { display:flex; flex-wrap:wrap; gap:6px; padding:6px 14px; }
.kd-mv-prof-chip { display:inline-flex; align-items:center; gap:5px; background:var(--grm-canvas,#f5f7fa); color:var(--grm-ink-500,#55636e); border-radius:8px; padding:4px 10px; font-size:11px; font-weight:500; }
.kd-mv-prof-socials { display:flex; flex-wrap:wrap; gap:8px; padding:6px 14px 2px; }
.kd-mv-prof-social-link { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#103A63; text-decoration:none; font-weight:500; }
.kd-mv-prof-social-link:hover { text-decoration:underline; }
.kd-mv-prof-bio { padding:8px 14px; font-size:13px; color:var(--grm-ink-500,#55636e); line-height:1.6; border-top:1px solid var(--grm-sky-50,#edf2f8); margin-top:4px; }
.kd-mv-prof-dienst { padding:2px 14px 8px; font-size:12px; color:var(--grm-ink-500,#55636e); line-height:1.5; }
.kd-mv-prof-dienst-lbl { display:block; font-weight:600; color:var(--grm-ink,#041e42); margin-bottom:2px; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.kd-mv-prof-photos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:8px 14px 4px; }
.kd-mv-prof-photos-grid img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:8px; }
.kd-mv-prof-actions { padding:12px 14px 16px; display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--grm-sky-50,#edf2f8); margin-top:4px; }
.kd-mv-prof-cta { display:flex; align-items:center; justify-content:center; padding:12px 20px; background:#103A63; color:#fff; border-radius:12px; text-decoration:none; font-size:14px; font-weight:600; transition:background .15s; }
.kd-mv-prof-cta:hover { background:#103A63; color:#fff !important; }
.kd-mv-prof-save { display:flex; align-items:center; justify-content:center; gap:7px; padding:11px 20px; background:#fff; color:var(--grm-ink-500,#55636e); border:1.5px solid var(--grm-line-soft,#eaeff5); border-radius:12px; font-size:14px; font-weight:600; cursor:pointer; transition:all .15s; font-family:inherit; width:100%; }
.kd-mv-prof-save:hover { background:var(--grm-canvas,#f5f7fa); color:var(--grm-danger,#dc2626); border-color:var(--grm-danger-50,#FBD5D2); }
.kd-mv-prof-save.kd-mv-prof-save-on { background:var(--grm-canvas,#f5f7fa); color:var(--grm-danger,#dc2626); border-color:var(--grm-danger-50,#FBD5D2); }
.kd-mv-prof-save:disabled { opacity:.6; cursor:not-allowed; }
.kd-mv-prof-chat { display:flex; align-items:center; justify-content:center; gap:7px; padding:11px 20px; background:var(--grm-canvas,#f5f7fa); color:#103A63; border:1.5px solid var(--grm-brand-100,#d3e0ef); border-radius:12px; text-decoration:none; font-size:14px; font-weight:600; cursor:pointer; transition:all .15s; font-family:inherit; width:100%; }
.kd-mv-prof-chat:hover { background:#103A63; color:#fff !important; border-color:#103A63; }

.kd-mv-map { flex:1; min-width:0; position:relative; background:var(--grm-line-soft,#eaeff5); }

.kd-mv-egg-marker{ background:transparent !important; border:0 !important; }
.kd-mv-egg-flag{
    display:inline-flex; align-items:center; gap:4px;
    background:#fff;
    border:1px solid rgba(16,58,99,.35);
    border-radius:99px;
    padding:3px 9px 3px 7px;
    box-shadow:0 3px 8px -2px rgba(15,23,42,.18), 0 1px 2px rgba(15,23,42,.05);
    font-family:var(--grm-font-body),sans-serif;
    font-size:10.5px; font-weight:700;
    color:#103A63;
    line-height:1;
    cursor:pointer;
    user-select:none;
    transform:rotate(-2deg);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    white-space:nowrap;
}
.kd-mv-egg-flag:hover{
    transform:rotate(-2deg) translateY(-1px) scale(1.05);
    box-shadow:0 6px 14px -3px rgba(16,58,99,.4);
    background:#fff;
}
.kd-mv-egg-flag-txt{ letter-spacing:.2px; }
.kd-mv-egg-fish{
    font-size:13px; line-height:1; display:inline-block;
    animation:kd-mv-egg-wig 3.4s ease-in-out infinite;
    transform-origin:60% 60%;
}

.kd-mv-mat-marker{ background:transparent !important; border:0 !important; }
.kd-mv-mat-flag{
    display:inline-flex; align-items:center; gap:3px;
    background:#fff;
    border:1px solid rgba(15,23,42,.12);
    border-radius:99px;
    padding:2px 7px 2px 5px;
    box-shadow:0 2px 5px -2px rgba(15,23,42,.18);
    font-family:var(--grm-font-body),sans-serif;
    font-size:9.5px; font-weight:600;
    color:var(--grm-ink-500,#55636e);
    line-height:1;
    cursor:pointer;
    user-select:none;
    opacity:.78;
    transition:opacity .15s, transform .15s, box-shadow .15s, background .15s;
    white-space:nowrap;
}
.kd-mv-mat-flag:hover{
    opacity:1;
    transform:translateY(-1px) scale(1.08);
    background:#fff;
    box-shadow:0 5px 12px -3px rgba(15,23,42,.28);
    color:#103A63;
    border-color:rgba(16,58,99,.35);
}
.kd-mv-mat-em{ font-size:11px; line-height:1; display:inline-block; }
.kd-mv-mat-lbl{ letter-spacing:.1px; }
.kd-mv-mat-fact{
    margin:0; font-size:11.5px; color:var(--grm-ink-700,#33424f);
    font-weight:500; line-height:1.5;
}

@media(max-width:480px){
    .kd-mv-mat-flag{ padding:3px 6px; }
    .kd-mv-mat-lbl{ display:none; }
}
@keyframes kd-mv-egg-wig{
    0%,100%{ transform:rotate(-10deg); }
    50%   { transform:rotate(10deg); }
}

.kd-mv-egg-popup .leaflet-popup-content-wrapper{
    background:#fff;
    border:1px solid rgba(16,58,99,.25);
    border-radius:14px;
    box-shadow:0 14px 34px -10px rgba(15,23,42,.28), 0 2px 6px rgba(15,23,42,.07);
    padding:0;
}
.kd-mv-egg-popup .leaflet-popup-content{ margin:11px 13px 11px; font-family:var(--grm-font-body),sans-serif; }
.kd-mv-egg-popup .leaflet-popup-tip{ background:#fff; border:1px solid rgba(16,58,99,.25); }
.kd-mv-egg-popup .leaflet-popup-close-button{ color:var(--grm-ink-300,#a8b4bc) !important; font-size:18px !important; padding:4px 7px 0 0 !important; }
.kd-mv-egg-popup .leaflet-popup-close-button:hover{ color:#1668C7 !important; }
.kd-mv-egg-pop{ color:var(--grm-ink,#041e42); line-height:1.45; }
.kd-mv-egg-pop-head{
    display:flex; align-items:center; gap:6px;
    font-size:12.5px; font-weight:800; color:var(--grm-ink,#041e42);
    margin-bottom:7px; padding-bottom:6px;
    border-bottom:1px dashed rgba(16,58,99,.3);
}
.kd-mv-egg-pop-tips{
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:5px;
}
.kd-mv-egg-pop-tips li{
    display:flex; align-items:flex-start; gap:6px;
    font-size:11px; font-weight:600; color:var(--grm-ink-700,#33424f);
    line-height:1.4;
}
.kd-mv-egg-pop-tips li span{ font-size:13px; line-height:1.1; flex-shrink:0; margin-top:1px; }

.kd-mv-chips {
    position:absolute; top:12px; left:50%; transform:translateX(-50%);
    z-index:1001; display:flex; gap:6px; padding:0 8px;
    max-width:calc(100% - 24px); overflow-x:auto; scrollbar-width:none; white-space:nowrap;
}
.kd-mv-chips::-webkit-scrollbar { display:none; }
.kd-mv-chip {
    display:inline-flex; align-items:center; gap:5px;
    padding:7px 14px; border-radius:99px; border:none;
    background:rgba(255,255,255,.96); color:var(--grm-ink,#041e42);
    font-size:12px; font-weight:600; cursor:pointer;
    font-family:var(--grm-font-body),sans-serif;
    box-shadow:0 2px 8px rgba(15,23,42,.18); transition:all .15s;
    white-space:nowrap; flex-shrink:0;
}
.kd-mv-chip:hover { background:var(--grm-canvas,#f5f7fa); color:#103A63; }
.kd-mv-chip.kd-mv-chip-on { background:#103A63; color:#fff; box-shadow:0 2px 8px rgba(16,58,99,.4); }
.kd-mv-chip.kd-mv-chip-on svg { stroke:#fff; }

.kd-prov-popup-more {
    padding:10px 14px; font-size:12px; color:#103A63; font-weight:700;
    border-top:1px solid var(--grm-sky-50,#edf2f8); text-align:center;
    cursor:pointer;
    transition:background .14s, color .14s;
    user-select:none;
}
.kd-prov-popup-more:hover,
.kd-prov-popup-more:focus-visible {
    background:var(--grm-sky-50,#edf2f8);
    color:#103A63;
    outline:none;
}
.kd-prov-popup-more svg { transition:transform .14s; }
.kd-prov-popup-more:hover svg { transform:translateX(2px); }

.kd-mv-prov-marker {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    border-radius:50%; background:var(--grm-rij-diep);
    color:#fff; border:3px solid rgba(255,255,255,.9);
    box-shadow:0 4px 16px -4px rgba(16,58,99,.55);
    cursor:pointer; font-family:var(--grm-font-body),sans-serif; transition:transform .15s,box-shadow .15s;
}
.kd-mv-prov-marker strong { font-weight:800; line-height:1.1; }
.kd-mv-prov-marker span { opacity:.85; font-weight:600; text-align:center; line-height:1.1; padding:0 3px; }
.kd-mv-prov-marker:hover { transform:scale(1.1); box-shadow:0 8px 24px -4px rgba(16,58,99,.7); }

.kd-mv-prov-hidden { display:none !important; }
@keyframes kdMvProvPop{
    0%   { transform:scale(0)   rotate(-18deg); opacity:0; }
    55%  { transform:scale(1.22) rotate(8deg);  opacity:1; }
    78%  { transform:scale(.92) rotate(-4deg); }
    100% { transform:scale(1)   rotate(0); }
}
.kd-mv-prov-marker.kd-mv-prov-pop { animation:kdMvProvPop .5s cubic-bezier(.34,1.56,.64,1); }

.kd-mv-nl-marker {
    background:var(--grm-accent-grad);
    border-width:4px;
    box-shadow:0 8px 26px -4px rgba(44,63,176,.6);
}

.kd-prov-popup-wrap .leaflet-popup-content-wrapper {
    border-radius:14px; padding:0; overflow:hidden;
    box-shadow:0 8px 32px -4px rgba(15,23,42,.22); border:1px solid var(--grm-line-soft,#eaeff5);
}
.kd-prov-popup-wrap .leaflet-popup-content { margin:0; width:290px !important; }
.kd-prov-popup-wrap .leaflet-popup-close-button {
    top:8px !important; right:10px !important; color:var(--grm-ink-400,#7A8794) !important;
    font-size:18px !important; z-index:2; background:none !important;
}
.kd-prov-popup-wrap .leaflet-popup-tip { background:#fff; }
.kd-prov-popup { font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif; }
.kd-prov-popup-hdr {
    padding:10px 36px 10px 14px; font-size:13px; color:var(--grm-ink-500,#55636e);
    background:#fff; border-bottom:1px solid var(--grm-sky-50,#edf2f8); line-height:1.4;
}
.kd-prov-popup-count { font-size:15px; font-weight:800; color:var(--grm-ink,#041e42); margin-right:2px; }
.kd-prov-popup-empty { padding:16px 14px; font-size:13px; color:var(--grm-ink-400,#7A8794); margin:0; }
.kd-prov-popup-list { max-height:340px; overflow-y:auto; overscroll-behavior:contain; }
.kd-prov-vm-item {
    display:flex; align-items:center; gap:10px; padding:10px 14px;
    border-bottom:1px solid var(--grm-sky-50,#edf2f8); cursor:pointer; transition:background .1s;
}
.kd-prov-vm-item:hover { background:var(--grm-canvas,#f5f7fa); }
.kd-prov-vm-item:last-child { border-bottom:none; }
.kd-prov-vm-av {
    width:40px; height:40px; border-radius:50%; object-fit:cover;
    flex-shrink:0; border:2px solid var(--grm-line-soft,#eaeff5); display:block;
}
.kd-prov-vm-av-ph {
    background:var(--grm-canvas,#f5f7fa); display:flex; align-items:center; justify-content:center;
}
.kd-prov-vm-info { flex:1; min-width:0; }
.kd-prov-vm-name { font-size:13px; font-weight:700; color:var(--grm-ink,#041e42); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kd-prov-vm-sub  { font-size:11px; color:var(--grm-ink-400,#7A8794); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
.kd-prov-vm-bdg  { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.kd-prov-bdg     { font-size:10px; font-weight:600; padding:2px 7px; border-radius:99px; }
.kd-prov-bdg-g   { background:#EDF2F8; color:#103A63; border:1px solid #D3E0EF; }
.kd-prov-bdg-b   { background:var(--grm-canvas,#f5f7fa); color:var(--grm-accent,#1668C7); border:1px solid var(--grm-brand-100,#d3e0ef); }
.kd-prov-bdg-p   { background:var(--grm-canvas,#f5f7fa); color:#103A63; border:1px solid var(--grm-brand-100,#d3e0ef); }
.kd-prov-vm-arr  { flex-shrink:0; stroke:var(--grm-line,#d7dee7); transition:stroke .1s; }
.kd-prov-vm-item:hover .kd-prov-vm-arr { stroke:#103A63; }

.kd-mv-map-back {
    position:absolute; top:64px; left:50%; transform:translateX(-50%); z-index:1000;
    background:#fff; border:none; border-radius:99px;
    padding:8px 16px; font-size:13px; font-weight:500;
    font-family:var(--grm-font-body),sans-serif; cursor:pointer;
    display:flex; align-items:center; gap:6px;
    box-shadow:0 1px 4px rgba(0,0,0,.1), 0 2px 8px rgba(4,30,66,.2);
    transition:background .15s; color:var(--grm-ink,#041e42);
}
.kd-mv-map-back:hover { background:#EAEFF5; }

.kd-mv-recenter {
    position:absolute; right:16px; bottom:16px; z-index:1000;
    width:44px; height:44px; border-radius:50%;
    background:#fff; border:none; cursor:pointer; color:#55636E;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 1px 4px rgba(0,0,0,.1), 0 2px 8px rgba(4,30,66,.2);
    transition:background .15s, color .15s;
}
.kd-mv-recenter:hover { background:#EAEFF5; color:var(--grm-ink,#041e42); }
.kd-mv-recenter:active { background:var(--grm-line,#d7dee7); }

.kd-mv-pane[data-mv-pane="kaart"]{ position:relative; }
.kd-mv-view-toggle{
    position:absolute; left:50%; bottom:24px; transform:translateX(-50%);
    z-index:1000;
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 16px;
    background:var(--grm-ink,#041e42); color:#fff;
    border:none; border-radius:999px;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Roboto,sans-serif;
    font-size:14px; font-weight:600;
    letter-spacing:-.01em;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.25), 0 2px 4px rgba(0,0,0,.12);
    transition:background .15s, transform .1s, box-shadow .15s;
}
.kd-mv-view-toggle:hover{
    background:#000;
    box-shadow:0 6px 18px rgba(0,0,0,.3), 0 2px 6px rgba(0,0,0,.15);
}
.kd-mv-view-toggle:active{ transform:translateX(-50%) scale(.97); }
.kd-mv-view-toggle svg{ flex-shrink:0; }
.kd-mv-view-toggle-lbl{ white-space:nowrap; }
.kd-mv-view-toggle-cnt{
    background:rgba(255,255,255,.18);
    border-radius:999px;
    padding:1px 8px;
    font-size:12px; font-weight:700;
    font-variant-numeric:tabular-nums;
    min-width:18px; text-align:center;
}
@media (max-width:480px){
    .kd-mv-view-toggle{ bottom:20px; padding:9px 14px; font-size:13.5px; }
}

.kd-mv-zoom-ctrl {
    position:absolute; right:16px; top:64px; z-index:1000;
    background:#fff; border-radius:8px;
    box-shadow:0 1px 4px rgba(0,0,0,.1), 0 2px 8px rgba(4,30,66,.2);
    display:flex; flex-direction:column; overflow:hidden;
}
.kd-mv-zoom-ctrl[aria-hidden="true"] { display:none; }
.kd-mv-zoom-btn {
    width:40px; height:40px; border:none; background:#fff;
    cursor:pointer; color:#55636E;
    display:flex; align-items:center; justify-content:center;
    transition:background .12s;
}
.kd-mv-zoom-btn:hover { background:#EAEFF5; color:var(--grm-ink,#041e42); }
.kd-mv-zoom-btn:active { background:var(--grm-line,#d7dee7); }
.kd-mv-zoom-sep { height:1px; background:var(--grm-line-soft,#eaeff5); }

.kd-mv-vm-prov { color:#103A63; font-weight:500; }

@media (max-width:767px) {
    .kaart-mobile-top{ padding:10px 12px; gap:8px; }
    .km-back, .km-filter{ width:40px; height:40px; }
    .km-back i, .km-filter i{ font-size:14px; }
    .km-search{ height:42px; padding-left:38px; }
    .km-search > i{ left:13px; }

    .kd-mv-layout { position:relative; }
    .kd-mv-map {
        position:absolute; inset:0; flex:none;
        width:100%; height:100%;

        z-index:0; isolation:isolate;
    }
    .kd-mv-panel {
        position:absolute; left:0; right:0; bottom:0; width:100%;
        border-right:none; border-top:none;
        border-radius:16px 16px 0 0;
        box-shadow:0 -2px 6px rgba(0,0,0,.06), 0 -4px 16px rgba(0,0,0,.08);
        transition:height .32s cubic-bezier(.25,.46,.45,.94);

        z-index:50;
        background:#fff !important;
        color:var(--grm-ink,#041e42);
        display:flex !important; flex-direction:column;

        box-sizing:border-box; padding-bottom:env(safe-area-inset-bottom,0px);
    }
    .kd-mv-panel .kd-mv-view{ background:#fff; color:var(--grm-ink,#041e42); position:relative; z-index:1; }
    .kd-mv-panel .kd-mv-view-inner{ background:#fff; }
    .kd-mv-panel .kd-mv-prov-name,
    .kd-mv-panel .kd-mv-sec-hdr,
    .kd-mv-panel .kd-mv-prov-count{ color:var(--grm-ink,#041e42); }
    .kd-mv-panel .kd-mv-sec-hdr{ color:var(--grm-ink-400,#7A8794); }
    .kd-mv-panel[data-view="peek"]      { height:calc(108px + env(safe-area-inset-bottom,0px)); }
    .kd-mv-panel[data-view="provinces"] { height:calc(55vh + env(safe-area-inset-bottom,0px)); }

    .kd-mv-panel[data-view="list"],
    .kd-mv-panel[data-view="profile"] {
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:100% !important;
        height:100vh !important;
        height:100dvh !important;
        z-index:1500;
        border-radius:0;
        transition:none !important;
    }

    .kd-mv-panel[data-view="list"]    .kd-mv-panel-handle,
    .kd-mv-panel[data-view="profile"] .kd-mv-panel-handle { display:none !important; }

    .kd-mv .kd-mv-panel[data-view="list"] ~ * .leaflet-popup-pane,
    .kd-mv .kd-mv-panel[data-view="profile"] ~ * .leaflet-popup-pane,
    .kd-mv .leaflet-popup-pane:has(.kd-prov-popup-wrap) {
        display:none !important;
    }

    .kd-prov-popup-wrap { display:none !important; }

    .kd-mv.is-fulllist .kd-mv-map,
    .kd-mv.is-fulllist .kd-mv-chips,
    .kd-mv.is-fulllist .kd-mv-recenter,
    .kd-mv.is-fulllist .kd-mv-zoom-ctrl,
    .kd-mv.is-fulllist .kd-mv-map-back { display:none !important; }
    .kd-mv.is-fulllist .kd-mv-panel {
        position:absolute; top:0; left:0; right:0; bottom:0;
        height:100% !important; width:100%;
        border-radius:0; z-index:1500;
        box-shadow:none;
    }
    .kd-mv.is-fulllist .kd-mv-panel-handle { display:none !important; }

    .kd-mv.is-fulllist .kd-mv-back-btn .kd-mv-back-lbl::after {
        content:' · sluit lijst'; opacity:.6; font-weight:600;
    }
    .kd-mv-panel-handle {
        display:flex; justify-content:center; align-items:center;
        padding:8px 0 4px; flex-shrink:0; cursor:grab;
        touch-action:none; min-height:18px;
    }
    .kd-mv-panel-handle::before {
        content:''; width:36px; height:4px; border-radius:2px; background:#D7DEE7;
        transition:background .15s, width .15s;
    }
    .kd-mv-panel-handle:active::before { background:var(--grm-ink-300,#a8b4bc); width:48px; }

    .kd-mv-chips {
        top:auto; bottom:calc(var(--kd-sheet-h, 108px) + 14px);
        transition:bottom .32s cubic-bezier(.25,.46,.45,.94);
    }
    .kd-mv-recenter {
        right:14px; bottom:calc(var(--kd-sheet-h, 108px) + 14px);
        transition:bottom .32s cubic-bezier(.25,.46,.45,.94);
    }
    .kd-mv-zoom-ctrl { right:14px; top:78px; }

    .kd-mv-panel[data-view="profile"] ~ * .kd-mv-zoom-ctrl,
    .kd-mv .kd-mv-panel[data-view="profile"] ~ .kd-mv-map .kd-mv-zoom-ctrl {  }
    .kd-mv-map-back { top:78px; }
}

.leaflet-control-attribution { font-size:10px !important; }
.leaflet-bottom.leaflet-right { bottom:8px !important; right:8px !important; opacity:.8; }

.kd-seo-index{
    margin:64px auto 0;
    max-width:1340px;
    padding:38px 28px 30px;
    background:var(--grm-canvas,#f5f7fa);
    border:1px solid var(--grm-line-soft,#eaeff5);
    border-radius:22px;
    font-family:var(--grm-font-body),-apple-system,BlinkMacSystemFont,sans-serif;
    color:var(--grm-ink,#041e42);
}
.kd-seo-head{
    text-align:center;
    margin-bottom:30px;
    padding-bottom:24px;
    border-bottom:1px solid var(--grm-line-soft,#eaeff5);
}
.kd-seo-head h2{
    margin:0 0 8px !important;
    font-size:22px !important;
    font-weight:900 !important;
    color:var(--grm-ink,#041e42) !important;
    letter-spacing:-.5px;
    line-height:1.2;
}
.kd-seo-sub{
    margin:0;
    font-size:13.5px;
    color:var(--grm-ink-500,#55636e);
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.55;
}

.kd-seo-tabs{
    display:flex; gap:8px;
    margin-bottom:20px;
    flex-wrap:wrap;
    justify-content:center;
}
.kd-seo-tab{
    display:inline-flex; align-items:center; gap:7px;
    padding:10px 16px;
    border-radius:99px;
    border:1.5px solid var(--grm-line-soft,#eaeff5);
    background:#fff;
    color:var(--grm-ink-500,#55636e);
    font-family:inherit; font-size:13px; font-weight:700;
    cursor:pointer;
    transition:all .15s;
}
.kd-seo-tab svg{ flex-shrink:0; opacity:.7; }
.kd-seo-tab small{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:20px; height:18px; padding:0 5px;
    border-radius:99px;
    background:var(--grm-canvas,#f5f7fa); color:var(--grm-ink-500,#55636e);
    font-size:10.5px; font-weight:800;
}
.kd-seo-tab:hover{ border-color:var(--grm-brand-100,#d3e0ef); color:#1668C7; }
.kd-seo-tab.is-active{
    background:var(--grm-rij-diep);
    border-color:transparent;
    color:#fff;
    box-shadow:0 6px 16px -4px rgba(16,58,99,.45);
}
.kd-seo-tab.is-active svg{ opacity:1; }
.kd-seo-tab.is-active small{ background:rgba(255,255,255,.25); color:#fff; }

.kd-seo-panel{ animation:kdSeoFade .25s ease; }
.kd-seo-panel[hidden]{ display:none; }
@keyframes kdSeoFade{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }

.kd-seo-acc{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
    gap:8px;
    align-content:start;
}
.kd-seo-acc-item{
    background:#fff;
    border:1px solid var(--grm-line-soft,#eaeff5);
    border-radius:12px;
    overflow:hidden;
    transition:border-color .15s, box-shadow .15s;
    align-self:start;
}
.kd-seo-acc-item[open]{
    border-color:var(--grm-brand-100,#d3e0ef);
    box-shadow:0 4px 14px -4px rgba(16,58,99,.18);
}
.kd-seo-acc-sum{
    list-style:none; cursor:pointer;
    display:flex; align-items:center; gap:8px;
    padding:12px 14px;
    font-size:13.5px; font-weight:700; color:var(--grm-ink,#041e42);
    transition:background .12s;
}
.kd-seo-acc-sum::-webkit-details-marker{ display:none; }
.kd-seo-acc-sum:hover{ background:var(--grm-canvas,#f5f7fa); }
.kd-seo-acc-name{ flex:1; min-width:0; }
.kd-seo-acc-num{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:22px; height:20px; padding:0 6px;
    border-radius:99px;
    background:var(--grm-sky-50,#edf2f8); color:#103A63;
    font-size:11px; font-weight:800;
}
.kd-seo-acc-chev{ color:var(--grm-ink-300,#a8b4bc); transition:transform .25s ease; flex-shrink:0; }
.kd-seo-acc-item[open] .kd-seo-acc-chev{ transform:rotate(180deg); color:#103A63; }
.kd-seo-acc-sub{
    list-style:none; margin:0; padding:0 14px 12px;
    border-top:1px solid var(--grm-canvas,#f5f7fa);
}
.kd-seo-acc-sub li{ margin:0; }
.kd-seo-acc-sub li a{
    display:block; padding:7px 0;
    font-size:12.5px; color:var(--grm-ink-500,#55636e); text-decoration:none;
    border-bottom:1px dashed var(--grm-canvas,#f5f7fa);
    transition:color .12s;
}
.kd-seo-acc-sub li:last-child a{ border-bottom:0; }
.kd-seo-acc-sub li a:hover{ color:#1668C7; }
.kd-seo-acc-all a{
    color:#103A63 !important; font-weight:700; font-size:12px;
    padding-top:9px !important;
}

.kd-seo-acc-link{
    display:flex; align-items:center; gap:8px;
    padding:12px 14px;
    font-size:13.5px; font-weight:700; color:var(--grm-ink,#041e42) !important;
    text-decoration:none !important;
}
.kd-seo-acc-link svg{ color:var(--grm-ink-300,#a8b4bc); margin-left:auto; flex-shrink:0; }
.kd-seo-acc-link:hover{ background:var(--grm-canvas,#f5f7fa); color:#103A63 !important; }
.kd-seo-acc-link:hover svg{ color:#103A63; }

.kd-seo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:24px;
    margin-bottom:24px;
}
.kd-seo-col{
    background:#fff;
    border:1px solid var(--grm-line-soft,#eaeff5);
    border-radius:16px;
    padding:20px 18px 16px;
    box-shadow:0 2px 8px -3px rgba(15,23,42,.05);
}
.kd-seo-col-h{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 14px !important;
    font-size:14px !important;
    font-weight:800 !important;
    color:var(--grm-ink,#041e42) !important;
    letter-spacing:.2px;
    text-transform:uppercase;
    padding-bottom:11px;
    border-bottom:2px solid var(--grm-canvas,#f5f7fa);
}
.kd-seo-col-h small{
    margin-left:auto;
    background:#103A63;
    color:#fff;
    font-size:10px;
    font-weight:800;
    padding:3px 9px;
    border-radius:99px;
    letter-spacing:.3px;
}
.kd-seo-col-ic{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px; height:28px;
    border-radius:8px;
    background:var(--grm-rij-zacht);
    color:#103A63;
    flex-shrink:0;
}

.kd-seo-cats{
    list-style:none;
    padding:0; margin:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.kd-seo-cats > li{
    margin:0; padding:0;
}
.kd-seo-cat-lnk{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 11px;
    color:var(--grm-ink,#041e42) !important;
    text-decoration:none !important;
    font-size:13.5px;
    font-weight:700;
    border-radius:8px;
    transition:background .12s, color .12s;
}
.kd-seo-cat-lnk:hover{
    background:var(--grm-sky-50,#edf2f8);
    color:#103A63 !important;
}
.kd-seo-cat-name{ flex:1; min-width:0; }
.kd-seo-cat-num{
    flex-shrink:0;
    background:var(--grm-canvas,#f5f7fa);
    color:var(--grm-ink-500,#55636e);
    font-size:10.5px;
    font-weight:800;
    padding:2px 7px;
    border-radius:99px;
    margin-left:8px;
}
.kd-seo-cat-lnk:hover .kd-seo-cat-num{
    background:#103A63;
    color:#fff;
}
.kd-seo-cat-sub{
    list-style:none;
    padding:2px 0 6px 14px;
    margin:0 0 4px;
    border-left:2px solid var(--grm-canvas,#f5f7fa);
    margin-left:11px;
}
.kd-seo-cat-sub li{ margin:0; padding:0; }
.kd-seo-cat-sub a{
    display:block;
    padding:3px 8px;
    color:var(--grm-ink-500,#55636e) !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:500;
    line-height:1.4;
    border-radius:5px;
    transition:background .12s, color .12s;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.kd-seo-cat-sub a:hover{ background:var(--grm-sky-50,#edf2f8); color:#103A63 !important; }
.kd-seo-cat-more a{
    color:#103A63 !important;
    font-weight:700 !important;
    font-size:11.5px !important;
}

.kd-seo-cities{
    list-style:none;
    padding:0; margin:0;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
    gap:6px;
}
.kd-seo-cities a{ border:1px solid var(--grm-line-soft,#eaeff5); }
.kd-seo-cities li{ margin:0; padding:0; }
.kd-seo-cities a{
    display:block;
    padding:7px 11px;
    color:var(--grm-ink-500,#55636e) !important;
    text-decoration:none !important;
    font-size:13px;
    font-weight:600;
    border-radius:7px;
    transition:background .12s, color .12s;
}
.kd-seo-cities a:hover{
    background:var(--grm-sky-50,#edf2f8);
    color:#103A63 !important;
}

.kd-seo-all{
    background:#fff;
    border:1px solid var(--grm-line-soft,#eaeff5);
    border-radius:14px;
    padding:14px 18px;
    margin-top:8px;
}
.kd-seo-all summary{
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    color:var(--grm-ink,#041e42);
    padding:4px 0;
    list-style:none;
    user-select:none;
    display:flex;
    align-items:center;
    gap:8px;
}
.kd-seo-all summary::-webkit-details-marker{ display:none; }
.kd-seo-all summary::after{
    content:'▾';
    margin-left:auto;
    font-size:11px;
    color:var(--grm-ink-300,#a8b4bc);
    transition:transform .15s ease;
}
.kd-seo-all[open] summary::after{ transform:rotate(180deg); }
.kd-seo-all-icn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px; height:24px;
    border-radius:7px;
    background:var(--grm-sky-50,#edf2f8);
    color:#103A63;
    font-size:11px;
}
.kd-seo-all-list{
    list-style:none;
    padding:14px 0 4px;
    margin:0;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
    gap:3px 18px;
    border-top:1px solid var(--grm-canvas,#f5f7fa);
    margin-top:10px;
}
.kd-seo-all-list li{ margin:0; padding:0; }
.kd-seo-all-list a{
    display:block;
    padding:5px 8px;
    color:var(--grm-ink-500,#55636e) !important;
    text-decoration:none !important;
    font-size:12.5px;
    line-height:1.4;
    border-radius:5px;
    transition:background .12s, color .12s;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.kd-seo-all-list a:hover{ background:var(--grm-sky-50,#edf2f8); color:#103A63 !important; }
.kd-seo-all-list a span{ color:var(--grm-ink-300,#a8b4bc); font-size:11px; }

.kd-seo-foot{
    margin:22px 0 0;
    text-align:center;
    font-size:12.5px;
    color:var(--grm-ink-500,#55636e);
}
.kd-seo-foot a{
    color:#103A63 !important;
    text-decoration:none !important;
    font-weight:700;
}
.kd-seo-foot a:hover{ text-decoration:underline !important; }

@media(max-width:768px){
    .kd-seo-index{ padding:28px 18px 22px; border-radius:16px; }
    .kd-seo-head h2{ font-size:18px !important; }
    .kd-seo-grid{ gap:16px; }
    .kd-seo-cities{ grid-template-columns:1fr; }
    .kd-seo-all-list{ grid-template-columns:1fr; }
}

.grm-fy-feed{display:flex;flex-direction:column;gap:18px;max-width:560px;margin:0 auto;padding:14px 12px 80px}
.grm-fy-card{position:relative;background:#fff;border:1px solid #D7DEE7;border-radius:18px;overflow:hidden;box-shadow:0 6px 22px rgba(4,30,66,.07);transition:transform .18s,box-shadow .18s}
.grm-fy-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(4,30,66,.12)}
.grm-fy-card--ad{border-color:var(--c,#103A63);box-shadow:0 8px 26px color-mix(in srgb,var(--c,#103A63) 22%,transparent)}
.grm-fy-ad-badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--c,#103A63);color:#fff;font:700 11px/1 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:6px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(4,30,66,.25)}
.grm-fy-stage{position:relative;width:100%;aspect-ratio:4/3;background:#041E42;overflow:hidden}
.grm-fy-stage--solid{aspect-ratio:16/7}
.grm-fy-shot{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}
.grm-fy-shot.is-on{opacity:1}
.grm-fy-body{padding:14px 16px 16px}
.grm-fy-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.grm-fy-logo{width:46px;height:46px;border-radius:12px;object-fit:cover;flex-shrink:0;border:2px solid #fff;box-shadow:0 3px 10px rgba(4,30,66,.14)}
.grm-fy-logo--ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--c,#103A63),#041E42);color:#fff;font:800 20px/1 'Inter Tight',serif}
.grm-fy-headtext{min-width:0;flex:1}
.grm-fy-name{margin:0;font:700 1.05rem/1.25 'Inter Tight',serif;color:#041E42;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grm-fy-dienst{margin:2px 0 0;font:500 .82rem/1.35 'Inter',sans-serif;color:#55636E;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.grm-fy-cta{display:inline-flex;align-items:center;gap:6px;background:var(--c,#103A63);color:#fff;font:700 .9rem/1 'Inter',sans-serif;text-decoration:none;padding:11px 16px;border-radius:11px;transition:filter .15s}
.grm-fy-cta:hover{filter:brightness(1.08)}
.grm-fy-cta .material-symbols-rounded{font-size:18px}
.kd-mv-ontdek-empty{text-align:center;padding:60px 20px;color:#55636E;font:500 .95rem/1.5 'Inter',sans-serif}
@media(prefers-reduced-motion:reduce){.grm-fy-shot{transition:none}.grm-fy-card{transition:none}}

/* Het kopje van het filterpaneel heeft een marine achtergrond; het icoon stond
   in dezelfde marine en viel daardoor weg. */
.kd-act-sf-head strong svg{color:#fff;stroke:#fff}
