/* Fase 2A: publieke presentatie, BKC-tokens, zonder reken- of toegangslogica. */
.bm-page{--bm-blue:var(--blauw,#1d4ed8);--bm-green:var(--groen,#1a6b3c);--bm-border:var(--grijs-rand,#e8e3da);background:var(--grijs-bg,#f7f4ef);color:var(--ink,#111827);font-family:var(--font-sans,Inter,Arial,sans-serif);font-size:14px;line-height:1.5;padding-bottom:48px}
.bm-page *{box-sizing:border-box;min-width:0}
.bm-page h1,.bm-page h2,.bm-page h3,.bm-page p,.bm-page dl,.bm-page ul{margin:0}
.bm-page h1,.bm-page h2,.bm-page h3{line-height:1.25;letter-spacing:-.025em}
.bm-page h1{font-family:var(--font-serif,Georgia,serif);font-size:clamp(28px,3vw,40px);color:var(--ink,#111827);font-weight:700}
.bm-page h2{font-family:inherit;font-size:18px;font-weight:700}.bm-page h3{font-family:inherit;font-size:13px;font-weight:700}
.bm-progress{background:#fff;border-bottom:1px solid var(--bm-border);padding:16px}
.bm-progress ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:1392px;margin:0 auto;padding:0}
.bm-progress li{display:flex;flex-direction:column;align-items:center;gap:8px;color:#647080;font-size:10px;text-align:center;line-height:1.35}
.bm-progress li>span:first-child{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #dce3ec;border-radius:50%;font-size:12px}
.bm-progress .bm-done>span:first-child{background:var(--bm-green);color:#fff;border-color:var(--bm-green)}
.bm-progress [aria-current=step]{color:var(--bm-green);font-weight:700}.bm-progress [aria-current=step]>span:first-child{background:var(--bm-green);border-color:var(--bm-green);color:#fff;box-shadow:0 0 0 4px #e8f5ee}
.bm-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'sidebar' 'results';gap:24px;max-width:1480px;margin:0 auto;padding:28px 16px}
.bm-heading{grid-area:heading;padding:8px 0}.bm-heading>p:not(.bm-eyebrow){color:#596675;font-size:14px;margin-top:12px;max-width:800px}
.bm-page .bm-eyebrow{color:var(--bm-green);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.bm-sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:16px}.bm-results{grid-area:results}
.bm-panel{border:1px solid var(--bm-border);border-radius:12px;background:#fff;overflow:hidden}
.bm-panel h2,.bm-situation summary{padding:16px 20px;background:#fff;color:var(--ink,#111827);font-size:15px;font-weight:700;border-bottom:1px solid var(--bm-border)}
.bm-situation summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.bm-situation summary:after{content:'−';color:var(--bm-green)}.bm-situation:not([open]) summary:after{content:'+'}
.bm-situation dl{padding:0 20px}.bm-situation dl>div{padding:12px 0;border-bottom:1px solid #f0ede8}.bm-situation dl>div:last-child{border:0}
.bm-page dt{color:#596675;font-size:12px;font-weight:400}.bm-page dd{margin:4px 0 0;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.bm-advice{background:#f3faf5;border-color:#cddfd2}.bm-advice h2{display:flex;gap:8px;align-items:center;background:transparent;border-color:#dce9df}.bm-info{display:grid;place-items:center;background:var(--bm-green);color:#fff;width:20px;height:20px;border-radius:50%;font-size:12px}
.bm-advice>p{padding:16px 20px;font-size:12px;color:#596675}.bm-advice dl{padding:0 20px 8px}.bm-advice dl>div{padding:12px 0;border-top:1px solid #dce9df}.bm-advice dd{font-size:18px}.bm-advice dd.bm-capacity{font-size:28px;color:var(--bm-green)}.bm-advice small{font-size:12px}
.bm-why ul{padding:20px}.bm-small{font-size:11px!important;color:#596675;line-height:1.6;padding:0 20px 20px}
.bm-checks{list-style:none;display:grid;gap:8px;padding:0}.bm-checks li{position:relative;padding-left:24px;font-size:12px;line-height:1.5;color:#48576a}.bm-checks li:before{content:'✓';position:absolute;left:0;top:2px;background:#e8f5ee;color:var(--bm-green);border-radius:50%;width:16px;height:16px;text-align:center;font-size:10px;line-height:16px;font-weight:700}
.bm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.bm-chips>span{padding:8px 12px;border:1px solid var(--bm-border);border-radius:999px;background:#fff;color:#48576a;font-size:11px}
.bm-products{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:stretch}
.bm-product{border:1px solid var(--bm-border);border-radius:16px;background:#fff;box-shadow:var(--shadow,0 4px 14px #1118270b);overflow:hidden;display:flex;flex-direction:column}
.bm-product-image{height:220px;display:flex;justify-content:center;align-items:center;padding:24px;background:radial-gradient(ellipse at center,#fff 25%,#f7f8f6 100%);border-bottom:1px solid #f0ede8}
.bm-product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.bm-placeholder{display:grid;place-items:center;gap:12px;color:#86988c}.bm-placeholder span{font-size:11px;text-align:center;color:#596675}
.bm-product-body{padding:24px 20px 20px;display:flex;flex-direction:column;flex:1}.bm-product h2{font-size:21px;min-height:52px;display:flex;align-items:start;color:var(--ink,#111827);overflow-wrap:anywhere}
.bm-type{margin-top:8px!important;color:#596675;font-size:12px;display:flex;gap:8px;flex-wrap:wrap}.bm-badges{display:flex;flex-wrap:wrap;gap:8px;min-height:28px;margin:16px 0}
.bm-badge{background:#f5f5f2;border:1px solid #e8e3da;border-radius:6px;padding:4px 8px;font-size:10px;color:#526156}.bm-verified{color:var(--bm-green);background:#e8f5ee;border-color:#d9eade}
.bm-calculated{font-size:11px;color:#596675;margin-top:4px!important}
.bm-specs>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f0ede8;align-items:baseline}.bm-specs dd{font-size:12px;text-align:right;max-width:58%;margin:0}.bm-specs dt{font-size:11px}
.bm-price{margin:20px 0 16px;background:#f7f8fa;border:1px solid #e4e8ed;border-radius:12px;padding:16px;min-height:132px}.bm-price strong{display:block;font-size:32px;letter-spacing:-.04em;color:var(--ink,#111827);line-height:1.2;font-variant-numeric:tabular-nums}.bm-price>span{display:block;font-size:12px;margin-top:8px;color:#48576a;font-weight:600}.bm-date{display:block;margin-top:12px;color:#596675;font-size:11px}.bm-date:before{content:'●';color:var(--bm-green);margin-right:6px}
.bm-price-estimate{background:#fff9ef;border-color:#eaddc4}.bm-price-estimate>span{color:#81551e}.bm-price-note{font-size:11px;color:#765726;margin-top:8px!important;line-height:1.6}
.bm-personal{background:#e8f5ee;border:1px solid #d5e8db;border-radius:12px;padding:16px;margin:0 0 20px}.bm-personal h3{margin-bottom:16px;color:#17452b}.bm-personal dl{display:grid;gap:12px}.bm-personal dl>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.bm-personal dt{font-size:11px;color:#3e5a49}.bm-personal dd{font-size:15px;text-align:right;max-width:58%;margin:0;color:#17452b}.bm-personal small{font-size:10px;font-weight:500}
.bm-fit{margin-bottom:20px}.bm-fit h3{margin-bottom:12px;font-size:12px}.bm-fit .bm-checks li{font-size:11px}
.bm-details{margin-top:auto}.bm-details summary{list-style:none;background:var(--bm-green);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;min-height:48px;transition:background 150ms ease}.bm-details summary:hover{background:#0f4023}.bm-details summary::-webkit-details-marker,.bm-situation summary::-webkit-details-marker{display:none}
.bm-details[open] summary>span[aria-hidden]{transform:rotate(90deg)}.bm-details>div{padding:16px 0 0;font-size:12px;color:#596675}.bm-details p{margin-top:8px}.bm-details ul{padding:12px 0 0 16px;display:grid;gap:8px}
.bm-page summary:focus-visible,.bm-page a:focus-visible{outline:3px solid var(--bm-blue);outline-offset:3px}.bm-footnote{color:#596675;font-size:12px;line-height:1.6;margin-top:24px!important;max-width:800px;padding-left:16px;border-left:2px solid #cddfd2}.bm-empty{padding:24px}.bm-empty h2{padding:0;background:none;border:0}.bm-empty p{margin-top:12px}
.bm-market{background:#fff;border:1px solid var(--bm-border);border-radius:16px;margin-top:24px;overflow:hidden}.bm-market-heading{padding:24px;border-bottom:1px solid var(--bm-border)}.bm-market-heading>p:last-child{color:#596675;font-size:12px;margin-top:8px}.bm-market-rows{padding:0 24px}.bm-market-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--bm-border);overflow-wrap:anywhere}.bm-market-row:last-child{border:0}.bm-market-row a{color:var(--bm-green);font-size:12px;font-weight:600;min-height:32px;display:flex;align-items:center}.bm-market-row small{font-size:10px;color:#596675;text-align:right}.bm-market-row strong{font-size:18px}
.bm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:600px){.bm-products{grid-template-columns:repeat(2,minmax(0,1fr))}.bm-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.bm-why{grid-column:1/-1}.bm-why .bm-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:800px){.bm-layout{grid-template-columns:232px minmax(0,1fr);grid-template-areas:'sidebar heading' 'sidebar results';grid-template-rows:auto 1fr;gap:24px;padding:36px 24px}.bm-sidebar{display:flex}.bm-why .bm-checks{grid-template-columns:1fr}.bm-progress{padding:20px 24px}.bm-progress ol{display:flex;justify-content:space-between;gap:16px}.bm-progress li{flex-direction:row;text-align:left;font-size:12px;gap:12px}.bm-heading>p:not(.bm-eyebrow){font-size:15px}.bm-product-image{height:212px}.bm-market-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.bm-market-row a{justify-self:end}.bm-market-row small{grid-column:1/-1;text-align:left}}
@media(min-width:1280px){.bm-layout{grid-template-columns:252px minmax(0,1fr);gap:32px;padding:40px 32px}.bm-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:359px){.bm-progress li{font-size:9px}.bm-product-body{padding:20px 16px}.bm-personal,.bm-price{padding:12px}.bm-personal dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){.bm-page *{transition:none!important}}
/* Gelijke paneelbreedte, compacte intake en stabiele prijspositie binnen een rij. */
.bm-sidebar>.bm-panel{width:100%;max-width:none;align-self:stretch}
@media(max-width:599px){.bm-situation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.bm-situation dl>div:last-child{border-bottom:1px solid #f0ede8}.bm-advice dl{display:flex;flex-wrap:wrap;gap:0 16px}.bm-advice dl>div{flex:1 1 128px}.bm-advice dd{font-size:16px}.bm-advice dd.bm-capacity{font-size:24px}.bm-calculated:empty{display:none}}
@media(min-width:600px){.bm-calculated{min-height:16px}.bm-badges{min-height:56px;align-content:start}.bm-specs{min-height:108px}.bm-price{min-height:148px}}
@media(min-width:1280px){.bm-products:has(>.bm-product:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.bm-products:has(>.bm-product:only-child){grid-template-columns:minmax(0,1fr);max-width:560px}}
.bm-page .bm-stock{display:block;margin-top:4px;text-align:left;font-size:11px;color:#596675}
.bm-market-summary dl{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.bm-market-summary dd{font-size:24px;color:var(--bm-green)}.bm-market-summary dd small{display:block;font-size:11px;font-weight:400;color:#596675;margin-top:4px}
.bm-price-chart{display:block;width:100%;height:auto;max-height:240px;padding:16px;font:11px Inter,Arial,sans-serif;fill:#596675}
@media(max-width:599px){.bm-price-chart text{font-size:20px}}
/* Laat controledatum/CTA de smalle aanbiederkolom niet samendrukken. */
@media(max-width:799px){.bm-market-row>small,.bm-market-row>a{grid-column:1/-1;text-align:left}.bm-market-row>a{justify-self:start}.bm-market-row .bm-stock{text-align:left}}

/* Rapportscenario’s: bestaande panelen, zonder herberekende modelrendementen. */
.bm-rapport {max-width:1100px;margin:auto;padding:24px;overflow-wrap:anywhere;}
.bm-rapport > .bm-panel {margin:24px 0;}
.bm-rapport-category {margin-top:32px;}
.bm-rapport-scenarios {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;}
.bm-rapport-scenario {min-width:0;padding:20px;}
.bm-rapport-scenario > h3 {font-size:18px;line-height:1.35;margin-bottom:12px;}
.bm-rapport-scenario h4 {margin:12px 0 8px;}
.bm-rapport-scenario .bm-empty ul {padding-left:20px;font-size:12px;line-height:1.6;}
.bm-rapport .bm-situation dl {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;}
.bm-rapport .bm-situation dl > div {min-width:0;}
.bm-rapport-model {border-top:1px solid var(--bm-border,#e8e3da);padding:16px 0;}
.bm-rapport .bm-specs dd {text-align:right;}
.bm-rapport .bm-details ul {padding-left:20px;}
@media(max-width:600px){.bm-rapport{padding:16px;}.bm-rapport .bm-specs div{display:block;}.bm-rapport .bm-specs dd{text-align:left;margin-top:4px;}.bm-rapport-scenarios{gap:16px;}}
