/* Skin Laser Clinic - landingspagina en bedanktpagina */

:root {
  --inkt: #26262a;
  --grijs: #6b6b73;
  --goud: #b3a17a;
  --goud-diep: #9a8763;
  --creme: #faf7f2;
  --wit: #fff;
  --lijn: #e8e2d8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0; background: var(--creme); color: var(--inkt);
  font-family: "Helvetica Neue", Arial, system-ui, sans-serif;
  font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
.omhulsel { max-width: 720px; margin: 0 auto; padding: 0 22px; }

/* ---------- vaste kop ---------- */
.balk {
  position: sticky; top: 0; z-index: 50; background: var(--wit);
  border-bottom: 1px solid var(--lijn); padding: 12px 0;
}
.balk .omhulsel { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.balk img { width: 104px; mix-blend-mode: multiply; }

.pil {
  display: inline-block; background: var(--goud); color: var(--wit); border: 0;
  border-radius: 100px; padding: 12px 24px; font-size: 15px; font-weight: 600;
  cursor: pointer; text-decoration: none; transition: background .15s ease;
  font-family: inherit;
}
.pil:hover { background: var(--goud-diep); }
.pil-groot { padding: 16px 38px; font-size: 17px; }

/* ---------- hero ---------- */
.hero { background: var(--wit); border-bottom: 1px solid var(--lijn); }
.hero .omhulsel {
  max-width: 1080px; display: grid; gap: 30px; align-items: center;
  grid-template-columns: 1fr 420px; padding-top: 44px; padding-bottom: 40px;
}
.hero h1 {
  font-size: 40px; line-height: 1.1; margin: 0 0 16px; text-transform: uppercase;
  letter-spacing: .005em; font-weight: 700;
}
.hero h1 span { display: block; font-weight: 400; color: var(--goud-diep); }
.hero .sub { color: var(--grijs); font-size: 18px; margin: 0 0 26px; max-width: 26em; }
.hero .beeld { position: relative; }
.hero .beeld img { width: 100%; height: auto; }
.badge {
  display: inline-flex; align-items: center; gap: 9px; background: var(--creme);
  border: 1px solid var(--lijn); border-radius: 100px; padding: 9px 18px;
  font-size: 14px; color: var(--grijs); margin: 0 0 18px;
}
.badge b { color: var(--inkt); font-weight: 600; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.chips span {
  background: var(--creme); border: 1px solid var(--lijn); color: var(--grijs);
  border-radius: 100px; padding: 7px 15px; font-size: 13px;
}
.hero .klein { font-size: 13px; color: var(--grijs); margin: 12px 0 0; }

/* ---------- blokken ---------- */
.blok { padding: 46px 0; border-top: 1px solid var(--lijn); }
.blok h2 { font-size: 26px; line-height: 1.25; margin: 0 0 8px; font-weight: 700; letter-spacing: -0.01em; }
.blok .staart { color: var(--grijs); margin: 0 0 24px; }
.blok p { margin: 0 0 16px; }
.blok p:last-child { margin-bottom: 0; }

.stap { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--lijn); }
.stap:last-child { border-bottom: 0; }
.stap .nr {
  flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--goud);
  color: #fff; font-weight: 700; font-size: 15px; display: flex;
  align-items: center; justify-content: center;
}
.stap h3 { margin: 4px 0 6px; font-size: 17px; font-weight: 600; }
.stap p { margin: 0; color: var(--grijs); font-size: 16px; line-height: 1.55; }

.lijst { list-style: none; margin: 0; padding: 0; }
.lijst li { display: flex; gap: 12px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--lijn); }
.lijst li:last-child { border-bottom: 0; }
.lijst svg { flex: none; width: 20px; height: 20px; margin-top: 3px; }

.midden { text-align: center; margin-top: 30px; }
.midden .klein { font-size: 13px; color: var(--grijs); margin-top: 12px; }

/* ---------- boeken ---------- */
.boeken { background: var(--wit); border-top: 1px solid var(--lijn); padding: 46px 0 54px; }
.boeken h2, .boeken .staart { text-align: center; }
.widgethouder { border: 1px solid var(--lijn); border-radius: 12px; overflow: hidden; background: var(--creme); }

/* ---------- locatie en voet ---------- */
.locatie img { border-radius: 12px; border: 1px solid var(--lijn); }
.adres { font-size: 16px; margin-top: 16px; }
.adres b { display: block; }
.voet { border-top: 1px solid var(--lijn); padding: 26px 0 40px; font-size: 13px; color: var(--grijs); text-align: center; }
.voet a { color: var(--grijs); }

/* ---------- toestemming ---------- */
.slc-consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 999; background: var(--wit);
  border: 1px solid var(--lijn); border-radius: 12px; padding: 16px 18px;
  box-shadow: 0 8px 28px rgba(0,0,0,.14); display: flex; gap: 16px; align-items: center;
  justify-content: space-between; flex-wrap: wrap; max-width: 680px; margin: 0 auto; font-size: 14px;
}
.slc-consent p { margin: 0; color: var(--grijs); flex: 1 1 250px; }
.slc-consent-knoppen { display: flex; gap: 8px; }
.slc-consent button {
  border: 0; border-radius: 100px; padding: 10px 20px; font-size: 14px; font-weight: 600;
  cursor: pointer; background: var(--goud); color: var(--wit); font-family: inherit;
}
.slc-consent .slc-consent-uit { background: var(--creme); color: var(--grijs); border: 1px solid var(--lijn); }

/* ---------- bedankt ---------- */
.dank { text-align: center; padding: 52px 0 18px; }
.dank .vink {
  width: 64px; height: 64px; border-radius: 50%; background: var(--wit); border: 1px solid var(--lijn);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 26px;
}
.dank h1 { font-size: 31px; line-height: 1.2; margin: 0 0 14px; letter-spacing: -0.02em; }
.dank .staart { color: var(--grijs); margin: 0 auto 30px; max-width: 28em; }
.afspraak { background: var(--wit); border: 1px solid var(--lijn); border-radius: 12px; padding: 22px 24px; text-align: left; margin-bottom: 26px; }
.afspraak .label { font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--grijs); }
.afspraak .wanneer { font-size: 20px; font-weight: 600; margin: 6px 0 14px; }
.afspraak .regel { display: flex; gap: 10px; color: var(--grijs); font-size: 15px; line-height: 1.5; }
.afspraak .regel svg { flex: none; width: 17px; height: 17px; margin-top: 3px; }
#agenda { display: inline-block; margin-top: 16px; font-size: 14px; color: var(--goud-diep); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- mobiel ---------- */
@media (max-width: 860px) {
  .hero .omhulsel { grid-template-columns: 1fr; gap: 26px; padding-top: 30px; padding-bottom: 34px; }
  .hero .beeld { order: -1; max-width: 380px; margin: 0 auto; }
}

@media (max-width: 560px) {
  .hero h1 { font-size: 29px; }
  .hero .sub { font-size: 16px; }
  .blok h2 { font-size: 22px; }
  .balk img { width: 88px; }
  .pil { padding: 11px 18px; font-size: 14px; }
  .pil-groot { width: 100%; text-align: center; }
}


/* ---------- over de kliniek ---------- */
.over .omhulsel { display: grid; gap: 22px; grid-template-columns: 280px 1fr; align-items: center; }
.over img { width: 100%; height: auto; }
.over h2 { margin-top: 0; }

/* ---------- reviews ---------- */
.reviews { background: var(--wit); border-top: 1px solid var(--lijn); padding: 46px 0; }
.reviews h2, .reviews .staart { text-align: center; }
.review-rij { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.review {
  background: var(--creme); border: 1px solid var(--lijn); border-radius: 12px; padding: 20px;
  font-size: 15px; line-height: 1.55;
}
.review .sterren { color: var(--goud); letter-spacing: 2px; font-size: 14px; }
.review p { margin: 10px 0 14px; color: var(--inkt); }
.review .naam { font-weight: 600; font-size: 14px; }
.review .bron { font-size: 12px; color: var(--grijs); }

/* ---------- veelgestelde vragen ---------- */
.faq details {
  border-bottom: 1px solid var(--lijn); padding: 4px 0;
}
.faq summary {
  cursor: pointer; padding: 15px 30px 15px 0; font-weight: 600; font-size: 16px;
  list-style: none; position: relative;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; position: absolute; right: 4px; top: 13px; font-size: 21px;
  color: var(--goud); font-weight: 400;
}
.faq details[open] summary::after { content: "–"; }
.faq details p { margin: 0 0 16px; color: var(--grijs); font-size: 16px; line-height: 1.6; }

@media (max-width: 700px) {
  .over .omhulsel { grid-template-columns: 1fr; }
  .over img { max-width: 300px; margin: 0 auto; }
  .review-rij { grid-template-columns: 1fr; }
}
