/* DigiBuild – IFC samenvoegen (zelfde huisstijl als de IFC-modelcheck) */
.dbmg{--mg-g:var(--g-b,#243f12);--mg-gold:var(--gold-b,#8d7827);--mg-line:var(--line,#e3e1d6);--mg-muted:var(--muted,#4a5342);--mg-ink:var(--ink,#1a2412);--mg-bg:#f6f5ef;font-family:var(--font,inherit);color:var(--mg-ink);text-align:left;margin:24px 0 40px;position:relative;left:50%;width:min(1040px,100vw - 32px);max-width:none;transform:translateX(-50%)}
.dbmg *{box-sizing:border-box}
.dbmg [hidden]{display:none!important}
.dbmg-loading{color:var(--mg-muted)}
.dbmg-card{background:#fff;border:1px solid var(--mg-line);padding:28px;box-shadow:0 10px 30px rgba(20,30,10,.06)}
.dbmg-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin:0 0 20px}
.dbmg-head h2{margin:0 0 6px;font-size:24px;line-height:1.2;color:var(--mg-g)}
.dbmg-head p{margin:0;max-width:640px;color:var(--mg-muted);font-size:15px;line-height:1.55}
.dbmg-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#eef2e6;color:var(--mg-g);font-size:12.5px;font-weight:600;white-space:nowrap}
.dbmg-chip svg{width:15px;height:15px}
.dbmg-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:200px;padding:28px 20px;border:1.5px dashed var(--mg-gold);background:#fff;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.dbmg-drop:hover,.dbmg-drop:focus-visible,.dbmg-drop.is-over{background:#fbf9f0;border-color:var(--mg-g);outline:0}
.dbmg-drop-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f3efdc;color:var(--mg-gold);margin-bottom:4px}
.dbmg-drop-ic svg{width:22px;height:22px}
.dbmg-drop strong{font-size:17px;color:var(--mg-g)}
.dbmg-drop span{font-size:13.5px;color:var(--mg-muted)}
.dbmg-work{margin-top:18px}
.dbmg-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--mg-line)}
.dbmg-list li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--mg-line)}
.dbmg-list li.is-base{background:linear-gradient(90deg,#f8f6ec,#fff 60%)}
.dbmg-fi{flex:none;display:grid;place-items:center;width:34px;height:34px;background:var(--mg-bg);color:var(--mg-g)}
.dbmg-list li.is-base .dbmg-fi{background:var(--mg-g);color:#fff}
.dbmg-fi svg{width:17px;height:17px}
.dbmg-fn{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dbmg-fn b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbmg-fn small{font-size:12.5px;color:var(--mg-muted)}
.dbmg-ib{flex:none;display:grid;place-items:center;width:32px;height:32px;border:0;background:none;color:var(--mg-muted);cursor:pointer}
.dbmg-ib svg{width:16px;height:16px}
.dbmg-ib:hover:not(:disabled){background:var(--mg-bg);color:var(--mg-g)}
.dbmg-ib:disabled{opacity:.3;cursor:default}
.dbmg-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px}
.dbmg-name{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--mg-muted)}
.dbmg-name input{border:1px solid var(--mg-line);padding:10px 12px;font:inherit;font-size:14.5px;color:var(--mg-ink);background:#fff}
.dbmg-name input:focus{outline:2px solid var(--mg-gold);outline-offset:0}
.dbmg-go{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:0;background:var(--mg-g);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}
.dbmg-go svg{width:18px;height:18px}
.dbmg-go:hover:not(:disabled){background:#2f4a1a;transform:translateY(-1px)}
.dbmg-go:disabled{opacity:.45;cursor:default}
.dbmg-go:focus-visible{outline:2px solid var(--mg-gold);outline-offset:2px}
.dbmg-link{background:none;border:0;padding:12px 4px;font:inherit;font-size:14px;color:var(--mg-g);text-decoration:underline;cursor:pointer}
.dbmg-status{min-height:20px;margin:12px 0 0;font-size:13.5px;color:var(--mg-muted)}
.dbmg.is-busy .dbmg-status::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid var(--mg-line);border-top-color:var(--mg-g);border-radius:50%;vertical-align:-1px;animation:dbmgspin .8s linear infinite}
@keyframes dbmgspin{to{transform:rotate(360deg)}}
.dbmg-out{margin-top:22px;padding-top:22px;border-top:1px solid var(--mg-line)}
.dbmg-res{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin:0 0 16px}
.dbmg-res.is-ok{background:#eef5e8}.dbmg-res.is-warn{background:#fbf3df}.dbmg-res.is-bad{background:#fbe9e6}
.dbmg-res-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff}
.dbmg-res.is-ok .dbmg-res-ic{color:#3f7a2a}.dbmg-res.is-warn .dbmg-res-ic{color:#a5650f}.dbmg-res.is-bad .dbmg-res-ic{color:#a7281f}
.dbmg-res-ic svg{width:18px;height:18px}
.dbmg-res b{display:block;font-size:16px;margin:4px 0 4px}
.dbmg-res p{margin:0;font-size:14px;color:var(--mg-muted);line-height:1.5}
.dbmg-tab{width:100%;border-collapse:collapse;font-size:14px}
.dbmg-tab th{text-align:left;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mg-muted);font-weight:700;padding:8px 6px;border-bottom:1px solid var(--mg-line)}
.dbmg-tab th:last-child,.dbmg-tab td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.dbmg-tab td{padding:9px 6px;border-bottom:1px solid #f0efe8}
.dbmg-tab tr.is-sum td{font-weight:600;background:var(--mg-bg)}
.dbmg-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border-left:3px solid var(--mg-gold);background:var(--mg-bg)}
.dbmg-cta b{display:block;font-size:15px;margin-bottom:2px}
.dbmg-cta span{font-size:13.5px;color:var(--mg-muted)}
.dbmg-cta-btn{flex:none;display:inline-block;padding:10px 16px;background:var(--mg-gold);color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.dbmg-cta-btn:hover{background:#7a6820;color:#fff}
.dbmg-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 0}
.dbmg-how div{padding:16px;border-top:2px solid var(--mg-gold);background:#fff}
.dbmg-how b{display:block;font-size:15px;margin-bottom:4px;color:var(--mg-g)}
.dbmg-how span{font-size:13.5px;line-height:1.5;color:var(--mg-muted)}
.dbmg-note{margin:18px 0 0;font-size:13px;color:var(--mg-muted);line-height:1.55}
.dbmg-note a{color:var(--mg-g)}
@media (max-width:760px){.dbmg-card{padding:18px}.dbmg-head{flex-direction:column}.dbmg-how{grid-template-columns:1fr}.dbmg-drop{min-height:160px}}
@media (prefers-reduced-motion:reduce){.dbmg-go,.dbmg-drop{transition:none}.dbmg.is-busy .dbmg-status::before{animation:none}}

/* 1.1.0 IFC-versie kiezen en omzetten */
.dbmg-ver{flex:none;font-size:12px;font-weight:600;padding:3px 8px;background:var(--mg-bg);color:var(--mg-muted);white-space:nowrap}
.dbmg-ver.is-conv{background:#f3efdc;color:var(--mg-gold)}
.dbmg-schema{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0 0}
.dbmg-schema-l{font-size:13px;font-weight:600;color:var(--mg-ink)}
.dbmg-seg{display:inline-flex;border:1px solid var(--mg-line)}
.dbmg-segb{appearance:none;border:0;background:#fff;color:var(--mg-muted);font:inherit;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer}
.dbmg-segb+.dbmg-segb{border-left:1px solid var(--mg-line)}
.dbmg-segb.is-on{background:var(--mg-g);color:#fff}
.dbmg-segb:disabled{cursor:default;opacity:.7}
.dbmg-segnote{flex-basis:100%;font-size:12.5px;color:var(--mg-muted);line-height:1.5}
.dbmg-segnote.is-bad{color:#a33a1c}
.dbmg-conv{font-size:12px;color:var(--mg-gold);font-weight:600}
.dbmg-convrep{margin:14px 0 0;border:1px solid var(--mg-line);background:#fbfaf5;padding:10px 14px}
.dbmg-convrep summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--mg-g)}
.dbmg-convf{margin-top:10px}
.dbmg-convf b{font-size:13.5px}
.dbmg-convf ul{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.55;color:var(--mg-muted)}
.dbmg-convf li.is-drop{color:#8a4a12}
@media (max-width:600px){.dbmg-list li{flex-wrap:wrap}.dbmg-ver{order:3}}

/* ===== sessie 3 (7-11-2026): gedeelde opmaak gratis tools (vertrouwen, uitleg, stappen, vragen, doorverwijzing) — huisstijl DigiBuild ===== */
.dbt { --dbt-g: #243f12; --dbt-gold: #8d7827; --dbt-gold-l: #ddbe48; --dbt-ink: #1a2412; --dbt-mut: #4a5342; --dbt-line: #e3e1d6; --dbt-paper: #f6f5ef; font-family: inherit; }
.dbt-trust { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.dbt-trust li { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 13px; border: 1px solid var(--dbt-line); border-radius: 999px; background: #fff; font-size: 13px; line-height: 1.2; color: var(--dbt-ink); font-weight: 500; }
.dbt-trust svg { width: 15px; height: 15px; color: var(--dbt-g); flex: 0 0 auto; }
.dbt-sec { margin: 64px 0 0; }
.dbt .dbt-eyebrow { display: block; margin: 0 0 8px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--dbt-gold); font-weight: 600; }
.dbt .dbt-h2 { margin: 0 0 22px; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.15; color: var(--dbt-g); font-weight: 500; letter-spacing: -.01em; }
.dbt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }
.dbt-card { background: #fff; border: 1px solid var(--dbt-line); border-radius: 12px; padding: 16px 18px; }
.dbt .dbt-card b { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 15.5px; line-height: 1.3; color: var(--dbt-ink); font-weight: 600; }
.dbt-ic { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 9px; background: #eef2e6; color: var(--dbt-g); display: grid; place-items: center; }
.dbt-ic svg { width: 16px; height: 16px; }
.dbt .dbt-card p, .dbt .dbt-steps p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--dbt-mut); }
.dbt-steps { list-style: none; counter-reset: dbt; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }
.dbt-steps li { counter-increment: dbt; margin: 0; background: #fff; border: 1px solid var(--dbt-line); border-top: 3px solid var(--dbt-gold); border-radius: 12px; padding: 18px 18px 16px; }
.dbt-steps li::before { content: counter(dbt); display: grid; place-items: center; width: 28px; height: 28px; margin: 0 0 10px; border-radius: 50%; background: var(--dbt-g); color: #fff; font-size: 13px; font-weight: 600; }
.dbt .dbt-steps b { display: block; margin: 0 0 4px; font-size: 15.5px; color: var(--dbt-ink); font-weight: 600; }
.dbt-faq details { margin: 0 0 8px; background: #fff; border: 1px solid var(--dbt-line); border-radius: 10px; }
.dbt-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; font-size: 15.5px; font-weight: 600; color: var(--dbt-ink); }
.dbt-faq summary::-webkit-details-marker { display: none; }
.dbt-faq summary::after { content: "+"; flex: 0 0 auto; color: var(--dbt-gold); font-size: 22px; line-height: 1; font-weight: 400; }
.dbt-faq details[open] summary::after { content: "\2013"; }
.dbt-faq summary:focus-visible { outline: 2px solid var(--dbt-g); outline-offset: 2px; border-radius: 10px; }
.dbt .dbt-faq details p { margin: 0; padding: 0 18px 16px; font-size: 14.5px; line-height: 1.65; color: var(--dbt-mut); }
.dbt-next { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 48px 0 0; padding: 22px 26px; border-radius: 14px; background: var(--dbt-g); color: #fff; text-decoration: none; transition: background .15s; }
.dbt-next:hover { background: #1b300e; color: #fff; }
.dbt-next:focus-visible { outline: 2px solid var(--dbt-gold-l); outline-offset: 3px; }
.dbt-next small { display: block; margin: 0 0 4px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--dbt-gold-l); font-weight: 600; }
.dbt-next strong { display: block; font-size: 20px; font-weight: 500; color: #fff; }
.dbt-next span.dbt-sub { display: block; margin-top: 2px; font-size: 14px; color: #d9dfd2; }
.dbt-next .dbt-arr { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); display: grid; place-items: center; }
.dbt-next .dbt-arr svg { width: 18px; height: 18px; }
@media (max-width: 640px) { .dbt-sec { margin-top: 44px; } .dbt-next { padding: 18px; } .dbt-next strong { font-size: 17px; } }

/* ===== sessie 3 (1.2.0): toelichting onder de tool leesbaar ===== */
.dbmg .dbmg-note { font-size: 14.5px; line-height: 1.6; color: #4a5342; }

/* sessie 3: uitleg onder de tool even breed als de tool; vertrouwensregel zonder inspringing */
.dbt .dbt-trust { padding-left: 0; margin: 6px 0 24px; }
.dbmg ~ .dbt { position: relative; left: 50%; transform: translateX(-50%); width: min(1040px, calc(100vw - 40px)); }

/* sessie 3: stappen zonder inspringing, kaarten in drie kolommen */
.dbt ol.dbt-steps, .dbt ul.dbt-trust { padding-left: 0; margin-left: 0; }
.dbt .dbt-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
