:root{
  --brand-red:#e53935;
  --brand-dark:#1b1b1b;
  --brand-gray:#f5f5f7;
  --text:#222;
  --muted:#666;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; line-height:1.6; color:var(--text);}

.container{max-width:1120px;margin:0 auto;padding:0 16px}
a{color:var(--brand-red);text-decoration:none}
a:hover{text-decoration:underline}
.tel{white-space:nowrap}

.btn{
  display:inline-block;background:var(--brand-red);color:#fff;
  padding:.9rem 1.2rem;border-radius:999px;font-weight:700;border:2px solid var(--brand-red);
  box-shadow:var(--shadow);transition:.2s;line-height:1;
}
.btn:hover{transform:translateY(-2px)}
.btn.block{display:block;width:100%;text-align:center}
.btn.outline {
  background: transparent;
  color: #e53935;
  border: 2px solid #e53935;
}

.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.outline:hover {
  background: #e53935;
  color: #fff;
}

/* header */
.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}
.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;border:0;background:none}

/* hero (gebruik hero.jpg uit assets in de root via relatieve url) */
.hero{
  background:linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.32)),
             url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff;padding:72px 0 48px
}
.hero h1{margin:0 0 6px;font-size:clamp(28px,4vw,44px);text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero .sub{color:#eee;margin:0}

/* main */
.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;padding:40px 0 80px}
.card{background:#fff;border:1px solid #eee;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}

.form h2,.info h2{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}
.help{color:#777}
.hp{display:none}
.consent{display:flex;gap:.6rem;align-items:center}
.alert{margin:12px 0 16px;padding:12px;border-radius:10px;font-weight:600}
.alert.success{background:#e8f7ec;color:#156a2f;border:1px solid #bfe8ca}
.alert.error{background:#fdecea;color:#a12622;border:1px solid #f3c2bd}

.info h3{margin-bottom:.3rem}
.map iframe{width:100%;height:260px;border:0;border-radius:12px}

/* 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}

/* Floating actions */
.floating-call,.floating-whatsapp{
  position:fixed;right:16px;z-index:999;padding:12px 16px;border-radius:999px;color:#fff;font-weight:800;box-shadow:var(--shadow)
}
.floating-call{bottom:16px;background:var(--brand-red)}
.floating-whatsapp{bottom:64px;background:#25D366;display:inline-flex;align-items:center;gap:8px}

/* responsive */
@media (max-width:1024px){
  .grid{grid-template-columns:1fr}
}
@media (max-width:780px){
  .menu{display:none}
  .menu.open{display:flex;flex-direction:column;gap:10px;padding:10px 0}
  .mobile-toggle{display:block}
  .ft-grid{grid-template-columns:1fr}
}
