/* Vaste pagina's (Taak 5): prijzen, werkwijze, over ons, contact, privacy.
   Bouwt op tokens, basis, componenten, beweging en blokken. Mobiel eerst. */

/* ---------- Paginakop: donker blok met gloed en (optioneel) zwevende fototegels ---------- */
.paginakop-sectie { padding-top: var(--s-4); }
.paginakop {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: var(--s-7);
  padding-top: clamp(56px, 9vw, 104px);
  padding-bottom: clamp(40px, 7vw, 96px);
}
.paginakop .gloed { z-index: -1; }
.paginakop__tekst { position: relative; z-index: 2; max-width: 680px; }
.paginakop h1 { margin-bottom: var(--s-5); }
.paginakop .lead { max-width: 54ch; }
.paginakop .knoppen { margin-top: var(--s-6); }
.paginakop__noot { margin: var(--s-5) 0 0; font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .06em; color: var(--violet-200) !important; }

/* Telefoon: drie tegels als rustige rij onder de tekst */
.paginakop__tegels { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-3); max-width: 420px; }
.paginakop__tegels .tegel { position: relative; inset: auto; width: auto; }
.paginakop__tegels .tegel:nth-child(2) { margin-top: var(--s-5); }

@media (min-width: 960px) {
  .paginakop { grid-template-columns: 7fr 5fr; align-items: center; min-height: 460px; }
  .paginakop__tegels { display: block; align-self: stretch; max-width: none; min-height: 360px; }
  .paginakop__tegels .tegel { position: absolute; width: var(--breedte); left: var(--links, auto); right: var(--rechts, auto); top: var(--boven, auto); bottom: var(--onder, auto); }
  .paginakop__tegels .tegel:nth-child(2) { margin-top: 0; }
  .pk1 { --links: 4%;   --boven: 2%;   --breedte: 46%; --draai: -3deg; --verhouding: 4 / 5; }
  .pk2 { --rechts: 0;   --boven: 26%;  --breedte: 40%; --draai: 4deg;  --verhouding: 1; }
  .pk3 { --links: 18%;  --onder: 0;    --breedte: 38%; --draai: 2deg;  --verhouding: 5 / 4; }
}

/* Kort: zonder tegels (contact, privacy) */
.paginakop--kort { min-height: 0; }
@media (min-width: 960px) { .paginakop--kort { grid-template-columns: 1fr; min-height: 0; } }

/* ---------- Groot statement (inkleuren bij scrollen) ---------- */
.statement {
  max-width: 26ch;
  margin: 0;
  font-size: clamp(1.75rem, 3.8vw, 3rem);
  line-height: 1.12;
}

/* ---------- Prijzen ---------- */
.prijs { position: relative; }
.prijs__lijst { display: grid; gap: var(--s-2); margin: var(--s-6) 0 0; padding: var(--s-5) 0 0; border-top: 1px solid var(--lijn); list-style: none; font-size: var(--t-klein); color: var(--ink-zacht); }
.prijs__lijst li { position: relative; padding-left: 22px; }
.prijs__lijst li::before { content: "→"; position: absolute; left: 0; font-family: var(--f-mono); color: var(--violet); }
.prijs--donker .prijs__lijst { border-color: var(--op-donker-lijn); color: var(--op-donker-zacht); }
.prijs--donker .prijs__lijst li::before { color: var(--violet-300); }
.prijs__knop { margin-top: var(--s-6); align-self: flex-start; }
.prijs__badge {
  position: absolute;
  top: clamp(24px, 3vw, 32px);
  right: clamp(24px, 3vw, 32px);
  padding: 3px 10px;
  border-radius: var(--r-pil);
  background: var(--glas);
  box-shadow: 0 0 0 1px var(--glas-rand) inset;
  color: var(--violet-200);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.btw { margin: var(--s-5) 0 0; font-size: var(--t-klein); color: var(--ink-zacht); }

/* Garantie: donker blok met foto en rekenvoorbeeld */
.garantie { position: relative; isolation: isolate; display: grid; gap: var(--s-7); }
.garantie .gloed { z-index: -1; }
.garantie h2 { font-size: var(--t-h1); line-height: 1.04; letter-spacing: -.035em; }
.garantie__zin { font-size: var(--t-lead); color: var(--op-donker) !important; font-weight: 600; }
.garantie__beeld { position: relative; overflow: hidden; border-radius: var(--r-kaart); aspect-ratio: 4 / 3; background: var(--nacht-700); }
.garantie__beeld img { position: absolute; inset: -14% 0; width: 100%; height: 128%; max-width: none; object-fit: cover; }
.terugverdien { display: grid; gap: var(--s-3); margin: var(--s-6) 0 0; padding: 0; list-style: none; }
.terugverdien li {
  display: grid;
  gap: var(--s-1);
  padding: var(--s-4) var(--s-5);
  border: 1px solid var(--glas-rand);
  border-radius: var(--r-sm);
  background: var(--glas);
}
.terugverdien__som { font-family: var(--f-mono); font-size: var(--t-klein); color: var(--op-donker-zacht); }
.terugverdien__uit { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; color: var(--op-donker); }
.terugverdien__uit .kleurwoord { font-size: 1.5rem; }
.op-donker-voorbeeld {
  justify-self: start;
  padding: 2px 10px;
  border-radius: var(--r-pil);
  background: var(--glas);
  box-shadow: 0 0 0 1px var(--glas-rand) inset;
  color: var(--violet-200);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
@media (min-width: 960px) {
  .garantie { grid-template-columns: 6fr 5fr; align-items: center; gap: var(--s-8); }
  .garantie__beeld { aspect-ratio: 4 / 5; }
}

/* Wat is een oplossing: pillen */
.soorten { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.soorten .pil { padding: 10px 18px; font-size: var(--t-tekst); background: var(--papier); box-shadow: 0 0 0 1px var(--lijn) inset; }
.soorten a.pil:hover { background: var(--violet-50); }
.uitleg { display: grid; gap: var(--s-6); align-items: start; }
@media (min-width: 960px) { .uitleg { grid-template-columns: 5fr 6fr; gap: var(--s-8); } }

/* ---------- Werkwijze: stappen met foto ---------- */
.stappen { position: relative; display: grid; gap: clamp(48px, 8vw, 112px); margin: 0; padding: 0; list-style: none; counter-reset: stap; }
.stap { display: grid; gap: var(--s-6); align-items: center; }
.stap__beeld { position: relative; overflow: hidden; border-radius: var(--r-kaart); aspect-ratio: 4 / 3; background: var(--nacht-700); box-shadow: var(--sch-kaart); }
.stap__beeld img { position: absolute; inset: -14% 0; width: 100%; height: 128%; max-width: none; object-fit: cover; }
.stap__nummer {
  display: block;
  margin: 0 0 var(--s-4);
  font-size: clamp(3rem, 7vw, 5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.05em;
}
.stap h2 { font-size: var(--t-h2); }
.stap p { color: var(--ink-zacht); }
.stap__feiten { display: grid; gap: var(--s-3); margin: var(--s-5) 0 0; }
.stap__feiten div { padding: var(--s-4) var(--s-5); border-radius: var(--r-sm); background: var(--vlak); }
.stap__feiten dt { margin-bottom: var(--s-1); font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; color: var(--violet); }
.stap__feiten dd { margin: 0; font-size: var(--t-klein); font-weight: 500; color: var(--ink); }
@media (min-width: 640px) { .stap__feiten { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) {
  .stap { grid-template-columns: 1fr 1fr; gap: var(--s-8); }
  .stap:nth-child(2n) .stap__beeld { order: 2; }
  .stap__beeld { aspect-ratio: 5 / 4; }
}

/* Afspraken: drie regels met een lijn erboven (geen icoontjes) */
.afspraken { display: grid; gap: var(--s-6); margin: 0; padding: 0; list-style: none; }
.afspraak { padding-top: var(--s-5); border-top: 1px solid var(--lijn); }
.afspraak h3 { margin-bottom: var(--s-3); }
.afspraak p { margin: 0; color: var(--ink-zacht); }
.afspraak__soort { margin: 0 0 var(--s-3) !important; font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; color: var(--violet) !important; }
@media (min-width: 640px) { .afspraken { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Over ons ---------- */
.personen { display: grid; gap: var(--s-6); }
.persoon { display: grid; gap: var(--s-6); padding: var(--s-4); border: 1px solid var(--lijn); }
.persoon__beeld { position: relative; overflow: hidden; border-radius: var(--r-sm); aspect-ratio: 4 / 5; background: var(--nacht); max-width: 360px; }
.persoon__beeld img { width: 100%; height: 100%; object-fit: cover; }
.persoon__letter {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: var(--violet);
  color: var(--papier);
  font-size: clamp(6rem, 18vw, 10rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: 1;
}
.persoon__letter::after {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -18%;
  width: 70%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, .55) 0%, transparent 65%);
}
.persoon__tekst { padding: var(--s-2) var(--s-3) var(--s-3); }
.persoon__rol { margin: 0 0 var(--s-2); font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; color: var(--violet); }
.persoon__tekst h3 { margin-bottom: var(--s-5); font-size: var(--t-h2); line-height: 1.08; letter-spacing: -.03em; font-weight: 800; }
.persoon__tekst p:not([class]) { color: var(--ink-zacht); }
.persoon__partner { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin: var(--s-5) 0 0; padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--vlak); font-size: var(--t-klein); color: var(--ink-zacht); }
.persoon__partner strong { color: var(--ink); }
@media (min-width: 960px) {
  .persoon { grid-template-columns: 5fr 7fr; align-items: center; padding: var(--s-5); }
  .persoon__beeld { max-width: none; }
  .persoon__tekst { padding: var(--s-5) var(--s-6); }
}

.fotoband { margin: 0; position: relative; overflow: hidden; border-radius: var(--r-kader); aspect-ratio: 16 / 10; background: var(--nacht); }
.fotoband img { position: absolute; inset: -14% 0; width: 100%; height: 128%; max-width: none; object-fit: cover; }
.fotoband__tekst { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--s-6) var(--s-5) var(--s-5); background: linear-gradient(180deg, transparent, rgba(18, 12, 43, .82)); }
.fotoband + .afspraken { margin-top: var(--s-8); }
.fotoband__tekst p { margin: 0; max-width: 40ch; color: var(--op-donker); font-size: clamp(1.05rem, 2vw, 1.375rem); font-weight: 700; line-height: 1.35; }
@media (min-width: 960px) { .fotoband { aspect-ratio: 21 / 8; } .fotoband__tekst { padding: var(--s-8) var(--s-7) var(--s-6); } }

/* ---------- Contact ---------- */
.contact { display: grid; gap: var(--s-7); align-items: start; }
.contact__gegevens h2 { font-size: var(--t-h3); }
.kanalen { display: grid; gap: var(--s-3); margin: 0 0 var(--s-6); padding: 0; list-style: none; }
.kanaal {
  display: grid;
  gap: 2px;
  padding: var(--s-4) var(--s-5);
  border: 1px solid var(--lijn);
  border-radius: var(--r-kaart);
  color: var(--ink);
  text-decoration: none;
  transition: background-color var(--d-snel) var(--ease-uit), border-color var(--d-snel) var(--ease-uit);
}
a.kanaal:hover { background: var(--violet-50); border-color: var(--violet-100); color: var(--ink); }
.kanaal__soort { font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-zacht); }
.kanaal__waarde { font-weight: 700; overflow-wrap: anywhere; }
a.kanaal .kanaal__waarde::after { content: " →"; font-family: var(--f-mono); color: var(--violet); }
.scan-tip { position: relative; isolation: isolate; overflow: hidden; padding: var(--s-6) var(--s-5); border-radius: var(--r-kaart); }
.scan-tip .gloed { z-index: -1; }
.scan-tip h2 { font-size: var(--t-h3); margin-bottom: var(--s-3); }
.scan-tip .knop { margin-top: var(--s-3); }

.formulier { display: grid; gap: var(--s-5); border: 1px solid var(--lijn); }
.formulier h2 { font-size: var(--t-h3); margin: 0; }
.formulier__rij { display: grid; gap: var(--s-5); }
@media (min-width: 640px) { .formulier__rij { grid-template-columns: 1fr 1fr; } }
.formveld { display: grid; gap: var(--s-2); font-size: var(--t-klein); font-weight: 700; color: var(--ink); }
.formveld__extra { font-weight: 500; color: var(--ink-zacht); }
.formveld input, .formveld textarea {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  border: 2px solid transparent;
  border-radius: var(--r-sm);
  background: var(--chip);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 500;
  transition: border-color var(--d-snel) var(--ease-uit), background-color var(--d-snel) var(--ease-uit);
}
.formveld textarea { min-height: 160px; resize: vertical; line-height: 1.5; }
.formveld input:focus, .formveld textarea:focus { outline: none; border-color: var(--violet); background: var(--papier); }
.formveld input:focus-visible, .formveld textarea:focus-visible { outline: none; }
.akkoord { display: grid; grid-template-columns: auto 1fr; gap: var(--s-3); align-items: start; font-size: var(--t-klein); color: var(--ink-zacht); cursor: pointer; }
.akkoord input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--violet); }
.formulier__onder { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4); }
.formulier__noot { margin: 0; font-size: var(--t-klein); color: var(--ink-zacht); }
/* Honingpot: voor mensen onzichtbaar, voor bots een gewoon veld */
.honingpot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width: 960px) { .contact { grid-template-columns: 5fr 7fr; gap: var(--s-8); } .contact__gegevens { position: sticky; top: 120px; } }

.demo-plan { position: relative; isolation: isolate; display: grid; gap: var(--s-6); }
.demo-plan .gloed { z-index: -1; }
.demo-plan h2 { font-size: var(--t-h2); }
.demo-plan__stappen { display: grid; gap: var(--s-3); margin: 0; padding: 0; list-style: none; counter-reset: dp; }
.demo-plan__stappen li { counter-increment: dp; display: grid; grid-template-columns: auto 1fr; gap: var(--s-4); align-items: baseline; padding: var(--s-4) var(--s-5); border: 1px solid var(--glas-rand); border-radius: var(--r-sm); background: var(--glas); color: var(--op-donker-zacht); }
.demo-plan__stappen li::before { content: "0" counter(dp); font-family: var(--f-mono); font-size: var(--t-label); color: var(--violet-200); }
@media (min-width: 960px) { .demo-plan { grid-template-columns: 6fr 5fr; align-items: center; gap: var(--s-8); } }

/* ---------- Privacy: leesbare tekst met inhoudsopgave ---------- */
.tekstpagina { display: grid; gap: var(--s-7); align-items: start; }
.inhoud-lijst { padding: var(--s-5); border-radius: var(--r-kaart); background: var(--vlak); }
.inhoud-lijst p { margin: 0 0 var(--s-3); font-family: var(--f-mono); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-zacht); }
.inhoud-lijst ol { display: grid; gap: var(--s-1); margin: 0; padding: 0; list-style: none; counter-reset: ih; }
.inhoud-lijst li { counter-increment: ih; }
.inhoud-lijst a { display: flex; gap: var(--s-3); padding: 6px 0; color: var(--ink); font-weight: 600; text-decoration: none; }
.inhoud-lijst a::before { content: counter(ih, decimal-leading-zero); font-family: var(--f-mono); font-size: var(--t-label); color: var(--violet); padding-top: 3px; }
.inhoud-lijst a:hover { color: var(--violet); }
.tekst { max-width: 68ch; }
.tekst section + section { margin-top: var(--s-7); padding-top: var(--s-7); border-top: 1px solid var(--lijn); }
.tekst h2 { font-size: var(--t-h3); margin-bottom: var(--s-4); }
.tekst p, .tekst li { color: var(--ink-zacht); }
.tekst strong { color: var(--ink); }
.tekst ul { margin: 0 0 var(--s-4); padding-left: 1.2em; }
.tekst li + li { margin-top: var(--s-2); }
.tekst li::marker { color: var(--violet); }
.tabel { width: 100%; margin: 0 0 var(--s-4); border-collapse: collapse; font-size: var(--t-klein); }
.tabel th, .tabel td { padding: var(--s-3) var(--s-3) var(--s-3) 0; border-bottom: 1px solid var(--lijn); text-align: left; vertical-align: top; }
.tabel th { font-family: var(--f-mono); font-size: var(--t-label); font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-zacht); }
.tabel td { color: var(--ink-zacht); }
.tabel td:first-child { color: var(--ink); font-weight: 700; }
@media (max-width: 639.98px) {
  .tabel thead { display: none; }
  .tabel tr { display: grid; padding: var(--s-3) 0; border-bottom: 1px solid var(--lijn); }
  .tabel td { padding: 2px 0; border: 0; }
}
@media (min-width: 960px) {
  .tekstpagina { grid-template-columns: 3fr 8fr; gap: var(--s-8); }
  .inhoud-lijst { position: sticky; top: 120px; }
}
