:root {
  --bruin: #4a2c17;
  --bruin-licht: #6f4a2f;
  --creme: #faf6f0;
  --accent: #c8842c;
  --accent-donker: #a86a1c;
  --tekst: #2d2419;
  --grijs: #7a6f61;
  --wit: #ffffff;
  --rand: #e8dfd2;
  --groen: #2e7d32;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--tekst);
  background: var(--creme);
  line-height: 1.7;
  font-size: 17px;
}
h1, h2, h3, h4, .knop, nav, .badge, .prijs { font-family: 'Segoe UI', -apple-system, Helvetica, Arial, sans-serif; }

header {
  background: var(--bruin);
  color: var(--wit);
  padding: 0.9rem 1.2rem;
}
.header-inner { max-width: 1000px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem; }
.logo { font-size: 1.35rem; font-weight: 700; color: var(--wit); text-decoration: none; font-family: 'Segoe UI', sans-serif; }
.logo span { color: var(--accent); }
nav a { color: #e8dcc8; text-decoration: none; margin-left: 1.1rem; font-size: 0.92rem; }
nav a:hover { color: var(--wit); }

.hero {
  background: linear-gradient(140deg, var(--bruin) 0%, var(--bruin-licht) 100%);
  color: var(--wit);
  text-align: center;
  padding: 3.5rem 1.2rem;
}
.hero h1 { font-size: 2.2rem; margin-bottom: 0.8rem; }
.hero p { max-width: 620px; margin: 0 auto 1.5rem; color: #f0e6d6; }

main { max-width: 1000px; margin: 0 auto; padding: 2rem 1.2rem 3rem; }
article { max-width: 760px; }
article h1 { font-size: 2rem; margin-bottom: 0.4rem; }
article h2 { font-size: 1.45rem; margin: 2.2rem 0 0.8rem; color: var(--bruin); }
article h3 { font-size: 1.15rem; margin: 1.6rem 0 0.5rem; }
article p { margin-bottom: 1rem; }
article ul, article ol { margin: 0 0 1rem 1.4rem; }
article li { margin-bottom: 0.4rem; }
.meta { color: var(--grijs); font-size: 0.88rem; margin-bottom: 1.6rem; font-family: 'Segoe UI', sans-serif; }

.knop {
  display: inline-block;
  background: var(--accent);
  color: var(--wit);
  padding: 0.7rem 1.5rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.15s;
}
.knop:hover { background: var(--accent-donker); }
.knop-groot { font-size: 1.15rem; padding: 0.9rem 2.2rem; }

.kaarten { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; margin: 1.5rem 0; }
.kaart {
  background: var(--wit);
  border: 1px solid var(--rand);
  border-radius: 10px;
  padding: 1.4rem;
}
.kaart h3 { margin: 0 0 0.5rem; }
.kaart p { font-size: 0.94rem; color: var(--grijs); margin-bottom: 0.9rem; }
.kaart a.link { color: var(--accent-donker); font-weight: 600; text-decoration: none; font-family: 'Segoe UI', sans-serif; }

.product {
  background: var(--wit);
  border: 1px solid var(--rand);
  border-radius: 10px;
  padding: 1.5rem;
  margin: 1.4rem 0;
}
.product .badge {
  display: inline-block;
  background: var(--bruin);
  color: var(--wit);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.7rem;
  border-radius: 20px;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.product .badge.top { background: var(--accent); }
.product h3 { margin-top: 0; }
.product .prijs { color: var(--groen); font-weight: 700; font-size: 1.05rem; }
.product .prijs small { color: var(--grijs); font-weight: 400; }
.voors-tegens { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0.8rem 0; font-size: 0.93rem; }
.voors-tegens ul { margin: 0.3rem 0 0 1.2rem; }
.voors-tegens .kop { font-weight: 700; font-family: 'Segoe UI', sans-serif; font-size: 0.85rem; }
.voors .kop { color: var(--groen); }
.tegens .kop { color: #b23b3b; }
.product .knop { margin-top: 0.6rem; }

table { border-collapse: collapse; width: 100%; margin: 1.2rem 0; font-size: 0.92rem; font-family: 'Segoe UI', sans-serif; background: var(--wit); }
th, td { border: 1px solid var(--rand); padding: 0.6rem 0.8rem; text-align: left; }
th { background: var(--bruin); color: var(--wit); }
tr:nth-child(even) { background: #f5efe6; }

.disclosure {
  background: #f3ead9;
  border-left: 4px solid var(--accent);
  padding: 0.8rem 1rem;
  font-size: 0.85rem;
  color: var(--grijs);
  margin: 1.2rem 0;
  border-radius: 0 6px 6px 0;
}

/* Keuzehulp quiz */
.quiz { background: var(--wit); border: 1px solid var(--rand); border-radius: 12px; padding: 2rem; margin: 1.5rem 0; }
.quiz h2 { margin-top: 0; }
.vraag { display: none; }
.vraag.actief { display: block; }
.vraag p.q { font-weight: 700; font-size: 1.15rem; font-family: 'Segoe UI', sans-serif; margin-bottom: 1rem; }
.opties { display: grid; gap: 0.7rem; }
.optie {
  border: 2px solid var(--rand);
  border-radius: 8px;
  padding: 0.9rem 1.1rem;
  cursor: pointer;
  background: var(--creme);
  font-size: 1rem;
  text-align: left;
  font-family: 'Segoe UI', sans-serif;
  transition: border-color 0.15s, background 0.15s;
}
.optie:hover { border-color: var(--accent); background: #fdf3e3; }
.voortgang { height: 6px; background: var(--rand); border-radius: 3px; margin-bottom: 1.5rem; overflow: hidden; }
.voortgang div { height: 100%; background: var(--accent); width: 0; transition: width 0.3s; }
#resultaat { display: none; }

footer {
  background: var(--bruin);
  color: #d8c9b4;
  padding: 2rem 1.2rem;
  font-size: 0.85rem;
  margin-top: 2rem;
}
.footer-inner { max-width: 1000px; margin: 0 auto; }
footer a { color: #f0e0c0; }

@media (max-width: 640px) {
  .hero h1 { font-size: 1.6rem; }
  .voors-tegens { grid-template-columns: 1fr; }
  nav a { margin-left: 0.7rem; font-size: 0.85rem; }
}
