/* BFZ — Personal Coaching (okt 2026): rustiger en korter. Het traject met de coachingfilm in een afgerond kader
   ernaast (i.p.v. een losse videoband), de fotocollage als één rij van drie, afgeronde beelden. */
body.v2 .journey--film .journey__duo {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(32px, 5vw, 96px); align-items: start;
}
body.v2 .journey__film { position: sticky; top: clamp(96px, 12vh, 140px); margin: 0; }
body.v2 .journey__filmkader { position: relative; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden; background: #1a1714 url("/images/pc-coaching-poster-tall.webp") 50% 40% / cover no-repeat; }
body.v2 .journey__filmkader video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; opacity: 0; transition: opacity 1s ease; }
body.v2 .journey__filmkader video.is-playing { opacity: 1; }
body.v2 .journey--film .journey__list { border-top: 1px solid var(--accent-line); }
body.v2 .journey--film .phase { grid-template-columns: 56px minmax(0, 1fr); row-gap: 14px; column-gap: 24px; padding: 36px 0; }
body.v2 .journey--film .phase__desc { grid-column: 2; }
body.v2 .statement:has(.pc-rij) { padding-bottom: 14vh; }
body.v2 .pc-rij {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.8vw, 28px);
  max-width: min(var(--container), 1180px); margin: clamp(56px, 6vw, 96px) auto 0;
}
body.v2 .pc-rij__foto { margin: 0; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; background: #1a1714; }
body.v2 .pc-rij__foto:nth-child(2) { transform: translateY(clamp(24px, 3vw, 56px)); }
body.v2 .pc-rij__foto img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
body.v2 .coach-highlight__visual { border-radius: 16px; }
@media (max-width: 880px) {
  body.v2 .journey--film .journey__duo { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  body.v2 .journey__film { position: relative; top: auto; }
  body.v2 .journey__filmkader { aspect-ratio: 1 / 1; border-radius: 12px; }
  body.v2 .journey--film .phase { grid-template-columns: 40px minmax(0, 1fr); padding: 28px 0; }
  body.v2 .pc-rij { gap: 8px; margin-top: 44px; }
  body.v2 .pc-rij__foto { border-radius: 10px; }
  body.v2 .pc-rij__foto:nth-child(2) { transform: translateY(20px); }
  body.v2 .coach-highlight__visual { border-radius: 12px; }
}

/* ---------- formules als vergelijking (okt 2026): het gaat om een investering, dus alles wat je krijgt staat er,
   maar rustig: drie kolommen met haarlijnen, rijen die over de kolommen heen gelijk lopen, 'Meest gekozen' met een
   zacht vlak en een bronzen lijn, de prijs rolt op. Op gsm: per formule een lijst. ---------- */
body.v2 .vk { --vk-ink: #f3eee7; --vk-tekst: #d6d0c8; --vk-optie: #8f857a; margin-top: clamp(44px, 5vw, 72px); }
body.v2 .vk__raster {
  display: grid; grid-template-columns: minmax(150px, 0.9fr) repeat(3, minmax(0, 1.2fr)); grid-template-rows: auto repeat(6, auto);
}
body.v2 .vk__labels, body.v2 .vk__kol { grid-row: 1 / span 7; display: grid; grid-template-rows: subgrid; }
body.v2 .vk__kol { position: relative; padding: 0 clamp(18px, 2vw, 34px); border-left: 1px solid var(--t-lijn); }
body.v2 .vk__kol--best { background: rgba(243, 238, 231, 0.035); border-radius: 16px 16px 0 0; }
body.v2 .vk__kol--best::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--t-brons); border-radius: 16px 16px 0 0; }
body.v2 .vk__kop { display: flex; flex-direction: column; padding: clamp(28px, 3vw, 40px) 0 clamp(28px, 3vw, 36px); }
body.v2 .vk__kop--leeg { padding: 0; }
body.v2 .vk__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--t-zacht); }
body.v2 .vk__tag { color: var(--t-brons); }
body.v2 .vk h3.vk__naam { margin: 18px 0 0; padding: 0; font-family: var(--font-display); font-size: clamp(26px, 2.3vw, 36px); line-height: 1; font-weight: 700; letter-spacing: -0.01em; text-transform: uppercase; color: var(--vk-ink); text-align: left; }
body.v2 .vk h3.vk__naam::before, body.v2 .vk h3.vk__naam::after { content: none; display: none; }
body.v2 .vk__lijn { margin: 8px 0 0; font-family: var(--font-display); font-size: 13px; line-height: 1.35; font-weight: 300; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vk-tekst); }
body.v2 .vk__prijs {
  display: flex; align-items: flex-start; margin: clamp(26px, 3vw, 40px) 0 0;
  font-family: var(--font-display); font-weight: 300; font-size: clamp(54px, 5vw, 88px); line-height: 1; letter-spacing: -0.045em; color: var(--vk-ink); font-variant-numeric: tabular-nums;
}
body.v2 .vk__per { margin: 12px 0 0; font-size: 10.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--t-zacht); }
body.v2 .vk__voor { margin: 22px 0 0; font-size: 14px; line-height: 1.55; font-weight: 300; color: var(--vk-tekst); }
body.v2 a.vk__knop {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: auto; min-height: 50px; padding: 0 22px;
  border: 1px solid var(--vk-knoplijn, rgba(243, 238, 231, 0.36)); border-radius: 2px; background: transparent; color: var(--vk-ink); text-decoration: none;
  font-family: var(--font-label, var(--font-display)); font-size: 11px; font-weight: 500; letter-spacing: 0.11em; text-transform: uppercase;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
body.v2 .vk__voor + a.vk__knop { margin-top: 28px; }
body.v2 a.vk__knop--vol { background: #f3eee7; border-color: #f3eee7; color: #171411; }
@media (hover: hover) and (pointer: fine) {
  body.v2 a.vk__knop:hover { background: rgba(243, 238, 231, 0.08); border-color: rgba(243, 238, 231, 0.7); }
  body.v2 a.vk__knop--vol:hover { background: #ffffff; border-color: #ffffff; color: #171411; }
}
body.v2 a.vk__knop:focus-visible { outline: 2px solid #b49b78; outline-offset: 3px; }
body.v2 .vk__cel, body.v2 .vk__label { display: flex; align-items: center; min-height: 58px; padding: 16px 0; border-top: 1px solid var(--t-lijn); }
body.v2 .vk__cel { font-size: 14px; line-height: 1.45; font-weight: 300; color: var(--vk-tekst); }
body.v2 .vk__cel strong { font-weight: 500; color: var(--vk-ink); }
body.v2 .vk__label { font-size: 10.5px; font-weight: 500; line-height: 1.4; letter-spacing: 0.12em; text-transform: uppercase; color: var(--t-zacht); padding-right: 16px; }
body.v2 .vk__ja { font-size: 15px; color: var(--t-brons); }
body.v2 .vk__optie { color: var(--vk-optie); }
@media (max-width: 1023px) {
  body.v2 .vk__raster { display: block; }
  body.v2 .vk__labels { display: none; }
  body.v2 .vk__kol { display: block; padding: 0 0 8px; border-left: 0; border-top: 1px solid var(--t-lijn); }
  body.v2 .vk__kol + .vk__kol { margin-top: 40px; }
  body.v2 .vk__kol--best { padding: 0 18px 8px; border-radius: 14px; }
  body.v2 .vk__kol--best::before { border-radius: 14px 14px 0 0; }
  body.v2 .vk__cel { justify-content: space-between; gap: 16px; min-height: 0; padding: 14px 0; text-align: right; }
  body.v2 .vk__cel::before { content: attr(data-label); flex: 0 1 46%; text-align: left; font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--t-zacht); }
  body.v2 a.vk__knop { width: 100%; }
}
body.v2 .vk__lijn { min-height: 2.7em; }
@media (max-width: 1023px) { body.v2 .vk__lijn { min-height: 0; } body.v2 .vk__waarde { flex: 0 1 54%; } }

/* prijsblok op crème (okt 2026): de drie formules lezen duidelijker; 'Meest gekozen' wordt een donker paneel.
   De sectie zet haar kleurvariabelen om, dus kop, reviews en knoppen kleuren mee. */
body.v2 .pricing.pricing--licht {
  --bg: #efeae3; --bg-deep: #efeae3; --fg: #171411; --fg-muted: #5a524a; --fg-faint: #6b6157; --accent-line: rgba(23, 20, 17, 0.14);
  --action-ink: #24201c; --action-line: rgba(69, 57, 43, 0.42); --action-wash: rgba(69, 57, 43, 0.055);
  background: #efeae3; color: #171411; border-top-color: transparent;
}
body.v2 .pricing--licht .aurora { display: none; }
body.v2 .pricing--licht .tarief { --t-lijn: rgba(23, 20, 17, 0.14); --t-zacht: #6b6157; --t-brons: #9a6c45; }
body.v2 .pricing--licht .vk { --vk-ink: #171411; --vk-tekst: #4a433c; --vk-optie: #8a8076; --vk-knoplijn: rgba(23, 20, 17, 0.4); }
body.v2 .pricing--licht .vk__kol--best {
  --vk-ink: #f3eee7; --vk-tekst: #d6d0c8; --vk-optie: #9b9186; --vk-knoplijn: rgba(243, 238, 231, 0.36);
  --t-lijn: rgba(243, 238, 231, 0.14); --t-zacht: #b5aba0; --t-brons: #c99a6e;
  background: #171411; border-left-color: transparent; border-radius: 18px; padding-bottom: 14px;
  box-shadow: 0 30px 60px -40px rgba(23, 20, 17, 0.55);
}
body.v2 .pricing--licht .vk__kol--best::before { left: 24px; right: 24px; border-radius: 0; }
body.v2 .pricing--licht .vk__kol--best + .vk__kol { border-left-color: transparent; }
@media (hover: hover) and (pointer: fine) { body.v2 .pricing--licht .vk__kol:not(.vk__kol--best) a.vk__knop:hover { background: #171411; border-color: #171411; color: #f3eee7; } }
body.v2 .pricing--licht .tarief__links a { color: #171411; }
@media (max-width: 1023px) {
  body.v2 .pricing--licht .vk__kol--best { padding: 0 20px 10px; border-radius: 16px; }
  body.v2 .pricing--licht .vk__kol--best::before { left: 20px; right: 20px; }
}
