/* PAGINA HEADER SUBPAGINA'S */
.ph{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--vdbi-donkerder);width:100%;}
.ph-afb{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;margin:0;padding:0;}
.ph-afb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:.4;}
.ph-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(160deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.6) 55%,rgba(155,28,28,.2) 100%);pointer-events:none;}
.ph-inhoud{position:relative;z-index:2;width:100%;padding-bottom:52px;padding-top:48px;}
.ph-crumb{list-style:none;padding:0;margin:0 0 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ph-crumb li{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.45);line-height:1;}
.ph-crumb li a{color:rgba(255,255,255,.6);transition:color .2s;}
.ph-crumb li a:hover{color:#fff;}
.ph-crumb li[aria-hidden]{color:rgba(255,255,255,.25);}
.ph-titel{font-family:var(--kop);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:700;text-transform:uppercase;color:#fff;line-height:1.04;letter-spacing:.01em;margin-bottom:0;}
.ph-sub{color:rgba(255,255,255,.65);font-size:1rem;max-width:560px;margin-top:14px;font-weight:300;line-height:1.82;}

/*
Theme Name: VDBI Thema
Theme URI: https://vd-bi.nl
Author: Van Dijk Bouw & Interieur
Author URI: https://vd-bi.nl
Description: Professioneel WordPress-thema voor Van Dijk Bouw & Interieur
Version: 4.7.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Alle rechten voorbehouden
Text Domain: vdbi
*/


:root{
  --vdbi-rood:#9B1C1C;
  --vdbi-rood-d:#7A1515;
  --vdbi-rood-l:#BE2424;
  --vdbi-donker:#111111;
  --vdbi-donkerder:#0A0A0A;
  --vdbi-antraciet:#1E1E1E;
  --vdbi-licht:#F8F6F2;
  --vdbi-wit:#FFFFFF;
  --vdbi-grijs:#6B6B6B;
  --vdbi-rand:#E5E0D8;
  --vdbi-tekst:#2A2A2A;
  --vdbi-tekst-l:#5A5A5A;
  --kop:'IBM Plex Sans Condensed',sans-serif;
  --body:'IBM Plex Sans',sans-serif;
  --r:3px;
  --ease:cubic-bezier(0.4,0,0.2,1);
  --schaduw:0 4px 24px rgba(0,0,0,.10);
  --schaduw-groot:0 12px 48px rgba(0,0,0,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);font-weight:300;color:var(--vdbi-tekst);background:#fff;line-height:1.82;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a,a:link,a:visited,a:hover,a:focus,a:active,button,.btn,.nav-link,.navbar-brand,
[class*="btn-vdbi"],[class*="btn-cta"]{text-decoration:none!important;-webkit-text-decoration:none!important;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,h5,h6{font-family:var(--kop);font-weight:500;line-height:1.08;color:var(--vdbi-donker);letter-spacing:.01em;}
p{margin-bottom:1rem;color:var(--vdbi-tekst-l);font-weight:300;font-size:1.02rem;}
p:last-child{margin-bottom:0;}
::selection{background:var(--vdbi-rood);color:#fff;}

/* TOPBALK */
.vdbi-topbalk{background:var(--vdbi-donkerder);padding:8px 0;font-size:.8rem;font-family:var(--body);font-weight:300;letter-spacing:.03em;color:#fff;border-bottom:1px solid rgba(255,255,255,.04);}
.vdbi-topbalk a{color:#fff;transition:color .2s;}
.vdbi-topbalk a:hover{color:rgba(255,255,255,.75);}

/* NAVIGATIE */
.vdbi-nav{background:#fff;border-bottom:3px solid var(--vdbi-rood);position:sticky;top:0;z-index:1000;box-shadow:0 2px 20px rgba(0,0,0,.07);transition:box-shadow .3s var(--ease);}
.vdbi-nav.gescrold{box-shadow:0 4px 32px rgba(0,0,0,.12);}
.vdbi-nav .navbar-brand img{height:68px;width:auto;}
.vdbi-nav .navbar-nav .nav-link{font-family:var(--kop);font-weight:500;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vdbi-donker);padding:26px 14px;position:relative;}
.vdbi-nav .navbar-nav .nav-link::after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:3px;background:var(--vdbi-rood);transform:scaleX(0);transition:transform .3s var(--ease);}
.vdbi-nav .navbar-nav .nav-link:hover,.vdbi-nav .navbar-nav .nav-link.active{color:var(--vdbi-rood);}
.vdbi-nav .navbar-nav .nav-link:hover::after,.vdbi-nav .navbar-nav .nav-link.active::after{transform:scaleX(1);}
.vdbi-btn-nav{background:var(--vdbi-rood)!important;color:#fff!important;border:none!important;outline:none;font-family:var(--kop);font-weight:500;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;padding:11px 22px!important;border-radius:var(--r);margin-left:12px;display:inline-flex;align-items:center;gap:6px;transition:all .3s var(--ease);}
.vdbi-btn-nav:hover{background:var(--vdbi-rood-d)!important;transform:translateY(-1px);}
.vdbi-nav .navbar-toggler{border:2px solid var(--vdbi-rood);padding:6px 10px;border-radius:var(--r);}
.vdbi-nav .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%239B1C1C' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

/* KNOPPEN */
.btn-vdbi-primair{background:var(--vdbi-rood);color:#fff;font-family:var(--kop);font-weight:500;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 30px;border:2px solid var(--vdbi-rood);border-radius:var(--r);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s var(--ease);line-height:1.4;}
.btn-vdbi-primair:hover{background:var(--vdbi-rood-d);border-color:var(--vdbi-rood-d);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(155,28,28,.32);}
.btn-vdbi-omlijnd{background:transparent;color:#fff;font-family:var(--kop);font-weight:500;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 30px;border:2px solid rgba(255,255,255,.55);border-radius:var(--r);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s var(--ease);line-height:1.4;}
.btn-vdbi-omlijnd:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;transform:translateY(-2px);}
.btn-vdbi-donker{background:transparent;color:var(--vdbi-donker);font-family:var(--kop);font-weight:500;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 30px;border:2px solid var(--vdbi-donker);border-radius:var(--r);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s var(--ease);line-height:1.4;}
.btn-vdbi-donker:hover{background:var(--vdbi-donker);color:#fff;transform:translateY(-2px);box-shadow:var(--schaduw-groot);}
.btn-cta-wit{background:#fff;color:var(--vdbi-rood);font-family:var(--kop);font-weight:500;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 30px;border:2px solid #fff;border-radius:var(--r);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s var(--ease);line-height:1.4;}
.btn-cta-wit:hover{background:transparent;color:#fff;transform:translateY(-2px);}

/* SECTIE LABELS / TITELS */
.sectie-label{font-family:var(--kop);font-weight:500;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--vdbi-rood);display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.sectie-label::before{content:'';display:inline-block;width:22px;height:2px;background:currentColor;flex-shrink:0;}
.sectie-titel{font-family:var(--kop);font-size:clamp(1.9rem,3.5vw,3rem);font-weight:500;line-height:1.06;letter-spacing:.01em;color:var(--vdbi-donker);text-transform:uppercase;}
.sectie-titel-wit{color:#fff;}
.sectie-intro{font-size:.97rem;color:var(--vdbi-tekst-l);max-width:520px;line-height:1.82;font-weight:300;}

/* HERO */
.vdbi-hero{position:relative;min-height:70vh;display:flex;align-items:center;overflow:hidden;background:var(--vdbi-donkerder);}
.vdbi-hero-video{position:absolute;inset:0;z-index:0;}
.vdbi-hero-video video{width:100%;height:100%;object-fit:cover;opacity:.52;}
.vdbi-hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,.85) 0%,rgba(10,10,10,.55) 50%,rgba(155,28,28,.2) 100%);}
.vdbi-hero-inhoud{position:relative;z-index:2;padding:130px 0 90px;}
.vdbi-hero-label{font-family:var(--kop);font-weight:500;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:var(--vdbi-rood-l);display:flex;align-items:center;gap:10px;margin-bottom:20px;opacity:0;animation:inschuiven .8s var(--ease) forwards .2s;}
.vdbi-hero-titel{font-family:var(--kop);font-size:clamp(3rem,6.5vw,6.2rem);font-weight:500;line-height:.97;letter-spacing:.01em;text-transform:uppercase;color:#fff;margin-bottom:24px;opacity:0;animation:inschuiven .8s var(--ease) forwards .4s;}
.vdbi-hero-titel span{color:var(--vdbi-rood-l);display:block;}
.vdbi-hero-tekst{font-size:1.02rem;color:rgba(255,255,255,.7);line-height:1.82;max-width:500px;margin-bottom:36px;opacity:0;animation:inschuiven .8s var(--ease) forwards .6s;font-weight:300;}
.vdbi-hero-knoppen{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:inschuiven .8s var(--ease) forwards .8s;}
.vdbi-hero-scrol{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.42);font-family:var(--kop);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;animation:pulseren 2s ease-in-out infinite;}
@keyframes inschuiven{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes pulseren{0%,100%{opacity:.42;transform:translateX(-50%) translateY(0)}50%{opacity:.8;transform:translateX(-50%) translateY(5px)}}

/* STATS BALK */
.stats-balk{background:var(--vdbi-rood);padding:28px 0;}
.stats-balk-n{font-family:var(--kop);font-size:2.6rem;font-weight:500;color:#fff;line-height:1;}
.stats-balk-l{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.7);margin-top:4px;font-weight:300;}

/* DIENSTEN */
.sectie-diensten{padding:100px 0;background:var(--vdbi-licht);}
.dienst-kaart{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--schaduw);transition:all .35s var(--ease);height:100%;display:flex;flex-direction:column;border-bottom:3px solid transparent;position:relative;}
.dienst-kaart:hover{box-shadow:var(--schaduw-groot);transform:translateY(-6px);border-bottom-color:var(--vdbi-rood);}
.dienst-kaart-afb{position:relative;aspect-ratio:4/3;overflow:hidden;}
.dienst-kaart-afb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.dienst-kaart:hover .dienst-kaart-afb img{transform:scale(1.06);}
.dienst-kaart-tag{position:absolute;top:14px;left:14px;background:var(--vdbi-rood);color:#fff;font-family:var(--kop);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:var(--r);}
.dienst-kaart-inhoud{padding:26px;flex:1;display:flex;flex-direction:column;}
.dienst-kaart-icoon{width:46px;height:46px;background:rgba(155,28,28,.08);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--vdbi-rood);font-size:1.3rem;transition:all .3s var(--ease);}
.dienst-kaart:hover .dienst-kaart-icoon{background:var(--vdbi-rood);color:#fff;}
.dienst-kaart-titel{font-family:var(--kop);font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--vdbi-donker);margin-bottom:10px;white-space:nowrap;}
.dienst-kaart-tekst{color:var(--vdbi-tekst-l);font-size:.9rem;line-height:1.75;flex:1;margin-bottom:18px;font-weight:300;}
.dienst-kaart-link{font-family:var(--kop);font-weight:500;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--vdbi-rood);display:flex;align-items:center;gap:6px;transition:gap .3s;}
.dienst-kaart-link:hover{gap:10px;}

/* OVER ONS */
.sectie-over-ons{padding:100px 0;background:#fff;overflow:hidden;}
.over-afb-wrap{position:relative;}
.over-afb-hoofd{border-radius:var(--r);overflow:hidden;box-shadow:var(--schaduw-groot);aspect-ratio:4/5;}
.over-afb-hoofd img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.over-afb-hoofd:hover img{transform:scale(1.03);}
.over-afb-klein{position:absolute;bottom:-28px;right:-28px;width:48%;border-radius:var(--r);overflow:hidden;box-shadow:var(--schaduw-groot);border:5px solid #fff;aspect-ratio:4/3;}
.over-afb-klein img{width:100%;height:100%;object-fit:cover;}
.over-badge{position:absolute;top:28px;left:-16px;background:var(--vdbi-rood);color:#fff;width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(155,28,28,.4);}
.over-badge-n{font-family:var(--kop);font-size:1.5rem;font-weight:500;line-height:1;}
.over-badge-t{font-size:.46rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85;text-align:center;margin-top:2px;line-height:1.3;}
.over-label{font-family:var(--kop);font-weight:500;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--vdbi-rood);display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.over-label::before{content:'';display:inline-block;width:22px;height:2px;background:var(--vdbi-rood);}
.kenmerken{list-style:none;padding:0;margin:24px 0;width:fit-content;padding-right:56px;}
.kenmerken li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--vdbi-rand);color:var(--vdbi-tekst);font-size:.92rem;font-weight:300;}
.kenmerken li:first-child{border-top:1px solid var(--vdbi-rand);}
.kenmerken li i{color:var(--vdbi-rood);font-size:.95rem;margin-top:3px;flex-shrink:0;}

/* PROJECTEN */
.sectie-projecten{padding:100px 0;background:var(--vdbi-donker);}
.project-kaart{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;display:block;}
.project-kaart-groot{aspect-ratio:2/2.2;}
.project-kaart-klein{aspect-ratio:3/4;}
.project-kaart img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.project-kaart:hover img{transform:scale(1.06);}
.project-kaart-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,10,10,.9) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;}
.project-kaart-cat{font-family:var(--kop);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vdbi-rood-l);margin-bottom:5px;}
.project-kaart-naam{font-family:var(--kop);font-size:1.25rem;font-weight:500;text-transform:uppercase;color:#fff;line-height:1.1;}
.project-kaart-pijl{position:absolute;top:16px;right:16px;width:38px;height:38px;background:var(--vdbi-rood);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;transform:scale(0) rotate(-45deg);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.project-kaart:hover .project-kaart-pijl{transform:scale(1) rotate(0);}

/* USP */
.sectie-usps{padding:100px 0;background:var(--vdbi-licht);}
.usp-item{text-align:center;padding:36px 22px;border-radius:var(--r);transition:all .3s var(--ease);background:#fff;box-shadow:var(--schaduw);height:100%;}
.usp-item:hover{transform:translateY(-4px);box-shadow:var(--schaduw-groot);}
.usp-icoon{width:68px;height:68px;background:var(--vdbi-rood);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#fff;font-size:1.5rem;transition:all .3s var(--ease);}
.usp-item:hover .usp-icoon{transform:scale(1.1);background:var(--vdbi-rood-d);}
.usp-titel{font-family:var(--kop);font-size:1.15rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--vdbi-donker);margin-bottom:10px;}
.usp-tekst{font-size:1rem;color:var(--vdbi-tekst-l);line-height:1.75;margin:0;font-weight:300;}

/* TESTIMONIALS */
.sectie-testimonials{padding:100px 0;background:var(--vdbi-donker);position:relative;overflow:hidden;}
.sectie-testimonials::before{content:'';position:absolute;top:-60px;right:-60px;width:360px;height:360px;border-radius:50%;background:rgba(155,28,28,.08);pointer-events:none;}
.sectie-testimonials::after{content:'';position:absolute;bottom:-80px;left:-40px;width:280px;height:280px;border-radius:50%;background:rgba(155,28,28,.06);pointer-events:none;}
.testi-kaart{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:2px;padding:36px 32px 28px;height:100%;transition:all .35s var(--ease);position:relative;overflow:hidden;}
.testi-kaart:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);}
.testi-quote-mark{position:absolute;top:16px;right:20px;font-family:Georgia,serif;font-size:5rem;line-height:1;color:rgba(155,28,28,.25);pointer-events:none;font-style:normal;}
.testi-sterren{display:flex;gap:3px;margin-bottom:18px;}
.testi-sterren i{color:var(--vdbi-rood-l);font-size:.82rem;}
.testi-tekst{font-size:.9rem;color:rgba(255,255,255,.65);line-height:1.9;font-style:italic;margin-bottom:24px;font-weight:300;}
.testi-footer{display:flex;align-items:center;gap:14px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--vdbi-rood);display:flex;align-items:center;justify-content:center;font-family:var(--kop);font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0;letter-spacing:.04em;}
.testi-naam{font-family:var(--kop);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff;font-size:.9rem;}
.testi-plaats{font-size:.72rem;color:rgba(255,255,255,.38);font-weight:300;margin-top:1px;}

/* CTA */
.sectie-cta{padding:90px 0;background:var(--vdbi-rood);position:relative;overflow:hidden;}
.sectie-cta::before{content:'VDBI';position:absolute;right:-40px;top:50%;transform:translateY(-50%);font-family:var(--kop);font-size:20vw;font-weight:500;color:rgba(0,0,0,.07);line-height:1;letter-spacing:-.02em;pointer-events:none;}
.cta-form-veld{width:100%;padding:12px 15px;border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r);background:rgba(255,255,255,.07);color:#fff;font-family:var(--body);font-size:.88rem;font-weight:300;outline:none;transition:border-color .2s;}
.cta-form-veld::placeholder{color:rgba(255,255,255,.38);}
.cta-form-veld:focus{border-color:rgba(255,255,255,.5);}
select.cta-form-veld option{background:var(--vdbi-donker);color:#fff;}

/* FOOTER */
.vdbi-footer{background:var(--vdbi-donkerder);color:rgba(255,255,255,.6);font-size:.9rem;padding:80px 0 0;}

.footer-omschrijving{color:rgba(255,255,255,.5);font-size:1rem;line-height:1.8;max-width:272px;font-weight:300;}
.footer-kop{font-family:var(--kop);font-weight:500;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--vdbi-rood);display:inline-block;}
.footer-nav{list-style:none;padding:0;margin:0;}
.footer-nav li{padding:3px 0;}
.footer-nav a{color:rgba(255,255,255,.5);font-size:1rem;font-weight:300;display:flex;align-items:center;gap:6px;transition:all .25s;}
.footer-nav a::before{content:'';display:inline-block;width:5px;height:1.5px;background:var(--vdbi-rood);transition:width .2s;}
.footer-nav a:hover{color:#fff;padding-left:3px;}
.footer-nav a:hover::before{width:9px;}
.footer-contact-item{display:flex;align-items:flex-start;gap:10px;padding:5px 0;color:rgba(255,255,255,.5);font-weight:300;font-size:1rem;}
.footer-contact-item i{color:var(--vdbi-rood-l);margin-top:2px;flex-shrink:0;}
.footer-contact-item a{color:rgba(255,255,255,.5);transition:color .2s;}
.footer-contact-item a:hover{color:#fff;}
.footer-social{display:flex;gap:9px;margin-top:14px;}
.footer-social-link{width:38px;height:38px;background:rgba(255,255,255,.07);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.9rem;transition:all .3s;}
.footer-social-link:hover{background:var(--vdbi-rood);color:#fff;transform:translateY(-2px);}
.footer-onderkant{margin-top:60px;padding:18px 0;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-copyright{color:rgba(255,255,255,.3);font-size:.78rem;font-weight:300;}
.footer-regels{display:flex;gap:18px;}
.footer-regels a{color:rgba(255,255,255,.3);font-size:.78rem;font-weight:300;}
.footer-regels a:hover{color:rgba(255,255,255,.65);}

/* TERUG NAAR BOVEN */
.naar-boven-knop{position:fixed;bottom:24px;right:24px;width:46px;height:46px;background:var(--vdbi-rood);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;box-shadow:0 4px 16px rgba(155,28,28,.42);transition:all .3s var(--ease);opacity:0;pointer-events:none;z-index:999;}
.naar-boven-knop.zichtbaar{opacity:1;pointer-events:all;}
.naar-boven-knop:hover{background:var(--vdbi-rood-d);transform:translateY(-3px);}

/* FADE ANIMATIES */
.fade-omhoog{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fade-omhoog.zichtbaar{opacity:1;transform:none;}
.fade-omhoog-v1{transition-delay:.1s;}
.fade-omhoog-v2{transition-delay:.2s;}
.fade-omhoog-v3{transition-delay:.3s;}
.fade-omhoog-v4{transition-delay:.4s;}

/* RESPONSIVE */
@media(max-width:991.98px){
  .vdbi-nav .navbar-collapse{background:#fff;border-top:3px solid var(--vdbi-rood);padding:10px 0 18px;}
  .vdbi-nav .navbar-nav .nav-link{padding:11px 20px;}
  .vdbi-nav .navbar-nav .nav-link::after{display:none;}
  .vdbi-btn-nav{margin:10px 20px 0;}
  .over-afb-klein{display:none;}
  }
@media(max-width:767.98px){
  .vdbi-hero{min-height:70vh;}
  .vdbi-hero-knoppen{flex-direction:column;align-items:flex-start;}
  .sectie-diensten,.sectie-over-ons,.sectie-usps,.sectie-cta,.sectie-testimonials{padding:68px 0;}
}
@media(max-width:575.98px){
}

/* OFFERTE MODAL */
.offerte-modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.72);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.offerte-modal-overlay.open{opacity:1;pointer-events:all;}
.offerte-modal{background:#fff;border-radius:2px;max-width:860px;width:100%;max-height:90vh;overflow:hidden;display:flex;transform:translateY(28px) scale(.98);transition:transform .35s cubic-bezier(.34,1.4,.64,1);box-shadow:0 32px 80px rgba(0,0,0,.35);}
.offerte-modal-overlay.open .offerte-modal{transform:none;}
.offerte-modal-afb{width:42%;flex-shrink:0;position:relative;overflow:hidden;}
.offerte-modal-afb img{width:100%;height:100%;object-fit:cover;}
.offerte-modal-afb::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,10,10,.45) 0%,rgba(155,28,28,.3) 100%);}
.offerte-modal-afb-tekst{position:absolute;bottom:28px;left:24px;right:24px;z-index:2;color:#fff;}
.offerte-modal-afb-tekst strong{display:block;font-family:var(--kop);font-size:1.4rem;font-weight:600;text-transform:uppercase;line-height:1.15;margin-bottom:10px;}
.offerte-modal-afb-tekst ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.offerte-modal-afb-tekst li{font-size:.78rem;color:rgba(255,255,255,.82);display:flex;align-items:center;gap:7px;font-weight:300;}
.offerte-modal-afb-tekst li i{color:var(--vdbi-rood-l);font-size:.75rem;flex-shrink:0;}
.offerte-modal-inhoud{flex:1;padding:36px 36px 32px;overflow-y:auto;display:flex;flex-direction:column;}
.offerte-modal-kop{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px;}
.offerte-modal-kop h2{font-family:var(--kop);font-size:1.35rem;font-weight:600;text-transform:uppercase;color:var(--vdbi-donker);line-height:1.2;}
.offerte-modal-sluiten{background:none;border:none;padding:4px;cursor:pointer;color:var(--vdbi-grijs);font-size:1.3rem;line-height:1;transition:color .2s;flex-shrink:0;margin-top:-2px;}
.offerte-modal-sluiten:hover{color:var(--vdbi-donker);}
.offerte-modal-sub{font-size:.84rem;color:var(--vdbi-tekst-l);margin-bottom:22px;font-weight:300;}
.offerte-veld-label{font-family:var(--kop);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--vdbi-donker);display:block;margin-bottom:5px;}
.offerte-veld{width:100%;padding:10px 13px;border:1.5px solid var(--vdbi-rand);border-radius:2px;background:#fff;color:var(--vdbi-tekst);font-family:var(--body);font-size:.9rem;font-weight:300;outline:none;transition:border-color .2s;}
.offerte-veld:focus{border-color:var(--vdbi-rood);box-shadow:0 0 0 3px rgba(155,28,28,.08);}
.offerte-veld-wrap{margin-bottom:14px;}
.offerte-dienst-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.offerte-dienst-opt{position:relative;}
.offerte-dienst-opt input{position:absolute;opacity:0;width:0;}
.offerte-dienst-opt label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--vdbi-rand);border-radius:2px;cursor:pointer;font-size:.82rem;font-weight:400;color:var(--vdbi-tekst-l);transition:all .2s;}
.offerte-dienst-opt label i{font-size:.95rem;color:var(--vdbi-grijs);}
.offerte-dienst-opt input:checked + label{border-color:var(--vdbi-rood);color:var(--vdbi-rood);background:rgba(155,28,28,.04);}
.offerte-dienst-opt input:checked + label i{color:var(--vdbi-rood);}
.offerte-verstuur{background:var(--vdbi-rood);color:#fff;font-family:var(--kop);font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;padding:12px 28px;border:none;border-radius:2px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s;width:100%;justify-content:center;margin-top:6px;}
.offerte-verstuur:hover{background:var(--vdbi-rood-d);transform:translateY(-1px);box-shadow:0 6px 20px rgba(155,28,28,.3);}
.offerte-privcy{font-size:.72rem;color:var(--vdbi-grijs);text-align:center;margin-top:10px;font-weight:300;}
@media(max-width:767.98px){
  .offerte-modal{flex-direction:column;max-height:96vh;}
  .offerte-modal-afb{width:100%;height:160px;}
  .offerte-modal-inhoud{padding:24px 22px 20px;}
  .offerte-dienst-grid{grid-template-columns:1fr 1fr;}
}

/* DIENSTEN PAGINA EXTRAS */
.dienst-nr-badge{position:absolute;bottom:20px;right:20px;font-family:var(--kop);font-size:4rem;font-weight:700;color:rgba(255,255,255,.12);line-height:1;pointer-events:none;}
.dienst-kenmerken-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;}
.dienst-kenmerk{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--vdbi-tekst);font-weight:300;padding:6px 0;}
.dienst-kenmerk i{color:var(--vdbi-rood);font-size:.85rem;flex-shrink:0;}

/* TIJDLIJN */
.tijdlijn{position:relative;padding-left:32px;}
.tijdlijn::before{content:'';position:absolute;left:7px;top:8px;bottom:0;width:2px;background:linear-gradient(180deg,var(--vdbi-rood) 0%,var(--vdbi-rand) 100%);}
.tijdlijn-item{position:relative;padding-bottom:32px;}
.tijdlijn-item::before{content:'';position:absolute;left:-27px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--vdbi-rood);border:3px solid #fff;box-shadow:0 0 0 3px var(--vdbi-rood);}
.tijdlijn-jaar{font-family:var(--kop);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vdbi-rood);margin-bottom:4px;}
.tijdlijn-titel{font-family:var(--kop);font-size:1.15rem;font-weight:600;color:var(--vdbi-donker);text-transform:uppercase;margin-bottom:6px;}
.tijdlijn-tekst{font-size:.9rem;color:var(--vdbi-tekst-l);margin:0;font-weight:300;line-height:1.75;}

/* PROJECT ITEM KAART */
.project-item-kaart{position:relative;border-radius:2px;overflow:hidden;display:block;aspect-ratio:4/3;}
.project-item-kaart img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.project-item-kaart:hover img{transform:scale(1.05);}
.project-item-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(10,10,10,.85) 100%);padding:20px;display:flex;flex-direction:column;justify-content:flex-end;opacity:1;transition:all .35s var(--ease);}
.project-item-kaart:hover .project-item-overlay{opacity:1;}
.project-item-naam{font-family:var(--kop);font-size:1.15rem;font-weight:600;text-transform:uppercase;color:#fff;line-height:1.15;}
.project-item-cat{font-size:.72rem;color:var(--vdbi-rood-l);font-family:var(--kop);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;}

/* FILTER KNOPPEN PROJECTENPAGINA */
.filter-knop{background:none;border:1.5px solid var(--vdbi-rand);color:var(--vdbi-tekst-l);font-family:var(--kop);font-weight:500;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 18px;border-radius:2px;cursor:pointer;transition:all .25s;}
.filter-knop:hover,.filter-knop.actief{background:var(--vdbi-rood);border-color:var(--vdbi-rood);color:#fff;}

/* CONTACT PAGE */
.contact-info-blok-link:hover{transform:translateX(4px);box-shadow:var(--schaduw);}

@media(max-width:767.98px){
  .ph{min-height:44vh;}
  .dienst-kenmerken-grid{grid-template-columns:1fr;}
  .tijdlijn::before{display:none;}
}

#wpadminbar{display:none!important;}
html[lang]{margin-top:0!important;}
