:root{
  --brand-red:#e53935;
  --brand-dark:#1b1b1b;
  --brand-gray:#f5f5f7;
  --text:#222;
  --muted:#666;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);line-height:1.65}

.container{max-width:1120px;margin:0 auto;padding:0 16px}
a{color:var(--brand-red);text-decoration:none}
a:hover{text-decoration:underline}

.floating-call{
  position:fixed; right:16px; bottom:16px; z-index:999;
  background:var(--brand-red); color:#fff; padding:12px 16px; border-radius:999px;
  box-shadow:var(--shadow); font-weight:800;
}

.floating-whatsapp {
  position: fixed;
  right: 16px;
  bottom: 70px; /* boven de bel-knop */
  z-index: 999;
  background: #25D366; /* WhatsApp groen */
  color: #fff;
  padding: 12px 16px;
  border-radius: 999px;
  box-shadow: var(--shadow);
  font-weight: 800;
  font-size: 15px;
}
.floating-whatsapp:hover {
  filter: brightness(0.9);
}

/* --- Floating knoppen goed positioneren (iOS safe areas etc.) --- */
.floating-call{
  right:12px; bottom:12px; padding:14px 16px; z-index:1000;
}
.floating-whatsapp{
  right:12px; bottom:60px; padding:14px 16px; z-index:1000;
}
@supports (padding: max(0px)) {
  .floating-call{ bottom: max(12px, env(safe-area-inset-bottom)); }
  .floating-whatsapp{ bottom: max(60px, calc(env(safe-area-inset-bottom) + 48px)); }
}

.btn{
  display:inline-block;background:var(--brand-red);color:#fff;
  border:2px solid var(--brand-red);border-radius:999px;
  padding:.9rem 1.2rem;font-weight:700;line-height:1;
  box-shadow:var(--shadow);transition:.2s
}
.btn:hover{transform:translateY(-2px)}
.btn.outline {
  background: #ffffff;
  color: #e53935;
  border: 2px solid #e53935;
}

.btn.outline:hover {
  background: #e53935;
  color: #fff;
}
.btn.block{display:block;width:100%;text-align:center}

/* Header / nav */
.header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eee}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.nav img{height:44px;width:auto;display:block}
.menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.menu a{color:#333;font-weight:600}
.menu a.active{color:var(--brand-red)}
.actions{display:flex;align-items:center;gap:.6rem}
.mobile-toggle{display:none;font-size:1.6rem;background:none;border:0}

/* Hero */
.hero{
  color:#fff;text-align:center;
  padding:72px 0 56px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.32)),
    url('../assets/hero.jpg') center/cover no-repeat;
}
.hero h1{margin:0 0 6px;font-size:clamp(28px,4vw,44px);text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero .sub{margin:0;color:#f1f1f1}
.hero .cta{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* Samenvatting */
.summary{background:#fff;border-bottom:1px solid #eee}
.sum-wrap{display:flex;align-items:center;gap:22px;padding:26px 0}
.score{background:#fff;border:1px solid #eee;border-radius:12px;padding:14px 18px;text-align:center;box-shadow:var(--shadow)}
.avg{font-size:2.2rem;font-weight:800}
.stars{font-size:1.2rem;color:#ffb400;letter-spacing:.05em}
.count{color:var(--muted);font-weight:600}
.text{margin:0;color:#444}

/* Reviews */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding:38px 0}
.card{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:var(--shadow);padding:18px}
.review .txt{font-style:italic;margin:0 0 12px;color:#333}
.review .meta{display:flex;justify-content:space-between;align-items:center;color:#666}
.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.review-head .name{color:#1b1b1b}
.review-head .when{color:#999;font-size:.9rem}
.loading{color:var(--muted)}

/* Formulier */
.section-gray{background:var(--brand-gray);padding:48px 0}
.form h2{margin:0 0 6px}
.muted{color:#777;margin-top:0}
label{font-weight:600;display:block;margin:0 0 10px}
input,select,textarea{width:100%;padding:1rem;border:1px solid #ddd;border-radius:12px;font-size:1rem;margin-top:.35rem}
textarea{min-height:140px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consent{display:flex;gap:.6rem;align-items:center}
.hp{display:none}
.alert{margin:12px 0 0;padding:12px;border-radius:10px;font-weight:700}
.alert.ok{background:#e8f7ec;color:#156a2f;border:1px solid #bfe8ca}
.alert.err{background:#fdecea;color:#a12622;border:1px solid #f3c2bd}

/* Footer */
.footer{background:#0f0f10;color:#cfcfd2;padding:40px 0 60px}
.ft-grid{display:grid;gap:24px;grid-template-columns:1.5fr 1fr 1fr}
.ft-logo{height:40px;margin-bottom:8px}
.footer a{color:#e8e8ea}

/* Responsive */
@media (max-width:1024px){
  .grid2{grid-template-columns:1fr}
  .sum-wrap{flex-direction:column;align-items:flex-start}
}
@media (max-width:780px){
  .menu{display:none}
  .menu.open{display:flex;flex-direction:column;gap:10px;padding:10px 0}
  .m
