
:root{
  --nav-bg:#ffffff; --nav-text:#0f172a; --footer-bg:#0b1430; --partners-bg:#eef3ff;
  --brand:#2357ff; --indigo:#5b7cff;
  --text:#111827; --muted:#6b7280; --bg:#ffffff; --section:#f7f8fb;
  --border:#e5e7eb;
}
*{box-sizing:border-box} html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);}
a{color:var(--brand);text-decoration:none}
img{max-width:100%;height:auto}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.section{padding:64px 0}
.section.alt{background:var(--section)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}
.section-head .muted{color:var(--muted)}
.muted{color:var(--muted)} .small{font-size:14px}
.flex{display:flex;gap:12px;align-items:center} .between{justify-content:space-between}
.wrap{flex-wrap:wrap} .gap-s{gap:8px}
.grid-2{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-3{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.grid-3{grid-template-columns:1fr 1fr 1fr}}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}
.card.media{padding:0;overflow:hidden}
.card.image img{display:block;width:100%;height:auto}
.card.image .pad{padding:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;padding:12px 16px}
.btn-primary{background:var(--brand);color:#fff;border-color:transparent}
.btn-light{background:#fff;color:#111;border-color:#e5e7eb}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}
.brand a{font-weight:700;font-size:20px;color:#111}
.menu{list-style:none;display:flex;gap:16px;margin:0;padding:0}
.menu a{color:#111}
.topbar{background:#0f172a;color:#cbd5e1;font-size:14px;padding:8px 0}
.site-footer{background:var(--footer-bg);color:#cbd5e1;padding:36px 0;margin-top:32px}
.site-footer a{color:#cbd5e1}
.h6{font-weight:700;margin-bottom:10px}
.linklist,.contact{list-style:none;margin:0;padding:0}
.linklist li,.contact li{margin:6px 0}
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:center}
@media(max-width:700px){.logos{grid-template-columns:repeat(3,1fr)}}
.form input,.form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;margin-bottom:12px}
/* CF7 styling */
.wpcf7 form p{margin:0 0 12px 0}
.wpcf7 form label{display:block;font-weight:500;margin:6px 0}
.wpcf7 form input[type="text"],.wpcf7 form input[type="email"],.wpcf7 form input[type="tel"],.wpcf7 form textarea,.wpcf7 form select{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text)}
.wpcf7 .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 16px;background:var(--brand);color:#fff;border:1px solid transparent;cursor:pointer;font-weight:500}
.map iframe{width:100%;height:280px;border:0;border-radius:12px}


/* Over ons */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}
.stat .big{font-size:24px;font-weight:700}
@media(max-width:700px){.stats{grid-template-columns:repeat(3,1fr)}}

.cert-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:center}
@media(max-width:900px){.cert-logos{grid-template-columns:repeat(3,1fr)}}
.cert-logos img{max-width:100%;height:auto;max-height:48px}


/* Vacatures */
.vacancy h3 { margin-top: 0; }
.vacancy .list { margin: 8px 0 12px; }
.vacancy h4 { margin-top: 12px; }


/* Header logo */
.brand .logo{height:48px;width:auto;display:block}
@media (max-width:700px){.brand .logo{height:40px}}



.site-header .topbar{ background:#0f172a; color:#fff; }
.site-header .topbar a{ color:#fff; }

.site-header .navrow{ background:linear-gradient(180deg,#0f172a,#0b1430); }
.site-header, .site-header a{ color:#fff; }
.site-header .menu a{ color:#fff; }
.site-header .menu a:hover{ opacity:.85; }
.site-header .brand a{ color:#fff; }


/* === Sticky nav === */
.site-header .navrow{ position: sticky; top: 0; z-index: 1000; }
.site-header.is-scrolled .navrow{ box-shadow: 0 8px 20px rgba(0,0,0,.18); }



.site-header{ position: sticky; top:0; z-index:1100; background:#0f172a; color:#fff; }
.site-header a{ color:#fff; }
.site-header .navrow{ position: static; background: transparent; padding:12px 0; }
.site-header .topbar{ background: transparent; border-bottom:1px solid rgba(255,255,255,.08); padding:6px 0; }
.site-header.is-scrolled{}
.site-header.is-scrolled .topbar{ display:none; } /* topbar verdwijnt zodra je scrolt */
.site-header .menu a{ color:#fff; }
.site-header .menu a:hover{ opacity:.9; }

/* Logo iets compacter + shrink op scroll */
.brand .logo{ height:44px; width:auto; display:block; }
.site-header.is-scrolled .brand .logo{ height:40px; }
@media (max-width:700px){ .brand .logo{ height:38px } }


/* === Header (light nav for logo contrast) === */
.site-header{ position: sticky; top:0; z-index:1100; background:var(--nav-bg); color:var(--nav-text); }
.site-header a{ color:var(--nav-text); }
.site-header .topbar{ background:#0f172a; color:#fff; padding:6px 0; }
.site-header .topbar a{ color:#fff; }
.site-header .navrow{ background:var(--nav-bg); color:var(--nav-text); padding:12px 0; border-bottom:1px solid rgba(15,23,42,.08); }
.site-header.is-scrolled{}
.site-header.is-scrolled .topbar{ display:none; }
.site-header .menu a{ color:var(--nav-text); }
.site-header .menu a:hover{ color:var(--brand); }

/* Logo sizing */
.brand .logo{ height:48px; width:auto; display:block; }
@media (max-width:700px){ .brand .logo{ height:42px } }


/* Partners section with brand-tinted background */
#partners.section{ background: var(--partners-bg); }

/* Partners same bg as services */
#partners.section{ background: var(--section) !important; }


/* === Clean sticky header (no side shadow) === */
.site-header{ position: sticky; top:0; z-index:1100; background:var(--nav-bg); color:var(--nav-text); }
.site-header::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background: rgba(15,23,42,.08); pointer-events:none;
}
.site-header .navrow{ box-shadow:none; }

.logos img{max-height:48px;width:auto;margin:0 auto;display:block}


/* Diensten – 'Wat we doen' iets dikker */
.page-template-page-diensten .cards .card h3{ font-weight:700; }
.page-template-page-diensten .cards .card p{ font-weight:500; }
.page-template-page-diensten .section-head h2{ font-weight:700; }
.page-template-page-diensten .section-head .muted{ font-weight:500; }


/* Compacte bulletlist voor dienstkaarten */
.list.small{ margin:8px 0 12px; padding-left:18px; }
.list.small li{ margin:4px 0; }
