/* Rekenen uses the Taal page's shared layout; these differences are scoped. */
.lva-rekenen { --lva-hero-wave: #ffe08c; }
.lva-rekenen p { margin-bottom:20px; line-height:1.7; }
.lva-rekenen p:last-child { margin-bottom:0; }
.lva-rekenen .lva-taal__eyebrow { margin-bottom:14px; line-height:1.4; }
.lva-rekenen .lva-taal__section-heading > p:last-child { max-width:720px; margin-inline:auto; }
.lva-rekenen .lva-taal__checks { margin-top:24px; }
.lva-rekenen .lva-taal__text-link { display:inline-block; margin-top:24px; }
.lva-rekenen :is(section[id],h2[id]) { scroll-margin-top: 110px; }
.lva-rekenen a:focus-visible,.lva-rekenen summary:focus-visible { outline:3px solid #1a1d38; outline-offset:5px; }
.lva-rekenen .lva-rekenen__inventory summary:focus-visible,
.lva-rekenen .lva-taal__faq-list summary:focus-visible,
.lva-rekenen .lva-rekenen__demo-play:focus-visible { outline-offset:-5px; }
.lva-rekenen .lva-taal__hero { min-height:0; }
.lva-rekenen .lva-taal__hero h1 { font-size:clamp(2.1rem,3.8vw,3.55rem); line-height:1.12; }
.lva-rekenen .lva-taal__hero-photo { margin-bottom:40px; }
.lva-rekenen .lva-taal__lead { margin-bottom:24px; }
.lva-rekenen .lva-rekenen__hero-note { margin:20px 0 0; font-size:.9rem; }
.lva-rekenen__routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lva-rekenen .lva-rekenen__route { padding:30px; background:var(--lva-cream); }
.lva-rekenen .lva-rekenen__route::after { display:none; }
.lva-rekenen .lva-rekenen__route .lva-taal__route-label { background:var(--lva-soft-yellow); }
.lva-rekenen__group-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:auto; }
.lva-rekenen__group-links a { display:flex; justify-content:space-between; gap:8px; padding:10px 12px; border:1px solid #b5a0cc; border-radius:12px; color:#604084; font-weight:650; background:#fff; }
.lva-rekenen__materials-visual { margin:0; }
.lva-rekenen__materials-visual > div { display:flex; justify-content:center; align-items:center; gap:24px; padding:24px; }
.lva-rekenen__materials-visual img { width:43%; height:auto; box-shadow:0 12px 30px #1a1d3822; }
.lva-rekenen__materials-visual img:last-child { width:49%; max-width:280px; }
.lva-rekenen__materials-visual figcaption { margin-top:20px; text-align:center; font-size:.85rem; }
.lva-rekenen .lva-taal__reviews { margin-top:0; }
.lva-rekenen__pricing { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1020px; margin:auto; align-items:stretch; }
.lva-rekenen__plan { padding:clamp(24px,3vw,40px); border:1px solid #d9cde7; border-top:6px solid #d9cde7; border-radius:28px; background:#fff; box-shadow:0 12px 36px #1a1d380a; }
.lva-rekenen__plan--year { border-top-color:var(--lva-purple); background:#fbf8ff; }
.lva-rekenen .lva-rekenen__plan-label { font-size:.85rem; color:#604084; font-weight:700; margin-bottom:12px; }
.lva-rekenen .lva-rekenen__price { display:flex; align-items:baseline; gap:6px; margin:24px 0 12px; }
.lva-rekenen__price strong { font-size:clamp(2.8rem,4vw,3.4rem); line-height:1.1; color:var(--lva-navy); }
.lva-rekenen .lva-rekenen__billing { min-height:52px; font-size:.9rem; margin-bottom:24px; }
.lva-rekenen__plan > .lva-taal__button { width:100%; }
.lva-rekenen .lva-rekenen__plan > .lva-taal__checks { margin-top:24px; }
.lva-rekenen .lva-rekenen__extra { margin-top:24px; padding:22px; border:1px solid #ead186; border-radius:18px; background:#fff5d5; font-size:.92rem; }
.lva-rekenen .lva-rekenen__extra p { margin:10px 0 12px; }
.lva-rekenen__extra a { color:#604084; text-decoration:underline; font-weight:650; }
.lva-rekenen .lva-rekenen__terms { margin-top:28px; font-size:.85rem; color:#555165; line-height:1.65; }
.lva-rekenen__inventory { max-width:920px; margin:auto; }
.lva-rekenen__inventory details { border:1px solid #dfd2be; border-radius:18px; background:#fff; margin-bottom:14px; overflow:hidden; }
.lva-rekenen__inventory summary { display:flex; align-items:center; gap:16px; padding:22px 26px; cursor:pointer; list-style:none; font-weight:700; }
.lva-rekenen__inventory summary::-webkit-details-marker { display:none; }
.lva-rekenen__inventory summary span { margin-left:auto; font-size:.82rem; font-weight:400; }
.lva-rekenen__inventory summary::after { content:'+'; display:grid; place-items:center; flex:0 0 28px; height:28px; border:1px solid var(--lva-purple); border-radius:50%; color:var(--lva-purple); }
.lva-rekenen__inventory details[open] summary::after { content:'−'; }
.lva-rekenen__inventory ul { padding:0 28px 24px 48px; margin:0; columns:2; column-gap:40px; }
.lva-rekenen__inventory li { break-inside:avoid; margin-bottom:10px; font-size:.94rem; }
.lva-rekenen .lva-rekenen__bonus-note { text-align:center; margin-top:28px; font-size:.88rem; }
.lva-rekenen__demo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lva-rekenen__demo-card { border:1px solid #dfd5e9; border-radius:20px; background:#fff; overflow:hidden; }
.lva-rekenen__demo-player { position:relative; aspect-ratio:16/9; background:#1a1d38; }
.lva-rekenen__demo-player iframe { display:block; position:absolute; inset:0; width:100%; height:100%; border:0; }
.lva-rekenen__demo-play { position:absolute; inset:0; display:block; color:#fff; }
.lva-rekenen__demo-play[hidden] { display:none; }
.lva-rekenen__demo-play img { width:100%; height:100%; object-fit:cover; }
.lva-rekenen__play-icon { position:absolute; left:50%; top:44%; transform:translate(-50%,-50%); display:grid; place-items:center; width:58px; height:58px; border:2px solid #fff; border-radius:50%; background:#604084; color:#fff; font-size:22px; padding-left:3px; box-shadow:0 3px 16px #0003; }
.lva-rekenen__play-label { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); padding:4px 12px; border-radius:20px; background:#27213ae8; color:#fff; font-size:.8rem; white-space:nowrap; }
.lva-rekenen__demo-copy { padding:26px; }
.lva-rekenen .lva-rekenen__demo-copy h3 { font-size:1.3rem; line-height:1.3; margin-bottom:16px; }
.lva-rekenen .lva-rekenen__demo-copy p:last-child { font-size:.95rem; }
/* Give the learning sections breathing room; keep the materials card separate. */
.lva-rekenen.lva-taal--preview .lva-taal__section--intro { padding-bottom:clamp(48px,5vw,64px); }
.lva-rekenen .lva-rekenen__demos { padding-block:clamp(48px,5vw,64px); }
.lva-rekenen [aria-labelledby="reken-platform"] { padding-top:clamp(48px,5vw,64px); padding-bottom:32px; }
.lva-rekenen .lva-taal__section--materials { padding-top:16px; padding-bottom:clamp(48px,5vw,72px); }
.lva-rekenen .lva-taal__materials-card { border:1px solid #f0e4c6; box-shadow:0 18px 46px rgb(26 29 56 / 11%); }
.lva-rekenen .lva-taal__section--materials + .lva-taal__section { padding-top:clamp(48px,5vw,72px); }
.lva-rekenen #rekenbonus,
.lva-rekenen .lva-taal__section--faq { padding-top:clamp(40px,5vw,64px); }
/* Draw centered strokes instead of relying on the font's plus/minus baseline. */
.lva-rekenen .lva-taal__faq-list summary::after {
 content:"";
 background:linear-gradient(currentColor,currentColor) center / 12px 2px no-repeat,
            linear-gradient(currentColor,currentColor) center / 2px 12px no-repeat, #fff;
}
.lva-rekenen .lva-taal__faq-list details[open] summary::after {
 content:"";
 background:linear-gradient(currentColor,currentColor) center / 12px 2px no-repeat, #fff;
}
.lva-rekenen .lva-rekenen__intro-player { aspect-ratio:982/609; background:transparent; box-shadow:none; }
/* Preserve the full thumbnail; trim only its decorative outer white border. */
.lva-rekenen .lva-rekenen__intro-player .lva-rekenen__demo-play { clip-path:inset(0 2% round 18% / 12%); }
.lva-rekenen .lva-rekenen__intro-player img { display:block; object-fit:contain; transform:none; }
.lva-rekenen .lva-rekenen__hero-video { scroll-margin-top:110px; }
.lva-rekenen .lva-rekenen__video-caption { margin:18px 0 0; text-align:center; font-size:.95rem; font-weight:650; color:var(--lva-navy); }
.lva-rekenen .lva-rekenen__learning-steps { margin:24px 0 0; padding-left:24px; }
.lva-rekenen__learning-steps li { padding-left:6px; margin-bottom:18px; line-height:1.7; }
.lva-rekenen__learning-steps strong { color:var(--lva-navy); }
.lva-rekenen .lva-rekenen__plan-comparison { min-height:84px; margin:0 0 24px; font-size:.9rem; }
.lva-rekenen__plan-comparison strong,.lva-rekenen__plan-comparison span { display:block; }
.lva-rekenen__plan-comparison strong { color:#604084; margin-bottom:6px; }
.lva-rekenen .lva-rekenen__plan--year .lva-rekenen__plan-label { display:table; border-radius:20px; background:#eee4f7; padding:4px 12px; margin-top:-4px; margin-bottom:8px; }
.lva-rekenen .lva-taal__review-grid figure { min-height:0; padding:26px; border-radius:26px; align-content:start; grid-template-areas:"avatar name" "avatar stars" "topic topic" "quote quote"; grid-template-rows:auto auto auto auto; }
.lva-rekenen .lva-taal__review-grid figure::before { content:attr(data-initial); }
.lva-rekenen .lva-taal__review-grid figure::after { width:48px; height:32px; bottom:-20px; }
.lva-rekenen .lva-taal__review-grid h3 { grid-area:topic; margin:16px 0 0; font-size:1.15rem; }
.lva-rekenen .lva-taal__review-grid blockquote { margin-top:8px; align-self:start; }
.lva-rekenen .lva-rekenen__review-source { margin-top:40px; }
.lva-rekenen__review-source a { color:var(--lva-navy); text-decoration:underline; font-weight:650; }
@media(min-width:768px) {
 .lva-rekenen .lva-taal__hero-copy .lva-taal__actions { gap:12px; }
 .lva-rekenen .lva-taal__hero-copy .lva-taal__actions > .lva-taal__button { flex:1 1 235px; padding-inline:14px; font-size:.9rem; }
}
@media(max-width:1024px) { .lva-rekenen__routes { grid-template-columns:1fr; } .lva-rekenen .lva-rekenen__route { min-height:0; } .lva-rekenen__group-links { max-width:480px; } }
@media(max-width:767px) {
 .lva-rekenen__demo-grid { grid-template-columns:1fr; }
 .lva-rekenen__pricing { grid-template-columns:1fr; }
 .lva-rekenen .lva-rekenen__billing,
 .lva-rekenen .lva-rekenen__plan-comparison { min-height:0; margin-bottom:18px; }
 .lva-rekenen .lva-taal__platform-screenshot { display:none; }
 .lva-rekenen__inventory ul { columns:1; }
 .lva-rekenen__inventory summary { padding:18px; gap:10px; flex-wrap:wrap; }
 .lva-rekenen__inventory summary span { font-size:.75rem; }
 .lva-rekenen__inventory summary::after { margin-left:auto; }
 .lva-rekenen .lva-taal__hero .lva-taal__actions { flex-direction:column; align-items:stretch; }
 .lva-rekenen .lva-taal__proofs strong { font-size:16px; }
 .lva-rekenen .lva-taal__proofs span { font-size:11px; }
}
