:root{
    --bg:#f4f7fb;
    --bg-soft:#eef5f8;
    --card:#ffffff;
    --card2:#f8fbff;
    --text:#102033;
    --muted:#5f7287;
    --line:rgba(16,32,51,.09);
    --line-strong:rgba(16,32,51,.14);
    --brand:#58d5c9;
    --brand-dark:#12675f;
    --accent:#ffbf69;
    --accent-dark:#9a5a00;
    --radius:24px;
    --shadow:0 14px 40px rgba(15,23,42,.08);
    --shadow-hover:0 22px 55px rgba(15,23,42,.13);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at 8% 8%,rgba(88,213,201,.13),transparent 26%),
        radial-gradient(circle at 92% 12%,rgba(255,191,105,.11),transparent 28%),
        linear-gradient(180deg,#fff 0,#f4f7fb 44%,#eef4f7 100%);
}

a{color:inherit;text-decoration:none}
a:hover{color:var(--brand-dark)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.hv-container{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
}

.hv-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    box-shadow:0 10px 30px rgba(15,23,42,.04);
}

.hv-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:15px 0;
    gap:18px;
}

.hv-logo{
    font-weight:950;
    font-size:25px;
    letter-spacing:-.055em;
    line-height:1;
}

.hv-logo span{color:var(--brand-dark)}

.hv-menu{
    display:flex;
    gap:18px;
    align-items:center;
    color:#1b2c40;
    font-weight:850;
    font-size:15px;
}

.hv-menu ul{
    display:flex;
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
}

.hv-menu a{
    position:relative;
    padding:8px 0;
}

.hv-menu a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:1px;
    height:2px;
    border-radius:999px;
    background:var(--brand);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
}

.hv-menu a:hover:after{transform:scaleX(1)}

.hv-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,var(--brand),#7ef0b2);
    color:#04111b;
    font-weight:950;
    padding:13px 19px;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(88,213,201,.24);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    min-height:46px;
}

.hv-btn:hover{
    color:#04111b;
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(88,213,201,.32);
}

.hv-btn.secondary{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}

.hv-btn.secondary:hover{
    color:var(--brand-dark);
    border-color:rgba(88,213,201,.38);
}

.hv-hero,
.hv-single-hero{
    position:relative;
    overflow:hidden;
    padding:86px 0 62px;
    background:
        linear-gradient(180deg,rgba(255,255,255,.94),rgba(238,244,250,.95)),
        radial-gradient(circle at 20% 10%,rgba(88,213,201,.2),transparent 34%),
        radial-gradient(circle at 80% 20%,rgba(255,191,105,.16),transparent 30%);
}

.hv-hero:after,
.hv-single-hero:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:80px;
    background:linear-gradient(180deg,transparent,var(--bg));
    pointer-events:none;
}

.hv-hero-grid,
.hv-single-grid,
.hv-two{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:34px;
    align-items:start;
}

.hv-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border:1px solid rgba(88,213,201,.32);
    border-radius:999px;
    background:rgba(88,213,201,.13);
    color:var(--brand-dark);
    font-weight:950;
    font-size:13px;
}

.hv-title{
    font-size:clamp(40px,7vw,82px);
    line-height:.92;
    letter-spacing:-.075em;
    margin:18px 0;
    color:#0e1d2d;
}

.hv-lead{
    font-size:20px;
    line-height:1.65;
    color:#4d6278;
    max-width:650px;
}

.hv-searchbar{
    margin-top:28px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    background:#fff;
    border:1px solid var(--line);
    padding:10px;
    border-radius:22px;
    box-shadow:var(--shadow);
}

.hv-searchbar:focus-within{
    border-color:rgba(88,213,201,.55);
    box-shadow:0 18px 45px rgba(15,23,42,.11);
}

.hv-searchbar input{
    background:transparent;
    border:0;
    color:var(--text);
    font-size:17px;
    padding:0 14px;
    outline:0;
    min-width:0;
}

.hv-hero-card{
    border:1px solid rgba(255,255,255,.8);
    background:rgba(255,255,255,.66);
    border-radius:34px;
    padding:18px;
    box-shadow:var(--shadow);
    transform:rotate(.6deg);
}

.hv-hero-card-inner{
    min-height:430px;
    border-radius:26px;
    background:
        linear-gradient(180deg,rgba(6,20,34,.02),rgba(6,20,34,.58)),
        url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=80') center/cover;
    display:flex;
    align-items:end;
    padding:24px;
    overflow:hidden;
}

.hv-glass,
.hv-panel{
    background:rgba(255,255,255,.88);
    border:1px solid var(--line);
    border-radius:24px;
    padding:22px;
    backdrop-filter:blur(12px);
    box-shadow:var(--shadow);
}

.hv-hero-card .hv-glass{
    background:rgba(255,255,255,.9);
    max-width:390px;
}

.hv-glass p,
.hv-panel p{margin-top:8px}

.hv-section{
    padding:70px 0;
}

.hv-soft{
    background:linear-gradient(180deg,#ffffff,#f4f7fb);
}

.hv-section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin-bottom:26px;
}

.hv-section h2{
    font-size:clamp(30px,4vw,52px);
    letter-spacing:-.055em;
    line-height:1;
    margin:0 0 10px;
    color:#0e1d2d;
}

.hv-section h3,
.hv-panel h3{
    letter-spacing:-.035em;
    color:#0e1d2d;
}

.hv-section p{
    color:var(--muted);
    line-height:1.75;
}

.hv-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.hv-card{
    position:relative;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hv-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
    border-color:rgba(88,213,201,.32);
}

.hv-card-img{
    height:196px;
    background:#e5edf5 center/cover;
    transition:transform .35s ease, filter .35s ease;
}

.hv-card:hover .hv-card-img{
    transform:scale(1.035);
    filter:saturate(1.04);
}

.hv-card>a{
    display:block;
    overflow:hidden;
    background:#e5edf5;
}

.hv-card-body{
    padding:20px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.hv-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}

.hv-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12px;
    font-weight:950;
    border:1px solid var(--line);
    background:#f2f7fb;
    color:#39546d;
    border-radius:999px;
    padding:7px 10px;
    line-height:1;
}

.hv-badge.gold{
    background:rgba(255,191,105,.23);
    color:var(--accent-dark);
    border-color:rgba(255,191,105,.34);
}

.hv-badge.open{
    background:rgba(126,240,178,.23);
    color:#187748;
    border-color:rgba(126,240,178,.36);
}

.hv-card h3{
    font-size:24px;
    letter-spacing:-.045em;
    line-height:1.08;
    margin:0 0 8px;
}

.hv-card p{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.62;
}

.hv-card-meta,
.hv-results-top{
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#4d6278;
    font-weight:850;
}

.hv-card-meta{
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--line);
    font-size:14px;
}

.hv-card-cta{
    margin-top:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:11px 14px;
    border-radius:999px;
    background:#f3f8fb;
    color:#173148;
    font-weight:950;
    border:1px solid var(--line);
    transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.hv-card:hover .hv-card-cta{
    background:rgba(88,213,201,.13);
    color:var(--brand-dark);
    border-color:rgba(88,213,201,.32);
}

.hv-filter-layout{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:24px;
    align-items:start;
}

.hv-filter-panel{
    position:sticky;
    top:88px;
    background:rgba(255,255,255,.9);
    border:1px solid var(--line);
    border-radius:24px;
    padding:18px;
    box-shadow:var(--shadow);
}

.hv-field{
    margin-bottom:14px;
}

.hv-field label{
    display:block;
    font-weight:950;
    margin-bottom:8px;
    color:#182a3d;
}

.hv-field input,
.hv-field select{
    width:100%;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    border-radius:14px;
    padding:13px;
    outline:0;
}

.hv-field input:focus,
.hv-field select:focus{
    border-color:rgba(88,213,201,.55);
    box-shadow:0 0 0 4px rgba(88,213,201,.12);
}

.hv-check{
    display:flex;
    gap:8px;
    align-items:center;
    margin:12px 0 18px;
    font-weight:950;
}

.hv-results-top{
    margin:16px 0 18px;
    align-items:center;
    background:rgba(255,255,255,.72);
    border:1px solid var(--line);
    border-radius:18px;
    padding:13px 15px;
}

.hv-empty{
    grid-column:1/-1;
    padding:28px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    color:var(--muted);
}

#hv-map{
    height:390px;
    border-radius:24px;
    border:1px solid var(--line);
    overflow:hidden;
    background:#e5edf5;
    margin-bottom:18px;
    box-shadow:var(--shadow);
}

.hv-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:22px;
}

.hv-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.hv-feature,
.hv-toplist li{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:13px;
    font-weight:850;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.hv-toplist{
    padding-left:0;
    list-style:none;
    display:grid;
    gap:10px;
    counter-reset:toplist;
}

.hv-toplist li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}

.hv-toplist li:before{
    counter-increment:toplist;
    content:counter(toplist);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:999px;
    background:rgba(88,213,201,.14);
    color:var(--brand-dark);
    font-size:13px;
    font-weight:950;
}

.hv-toplist li a{flex:1}

.hv-footer{
    padding:54px 0 92px;
    background:#0f172a;
    border-top:1px solid rgba(255,255,255,.08);
    color:#f7fbff;
}

.hv-footer p{color:#b8c7d8;line-height:1.7}

.hv-footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:28px;
}

.hv-footer a{
    display:block;
    color:#b8c7d8;
    margin-top:10px;
}

.hv-footer a:hover{color:#fff}

.hv-mobile-nav{
    display:none;
}

.hv-panel hr{
    border:0;
    border-top:1px solid var(--line);
    margin:28px 0;
}

.hv-filter-layout.is-loading .hv-results{
    opacity:.5;
    pointer-events:none;
}

.hv-filter-layout.is-loading .hv-results-top:after{
    content:"Resultaten laden...";
    color:var(--muted);
    font-weight:850;
}

@media(max-width:1020px){
    .hv-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
    .hv-menu,
    .hv-nav>.hv-btn{
        display:none;
    }

    .hv-hero,
    .hv-single-hero{
        padding:56px 0 42px;
    }

    .hv-hero-grid,
    .hv-single-grid,
    .hv-two,
    .hv-filter-layout,
    .hv-footer-grid{
        grid-template-columns:1fr;
    }

    .hv-grid{
        grid-template-columns:1fr;
    }

    .hv-title{
        font-size:44px;
        letter-spacing:-.06em;
    }

    .hv-lead{font-size:18px}

    .hv-section{padding:50px 0}

    .hv-section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .hv-searchbar{
        grid-template-columns:1fr;
    }

    .hv-searchbar .hv-btn{width:100%}

    .hv-hero-card{transform:none}

    .hv-hero-card-inner{min-height:310px}

    .hv-filter-panel{
        position:relative;
        top:auto;
    }

    #hv-map{height:320px}

    .hv-features{grid-template-columns:1fr}

    .hv-mobile-nav{
        position:fixed;
        z-index:60;
        left:12px;
        right:12px;
        bottom:12px;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        background:rgba(255,255,255,.94);
        border:1px solid var(--line);
        backdrop-filter:blur(18px);
        border-radius:22px;
        padding:10px;
        box-shadow:var(--shadow);
    }

    .hv-mobile-nav a{
        text-align:center;
        font-size:12px;
        font-weight:950;
        color:#1b2c40;
        padding:6px 2px;
    }

    .hv-footer{
        padding-bottom:110px;
    }
}

@media(max-width:520px){
    .hv-container{width:min(100% - 24px,1180px)}
    .hv-title{font-size:39px}
    .hv-card-img{height:178px}
    .hv-card-body{padding:18px}
    .hv-actions .hv-btn{width:100%}
}

/* Hellevoets 3.1.2 data upgrades */
.hv-hero-pills,
.hv-archive-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.hv-hero-pills a,
.hv-archive-chips a{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--line);
    background:rgba(255,255,255,.78);
    color:#1b2c40;
    border-radius:999px;
    padding:10px 14px;
    font-size:14px;
    font-weight:900;
    box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.hv-hero-pills a:hover,
.hv-archive-chips a:hover{
    border-color:rgba(88,213,201,.4);
    transform:translateY(-1px);
}

.hv-category-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.hv-category-tile{
    min-height:118px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:18px;
    box-shadow:var(--shadow);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hv-category-tile:hover{
    transform:translateY(-3px);
    border-color:rgba(88,213,201,.36);
    box-shadow:0 18px 42px rgba(15,23,42,.1);
}

.hv-category-tile span{
    font-size:20px;
    font-weight:950;
    letter-spacing:-.04em;
}

.hv-category-tile small{
    color:var(--muted);
    font-weight:850;
}

.hv-inline-link{
    display:inline-flex;
    margin-top:8px;
    font-weight:950;
    color:#12675f;
}

.hv-card-img-link{display:block;overflow:hidden}

.hv-card-img{
    position:relative;
    transition:transform .25s ease;
}

.hv-card:hover .hv-card-img{transform:scale(1.035)}

.hv-card-type,
.hv-card-open-dot{
    position:absolute;
    z-index:2;
    top:14px;
    left:14px;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    border-radius:999px;
    padding:7px 11px;
    background:rgba(255,255,255,.9);
    color:#102033;
    font-size:12px;
    font-weight:950;
    box-shadow:0 8px 20px rgba(15,23,42,.12);
}

.hv-card-open-dot{
    left:auto;
    right:14px;
    background:rgba(126,240,178,.92);
    color:#115b37;
}

.hv-card-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.hv-mini-link{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#f8fbff;
    color:#35506a;
    font-size:13px;
    font-weight:900;
}

.hv-mini-link:hover{
    border-color:rgba(88,213,201,.42);
    color:#12675f;
}

.hv-info-card{display:grid;gap:16px}

.hv-info-row{
    display:grid;
    gap:5px;
    padding-top:14px;
    border-top:1px solid var(--line);
}

.hv-info-row:first-of-type{border-top:0;padding-top:0}

.hv-info-row strong{
    font-size:13px;
    color:#4d6278;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.hv-info-row span{
    font-weight:850;
    line-height:1.55;
}

.hv-content-panel h2,
.hv-content-panel h3{
    letter-spacing:-.045em;
}

.hv-detail-blocks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin:28px 0;
}

.hv-detail-blocks > div{
    background:#f8fbff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:18px;
}

.hv-actions-compact .hv-btn{
    padding:11px 15px;
}

.hv-sidebar-stack{
    display:grid;
    gap:18px;
}

.hv-related-grid{
    grid-template-columns:1fr;
}

.hv-related-grid .hv-card-img{height:135px}
.hv-related-grid .hv-card h3{font-size:19px}
.hv-related-grid .hv-card p{display:none}

@media(max-width:1020px){
    .hv-category-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
    .hv-category-grid{grid-template-columns:1fr 1fr}
    .hv-detail-blocks{grid-template-columns:1fr}
    .hv-archive-chips{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
    .hv-archive-chips a{white-space:nowrap}
}

@media(max-width:520px){
    .hv-category-grid{grid-template-columns:1fr}
    .hv-hero-pills{display:none}
    .hv-card-links{gap:8px}
    .hv-mini-link{min-height:34px;padding:7px 10px}
}

.hv-field select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23102033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 16px center;
    background-size:16px;
    padding-right:48px;
    min-height:56px;
    font-weight:650;
}

.hv-field select:focus,
.hv-field input:focus{
    outline:none;
    border-color:#58d5c9;
    box-shadow:0 0 0 4px rgba(88,213,201,.15),0 8px 24px rgba(15,23,42,.06);
}

@media(max-width:900px){
    .hv-filter-panel{padding:16px;border-radius:22px}
    .hv-field select,.hv-field input{font-size:16px}
}

/* v3.1.3 mobile filter bottom sheet en detail polish */
.hv-filter-trigger,
.hv-filter-mobile-head,
.hv-filter-overlay{
    display:none;
}

.hv-sticky-card{
    position:sticky;
    top:96px;
}

.hv-quick-actions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}

.hv-quick-actions a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 12px;
    border-radius:999px;
    background:#f3f8fb;
    border:1px solid var(--line);
    color:#173148;
    font-weight:950;
    font-size:14px;
}

.hv-quick-actions a:hover{
    background:rgba(88,213,201,.14);
    border-color:rgba(88,213,201,.34);
    color:var(--brand-dark);
}

.hv-tag-list{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:10px 0 26px;
}

.hv-tag-list span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:8px 12px;
    border-radius:999px;
    background:#f2f7fb;
    border:1px solid var(--line);
    color:#39546d;
    font-weight:900;
    font-size:13px;
}

.hv-share-btn.copied:after{
    content:"Gekopieerd";
}

@media(max-width:900px){
    body.hv-filter-open{
        overflow:hidden;
    }

    .hv-filter-section{
        padding-top:30px;
    }

    .hv-filter-trigger{
        position:fixed;
        left:18px;
        right:18px;
        bottom:82px;
        z-index:70;
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:52px;
        border:0;
        border-radius:999px;
        background:linear-gradient(135deg,var(--brand),#7ef0b2);
        color:#04111b;
        font-weight:950;
        box-shadow:0 18px 45px rgba(15,23,42,.18);
    }

    .hv-filter-overlay{
        position:fixed;
        inset:0;
        z-index:80;
        display:block;
        background:rgba(15,23,42,.38);
        opacity:0;
        pointer-events:none;
        transition:opacity .2s ease;
    }

    body.hv-filter-open .hv-filter-overlay{
        opacity:1;
        pointer-events:auto;
    }

    .hv-filter-panel{
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        top:auto;
        z-index:90;
        max-height:min(78vh,680px);
        overflow:auto;
        transform:translateY(calc(100% + 24px));
        transition:transform .24s ease;
        border-radius:26px;
        padding:16px;
        box-shadow:0 26px 70px rgba(15,23,42,.22);
    }

    body.hv-filter-open .hv-filter-panel{
        transform:translateY(0);
    }

    .hv-filter-mobile-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        padding:4px 2px 14px;
        margin-bottom:12px;
        border-bottom:1px solid var(--line);
    }

    .hv-filter-mobile-head strong{
        font-size:20px;
        letter-spacing:-.04em;
    }

    .hv-filter-close{
        width:40px;
        height:40px;
        border:1px solid var(--line);
        background:#f8fbff;
        border-radius:999px;
        color:#102033;
        font-size:26px;
        line-height:1;
    }

    .hv-results-top{
        margin-top:0;
    }

    .hv-sticky-card{
        position:relative;
        top:auto;
    }

    .hv-quick-actions{
        grid-template-columns:1fr;
    }
}

/* v3.1.5 polish upgrades: map stacking, loading states, mobile search, featured cards */
#hv-map,
.leaflet-container,
.leaflet-pane,
.leaflet-top,
.leaflet-bottom{
    z-index:1 !important;
}

.hv-filter-panel,
.hv-filter-trigger,
.hv-filter-overlay,
.hv-mobile-nav{
    z-index:9999 !important;
}

body.hv-filter-open{
    overflow:hidden;
}

.hv-card{
    animation:hv-card-fade .35s ease both;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.hv-card:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 50px rgba(15,23,42,.13);
    border-color:rgba(88,213,201,.28);
}

.hv-card-img-link{
    overflow:hidden;
    border-radius:var(--radius) var(--radius) 0 0;
}

.hv-card-img{
    transform-origin:center;
    transition:transform .4s ease;
}

.hv-card:hover .hv-card-img{
    transform:scale(1.045);
}

.hv-card[data-featured="1"],
.hv-card.featured{
    border:2px solid rgba(255,191,105,.55);
    background:linear-gradient(180deg,#fffaf1,#ffffff 38%);
}

.hv-card[data-featured="1"]:before,
.hv-card.featured:before{
    content:"Aanrader";
    position:absolute;
    z-index:4;
    top:14px;
    right:14px;
    display:inline-flex;
    min-height:30px;
    align-items:center;
    border-radius:999px;
    padding:7px 11px;
    background:rgba(255,191,105,.96);
    color:#5f3600;
    font-size:12px;
    font-weight:950;
    box-shadow:0 8px 20px rgba(15,23,42,.12);
}

.hv-card[data-featured="1"] .hv-card-open-dot,
.hv-card.featured .hv-card-open-dot{
    top:52px;
}

.hv-card-open-dot{
    animation:hv-open-pulse 1.8s ease-in-out infinite;
}

.hv-results-top{
    position:relative;
}

.hv-results-top strong{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.hv-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    min-height:30px;
    padding:4px 9px;
    border-radius:999px;
    background:rgba(88,213,201,.16);
    color:#12675f;
    font-weight:950;
}

.hv-skeleton-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.hv-skeleton-card{
    min-height:335px;
    border-radius:var(--radius);
    border:1px solid var(--line);
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.hv-skeleton-media,
.hv-skeleton-line,
.hv-skeleton-pill{
    position:relative;
    overflow:hidden;
    background:#eef3f8;
}

.hv-skeleton-media{height:190px}
.hv-skeleton-body{padding:20px;display:grid;gap:12px}
.hv-skeleton-line{height:14px;border-radius:999px}
.hv-skeleton-line.title{height:24px;width:72%}
.hv-skeleton-line.short{width:48%}
.hv-skeleton-pill{height:34px;width:108px;border-radius:999px;margin-top:4px}

.hv-skeleton-media:after,
.hv-skeleton-line:after,
.hv-skeleton-pill:after{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
    animation:hv-loading 1.2s infinite;
}

.hv-filter-layout.is-loading .hv-results{
    opacity:1;
    pointer-events:none;
}

.hv-filter-layout.is-loading .hv-results-top:after{
    content:"Resultaten laden";
    display:inline-flex;
    margin-left:10px;
    color:#12675f;
    font-weight:900;
}

.hv-filter-layout.is-loading .hv-count{
    opacity:.55;
}

.hv-single-hero,
.hv-hero{
    isolation:isolate;
}

.hv-single-hero:after,
.hv-hero:after{
    content:"";
    position:absolute;
    inset:auto -10% -40px -10%;
    height:120px;
    background:linear-gradient(180deg,rgba(244,247,251,0),var(--bg));
    z-index:-1;
}

@keyframes hv-loading{
    100%{transform:translateX(100%)}
}

@keyframes hv-card-fade{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:none}
}

@keyframes hv-open-pulse{
    0%,100%{box-shadow:0 8px 20px rgba(15,23,42,.12),0 0 0 0 rgba(126,240,178,.35)}
    50%{box-shadow:0 8px 20px rgba(15,23,42,.12),0 0 0 7px rgba(126,240,178,0)}
}

@media(max-width:1020px){
    .hv-skeleton-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
    .hv-searchbar{
        position:sticky;
        top:74px;
        z-index:40;
    }

    .hv-skeleton-grid{grid-template-columns:1fr}

    .hv-filter-panel{
        z-index:10000 !important;
    }

    .hv-filter-overlay{
        z-index:9998 !important;
    }

    .hv-filter-trigger,
    .hv-mobile-nav{
        z-index:9997 !important;
    }

    .leaflet-control-container,
    .leaflet-control{
        z-index:2 !important;
    }
}


/* v3.1.6: compactere card teksten voor rustige mobiele resultaten */
.hv-card-excerpt{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    overflow:hidden;
    min-height:calc(1.62em * 4);
    max-height:calc(1.62em * 4);
}

@media(max-width:900px){
    .hv-card-excerpt{
        -webkit-line-clamp:3;
        min-height:calc(1.62em * 3);
        max-height:calc(1.62em * 3);
    }
}

/* v3.1.7 agenda upgrade */
.hv-event-archive-hero .hv-agenda-panel{
    min-height:260px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.hv-event-mini-stats{
    display:flex;
    align-items:end;
    gap:10px;
    padding:18px;
    border-radius:20px;
    background:linear-gradient(135deg,rgba(88,213,201,.16),rgba(255,191,105,.14));
}

.hv-event-mini-stats span{
    font-size:44px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.06em;
    color:#102033;
}

.hv-event-mini-stats small{
    color:#4d6278;
    font-weight:900;
    padding-bottom:5px;
}

.hv-event-card .hv-card-img{
    position:relative;
}

.hv-event-date-badge{
    position:absolute;
    left:18px;
    top:18px;
    min-width:66px;
    min-height:66px;
    display:grid;
    place-items:center;
    padding:8px;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    color:#102033;
    box-shadow:0 12px 28px rgba(15,23,42,.16);
    text-align:center;
}

.hv-event-date-badge strong{
    display:block;
    font-size:28px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.05em;
}

.hv-event-date-badge small{
    display:block;
    margin-top:3px;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    color:#5f7287;
}

.hv-event-card.is-past{
    opacity:.78;
}

.hv-muted-dot{
    background:#edf2f7 !important;
    color:#52677c !important;
    animation:none !important;
}

.hv-event-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
}

.hv-event-date-card{
    display:grid;
    place-items:center;
    text-align:center;
    min-height:150px;
    border-radius:24px;
    background:linear-gradient(135deg,rgba(88,213,201,.18),rgba(126,240,178,.2));
    border:1px solid rgba(88,213,201,.25);
    margin-bottom:18px;
}

.hv-event-date-card span{
    display:block;
    font-size:70px;
    line-height:.9;
    font-weight:950;
    letter-spacing:-.07em;
    color:#102033;
}

.hv-event-date-card strong{
    display:block;
    margin-top:8px;
    font-size:18px;
    color:#12675f;
}

.hv-event-cover-section{
    margin-top:-28px;
    position:relative;
    z-index:2;
}

.hv-event-cover{
    min-height:360px;
    border-radius:34px;
    background:#e5edf5 center/cover;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
}

.hv-mini-event-list{
    display:grid;
    gap:10px;
}

.hv-mini-event-list a{
    display:grid;
    gap:4px;
    padding:14px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--line);
}

.hv-mini-event-list strong{
    color:#102033;
}

.hv-mini-event-list span{
    color:#5f7287;
    font-weight:800;
    font-size:14px;
}

@media(max-width:900px){
    .hv-event-cover-section{
        margin-top:-12px;
    }

    .hv-event-cover{
        min-height:220px;
        border-radius:24px;
    }

    .hv-event-date-card{
        min-height:120px;
    }

    .hv-event-date-card span{
        font-size:54px;
    }
}
.hv-imagereview-banner{
    margin-top:24px;
    max-width:720px;
}

.hv-imagereview-banner a{
    display:block;
}

.hv-imagereview-banner img{
    width:100%;
    height:auto;
    display:block;
    border-radius:22px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.2s ease;
}

.hv-imagereview-banner img:hover{
    transform:translateY(-2px);
}
