:root{
  --bg:#fff9fb;
  --fg:#22242a;
  --muted:#5a5e66;
  --brand:#ff6fa3;
  --brand-700:#d64b7e;
  --brand-50:#ffe6f0;
  --card:#fff;
  --ring: rgba(255,111,163,.35);
  --radius:14px;
}

/* ===== Basis ===== */
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--fg);
  background:var(--bg);
  line-height:1.6;
}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section-alt{background:var(--brand-50)}

/* ===== Header / Navigatie ===== */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:#fff; border-bottom:1px solid #f0d4df;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.logo{height:48px;width:auto}
.site-nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.site-nav a{text-decoration:none;color:var(--fg)}
.site-nav a:hover{color:var(--brand)}

/* Hamburger (mobiel) */
.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:32px;background:none;border:0;cursor:pointer;
}
.nav-toggle-bar{display:block;width:24px;height:2px;background:#222;border-radius:2px}

/* Desktop: toon menu inline, verberg hamburger */
@media (min-width:561px){
  .nav-toggle{display:none}
  .site-nav{display:block !important; position:static; border:0; padding:0; background:transparent}
}

/* Mobiel: menu als dropdown */
@media (max-width:560px){
  .site-nav{
    display:none; position:absolute; right:12px; top:58px;
    background:#fff; border:1px solid #f0d4df; border-radius:12px; padding:10px 12px
  }
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column; gap:10px}
}

/* ===== Knoppen ===== */
.btn{
  background:var(--brand); color:#fff; text-decoration:none;
  padding:12px 18px; border-radius:10px; font-weight:600;
  border:0; cursor:pointer; transition:background .2s;
}
.btn:hover{background:var(--brand-700)}
.btn-secondary{background:transparent;color:var(--brand);border:2px solid var(--brand)}
.btn-small{padding:8px 12px;border-radius:8px}

/* ===== Hero ===== */
.hero{background:linear-gradient(180deg,#ffffff 0%,#ffe6f0 100%); padding:60px 0 20px}
.hero-inner{display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:center}
.hero-media img{max-width:100%; border-radius:var(--radius); border:1px solid #f4c7d7}

/* Hero CTA: buttons netjes stapelen op mobiel */
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
.hero-cta .btn{flex:1 1 auto; text-align:center}
@media (min-width:561px){ .hero-cta{flex-wrap:nowrap} }

/* ===== Grids & Cards ===== */
.grid-2{display:grid; grid-template-columns:1fr 380px; gap:28px}
.cards{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.card{
  background:var(--card); border-radius:var(--radius); padding:20px;
  border:1px solid #f3d1de; box-shadow:0 1px 0 rgba(0,0,0,.02)
}
.card h3{margin-top:0; margin-bottom:8px}
.photo-block img{max-width:100%; border-radius:var(--radius); border:1px solid #f3d1de}

/* ===== Partners (logo placeholders) ===== */
.logo-list{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; list-style:none; padding:0; margin:16px 0}
.logo-list.logos{grid-template-columns:repeat(6,1fr); gap:16px}
.logo-list.logos li{
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #f0d4df; border-radius:14px; padding:16px
}
.logo-list.logos img{max-width:140px; max-height:56px; opacity:.9}

/* ===== Footer ===== */
.site-footer{background:#20171b; color:#f4e9ec; margin-top:40px}
.footer-inner{display:flex; gap:20px; align-items:flex-start; justify-content:space-between; padding:24px 20px}
.footer-nav{list-style:none; display:flex; gap:16px; margin:0; padding:0}
.footer-nav a{color:#f4e9ec; text-decoration:none}
.footer-nav a:hover{text-decoration:underline}
.copyright{margin-top:12px; font-size:14px; color:#d7c7cc}

/* ===== Contactformulier ===== */
#contact .contact-card{
  padding:24px; border:0; border-radius:16px;
  background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.06);
}
#contact .contact-card h3{margin:0 0 18px; font-size:20px; line-height:1.2}

#contact .contact-form{display:grid; gap:16px}
#contact .contact-form .form-group{margin:0}
#contact .contact-form label{display:block; font-weight:700; margin:0 0 6px; color:#22242a}
#contact .contact-form input,
#contact .contact-form textarea{
  -webkit-appearance:none; appearance:none;
  width:100%; display:block; padding:12px 14px;
  border:1px solid #e8c3d2; border-radius:12px;
  background:#fff; font:inherit; font-size:15px; line-height:1.4; color:#22242a;
  box-shadow:none; outline:0; transition:border-color .2s, box-shadow .2s;
}
#contact .contact-form textarea{min-height:160px; resize:vertical}
#contact .contact-form input::placeholder,
#contact .contact-form textarea::placeholder{color:#9aa3ad}
#contact .contact-form input:focus,
#contact .contact-form textarea:focus{
  border-color:#ff6fa3; box-shadow:0 0 0 3px rgba(255,111,163,.25);
}
#contact .contact-form .btn{
  justify-self:end; background:#ff6fa3; color:#fff; border:0;
  border-radius:999px; padding:12px 24px; font-weight:700;
  cursor:pointer; box-shadow:0 6px 16px rgba(255,111,163,.25);
  transition:transform .06s, background .2s;
}
#contact .contact-form .btn:hover{background:#d64b7e}
#contact .contact-form .btn:active{transform:translateY(1px)}
#contact .contact-form .hp{display:none !important; height:0 !important; padding:0 !important; border:0 !important; margin:0 !important}

/* ===== Responsive ===== */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .logo-list,.logo-list.logos{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr}
  .logo-list,.logo-list.logos{grid-template-columns:repeat(2,1fr)}
}
