.cfg{max-width:1180px;margin-inline:auto}
.cfg-tabs{display:flex;justify-content:center;gap:10px;margin:0 auto 22px}
.cfg-tab{border:1.5px solid var(--neutraal);background:#fff;color:var(--ink);border-radius:999px;padding:10px 22px;font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.cfg-tab.actief{background:var(--ink);border-color:var(--ink);color:#fff}
.cfg-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:26px;align-items:start}

.cfg-beeld{position:relative;aspect-ratio:4/3;border-radius:var(--r-kaart);overflow:hidden;
  background:radial-gradient(120% 90% at 50% 20%,#fff 0%,var(--bg) 55%,var(--tint) 100%);box-shadow:var(--schaduw);position:sticky;top:calc(var(--header-h) + 14px)}
.cfg-beeld canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.cfg-beeld canvas:active{cursor:grabbing}
.cfg-laden{position:absolute;inset:0;display:grid;place-items:center;color:var(--petrol);font-weight:600;font-size:15px}
.cfg-klaar .cfg-laden{display:none}
.cfg-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(255,255,255,.88);color:var(--ink);
  font-size:13px;padding:7px 14px;border-radius:999px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px -6px rgba(0,0,0,.25)}
.cfg-bediend .cfg-hint{opacity:0;transition:opacity .85s var(--ease)}
.cfg-geen-3d canvas,.cfg-geen-3d .cfg-hint,.cfg-geen-3d .cfg-laden{display:none}
.cfg-geen-3d .cfg-fallback{display:grid}
.cfg-fallback{display:none;position:absolute;inset:0;place-items:center;text-align:center;padding:24px;color:var(--ink)}

.cfg-paneel{background:#fff;border-radius:var(--r-kaart);box-shadow:var(--schaduw);padding:24px 22px;text-align:center}
.cfg-groep{padding:14px 0;border-bottom:1px solid var(--tint)}
.cfg-groep:first-child{padding-top:0}
.cfg-groep h3{font-size:15px;color:var(--ink);margin:0 0 10px;letter-spacing:.01em}
.cfg-groep h3 output{font-weight:600;color:var(--petrol);margin-left:6px}
.cfg-keuzes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cfg-keuze{border:1.5px solid var(--tint);background:var(--bg);color:var(--ink);border-radius:10px;padding:9px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;
  transition:border-color .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.cfg-keuze:hover{border-color:var(--accent-donker)}
.cfg-keuze.actief{border-color:var(--ink);background:var(--ink);color:#fff}
.cfg-keuze:disabled{opacity:.45;cursor:not-allowed}
.cfg-poten{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cfg-poot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12.5px}
.cfg-poot svg{width:34px;height:34px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cfg-afw{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cfg-staal{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:4px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer}
.cfg-staal i{display:block;width:46px;height:46px;border-radius:50%;background-size:260% auto;background-position:40% 50%;
  box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--tint);transition:box-shadow .35s var(--ease)}
.cfg-staal.actief i{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.cfg-staal.actief{font-weight:700}
.cfg-bereik{width:100%;accent-color:var(--accent)}
.cfg-schaal{display:flex;justify-content:space-between;font-size:12px;color:var(--neutraal);margin-top:2px}

.cfg-resultaat{padding-top:16px}
.cfg-samenvatting{font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.45}
.cfg-prijs{margin:10px 0 16px}
.cfg-prijs b{display:block;font-size:19px;color:var(--ink)}
.cfg-prijs span{display:block;font-size:12.5px;color:var(--petrol);margin-top:4px;line-height:1.45}
.cfg-cta{display:inline-flex;justify-content:center}
.cfg-voetnoot{font-size:12.5px;color:var(--neutraal);margin:18px auto 0;max-width:720px;text-align:center;line-height:1.5}

@media (max-width:900px){
  .cfg-grid{grid-template-columns:1fr;gap:16px}
  .cfg-beeld{aspect-ratio:auto;height:46vh;min-height:280px;top:calc(var(--header-h) + 6px);z-index:5}
  .cfg-paneel{padding:20px 14px 90px}
  .cfg-hint{font-size:12px;padding:6px 12px;bottom:8px}
}
@media (max-width:420px){
  .cfg-poten{grid-template-columns:repeat(4,1fr);gap:6px}
  .cfg-poot{font-size:11.5px;padding:7px 2px}
  .cfg-tab{padding:9px 16px;font-size:14px}
}

/* productkiezer */
.cfg-producten{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 auto 22px;max-width:1180px}
.cfg-product{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;border:1.5px solid var(--tint);background:#fff;border-radius:14px;
  font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1.2;text-align:center;
  transition:border-color .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.cfg-product svg{width:34px;height:34px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cfg-product:hover{border-color:var(--accent-donker)}
.cfg-product.actief{background:var(--ink);border-color:var(--ink);color:#fff}
.cfg-uitleg{font-size:12.5px;color:var(--petrol);margin:8px auto 0;max-width:320px;line-height:1.45}
.cfg-poten-3{grid-template-columns:repeat(3,1fr)}
.cfg-restauratie p{font-size:14.5px;line-height:1.55;color:var(--ink);margin:0}
.cfg-foto{background:url('../img/project-4.webp') center/cover}
.cfg-foto canvas,.cfg-foto .cfg-hint{visibility:hidden}
@media (max-width:900px){
  .cfg-producten{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding:2px 2px 8px;margin-bottom:14px;-webkit-overflow-scrolling:touch}
  .cfg-product{flex:0 0 92px;scroll-snap-align:start}
}
.cfg-alt{text-align:center;margin:22px auto 0;font-size:15px;color:var(--ink)}
.cfg-alt a{color:var(--petrol);font-weight:600;text-decoration:underline;text-underline-offset:3px}
