/* Novatu Site Kit — stijlen calculator + voor/na (namespace nsk-, huisstijl via variabelen met fallback) */
.nsk-calc{--nsk-primary:#D05C2E;--nsk-primary-dark:#b24a22;--nsk-ink:#111827;--nsk-text:#374151;--nsk-muted:#5b6472;--nsk-line:#E9E0CF;--nsk-light:#F3ECDF;--nsk-radius:16px;
  font-family:inherit;color:var(--nsk-text);line-height:1.6}
.nsk-calc *{box-sizing:border-box}
.nsk-calc-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
@media(max-width:840px){.nsk-calc-grid{grid-template-columns:1fr}}
.nsk-card{background:#fff;border:1px solid var(--nsk-line);border-radius:var(--nsk-radius);padding:30px;box-shadow:0 4px 14px rgba(17,24,39,.07)}
.nsk-step{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--nsk-primary);margin:0 0 12px}
.nsk-step-2{margin-top:30px}
.nsk-types{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:560px){.nsk-types{grid-template-columns:repeat(2,1fr);gap:8px}.nsk-type{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 12px!important;font-size:.88rem;line-height:1.2!important}}
.nsk-type{display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1.5px solid var(--nsk-line);border-radius:10px;padding:13px 14px;cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;color:var(--nsk-ink);transition:.15s;width:100%}
.nsk-type:hover{border-color:var(--nsk-primary)}
.nsk-type.is-active{border-color:var(--nsk-primary);background:#fef3ec;box-shadow:inset 0 0 0 1px var(--nsk-primary)}
.nsk-type .nsk-e{display:inline-flex;width:34px;height:34px;border-radius:9px;background:#FEF3EC;color:var(--nsk-primary);align-items:center;justify-content:center;flex:0 0 auto}
.nsk-type .nsk-e svg{width:20px;height:20px}
.nsk-btn-ic{display:inline-flex;width:18px;height:18px}
.nsk-btn-ic svg{width:18px;height:18px}
.nsk-ctrl{margin-top:24px}
.nsk-ctrl[hidden]{display:none}
.nsk-lbl{display:block;font-weight:700;color:var(--nsk-ink);margin-bottom:10px;font-size:.98rem}
.nsk-opts{display:flex;flex-wrap:wrap;gap:8px}
.nsk-opts-col{flex-direction:column}
.nsk-opt{flex:1;min-width:120px;border:1.5px solid var(--nsk-line);border-radius:10px;padding:12px;text-align:center;cursor:pointer;font:inherit;font-weight:600;font-size:.9rem;color:var(--nsk-ink);background:#fff;transition:.15s}
.nsk-opt-left{text-align:left}
.nsk-opt small{display:block;font-weight:500;color:var(--nsk-muted);font-size:.76rem;margin-top:3px}
.nsk-opt:hover{border-color:var(--nsk-primary)}
.nsk-opt.is-active{border-color:var(--nsk-primary);background:#fef3ec}
.nsk-m2row{display:flex;align-items:center;gap:14px;margin-top:6px}
.nsk-m2row input[type=range]{flex:1;accent-color:var(--nsk-primary)}
.nsk-m2val{display:flex;align-items:baseline;gap:4px;font-weight:800;color:var(--nsk-ink);font-size:1.5rem;min-width:96px}
.nsk-m2val span:last-child{font-size:.9rem;color:var(--nsk-muted);font-weight:600}
.nsk-hint{font-size:.82rem;color:var(--nsk-muted);margin:8px 0 0}
.nsk-disclaimer{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:10px;padding:14px 16px;font-size:.84rem;margin-top:22px}
.nsk-result{position:sticky;top:90px;background:#fff;color:#111827;border:1px solid #E9E0CF;border-radius:16px;padding:30px;box-shadow:0 20px 50px -24px rgba(17,24,39,.25)}
.nsk-rlabel{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nsk-primary);margin:0}
.nsk-rtitle{color:#111827;font-size:1.05rem;margin:4px 0 18px;font-weight:700}
.nsk-empty{color:#6b7280;font-size:.95rem}
.nsk-price{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:900;color:#111827;line-height:1.1;letter-spacing:-.02em}
.nsk-sep{color:var(--nsk-primary);margin:0 6px}
.nsk-price-sub{color:#6b7280;font-size:.86rem;margin-top:8px}
.nsk-rbreak{margin:20px 0;padding:16px;background:#F3ECDF;border-radius:12px;font-size:.85rem;color:#374151}
.nsk-rbreak b{color:#111827}
.nsk-mt{margin-top:8px}
.nsk-premie{font-size:.82rem;color:#15803d;font-weight:600;margin-top:10px}
.nsk-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-weight:700;font-size:1rem;padding:15px 24px;border-radius:10px;text-decoration:none;transition:.18s;margin-top:10px;line-height:1.2}
.nsk-btn-primary{background:linear-gradient(180deg,#d96733,var(--nsk-primary));color:#fff!important;box-shadow:0 6px 16px -4px rgba(208,92,46,.5)}
.nsk-btn-primary:hover{background:linear-gradient(180deg,#cf5f2b,var(--nsk-primary-dark));transform:translateY(-2px)}
.nsk-btn-ghost{background:#fff;color:#111827!important;border:1px solid #E9E0CF}
.nsk-btn-ghost:hover{background:#F3ECDF;border-color:#DCD2BE}
.nsk-small{text-align:center;font-size:.78rem;color:#9ca3af;margin:12px 0 0}

/* Voor/na-slider */
.nsk-ba{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -18px rgba(17,24,39,.22);background:#111827;user-select:none}
.nsk-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.nsk-ba-before{position:absolute;top:0;bottom:0;left:0;width:50%;overflow:hidden}
.nsk-ba-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);transform:translateX(-1px);pointer-events:none}
.nsk-ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#D05C2E;color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 8px 20px -6px rgba(0,0,0,.5)}
.nsk-ba-label{position:absolute;top:14px;background:rgba(17,24,39,.75);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:20px;pointer-events:none}
.nsk-ba-l1{left:14px}.nsk-ba-l2{right:14px}
.nsk-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.nsk-ba-cap{text-align:center;color:#6b7280;font-size:.86rem;margin-top:12px}

/* v1.1.4 — theme-overrides (Astra/Elementor zetten witte tekst + eigen achtergrond op <button>) */
.nsk-calc button.nsk-type,.nsk-calc button.nsk-type:hover,.nsk-calc button.nsk-type:focus,.nsk-calc button.nsk-type.is-active,
.nsk-calc button.nsk-opt,.nsk-calc button.nsk-opt:hover,.nsk-calc button.nsk-opt:focus,.nsk-calc button.nsk-opt.is-active{color:var(--nsk-ink)!important;text-transform:none!important;letter-spacing:0!important;line-height:1.35!important;box-shadow:none!important;outline:none}
.nsk-calc button.nsk-type,.nsk-calc button.nsk-type:hover,.nsk-calc button.nsk-type:focus,.nsk-calc button.nsk-opt,.nsk-calc button.nsk-opt:hover,.nsk-calc button.nsk-opt:focus{background:#fff!important;border-color:var(--nsk-line)!important}
.nsk-calc button.nsk-type:hover,.nsk-calc button.nsk-type:focus-visible,.nsk-calc button.nsk-opt:hover,.nsk-calc button.nsk-opt:focus-visible{border-color:var(--nsk-primary)!important}
.nsk-calc button.nsk-type.is-active,.nsk-calc button.nsk-type.is-active:hover,.nsk-calc button.nsk-type.is-active:focus,
.nsk-calc button.nsk-opt.is-active,.nsk-calc button.nsk-opt.is-active:hover,.nsk-calc button.nsk-opt.is-active:focus{background:#fef3ec!important;border-color:var(--nsk-primary)!important;box-shadow:inset 0 0 0 1px var(--nsk-primary)!important}
.nsk-calc button.nsk-opt small{color:var(--nsk-muted)!important;text-transform:none;letter-spacing:0}

/* v1.3.0 — mobiel: sticky resultaatbalk zodra een projecttype gekozen is (resultaatkaart staat op mobiel ver onder de keuzes) */
.nsk-sticky{position:fixed;left:0;right:0;bottom:0;z-index:999990;background:#111827;color:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -10px 30px rgba(17,24,39,.28)}
.nsk-sticky.is-on{display:flex}
@media(min-width:841px){.nsk-sticky.is-on{display:none}}
.nsk-sticky-txt{min-width:0}
.nsk-sticky-lbl{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#f0a884;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nsk-sticky-price{display:block;font-weight:900;font-size:1.12rem;white-space:nowrap;letter-spacing:-.01em}
.nsk-sticky-btn,.nsk-sticky-btn:hover{flex:0 0 auto;background:linear-gradient(180deg,#d96733,#D05C2E);color:#fff!important;font-weight:700;padding:12px 14px;border-radius:10px;text-decoration:none;font-size:.9rem;white-space:nowrap;line-height:1.1}
@media(max-width:840px){body.nsk-sticky-on .qlwapp__container{bottom:78px!important}body.nsk-sticky-on{padding-bottom:84px}}

/* v1.5.0 — resultaatkaart licht (design huidige site), knoppen radius 12 */
.nsk-btn{border-radius:12px}
.nsk-card{border-radius:16px;border-color:#E9E0CF;box-shadow:0 4px 14px rgba(17,24,39,.06),0 1px 3px rgba(17,24,39,.05)}
.nsk-type,.nsk-opt{border-radius:12px}

/* v1.5.3 — contrast: stap-labels en resultaatlabel donkerder terracotta (AA op wit) */
.nsk-step,.nsk-rlabel,.nsk-calc .nsk-step{color:#b24a22}
.nsk-empty,.nsk-price-sub,.nsk-hint,.nsk-opt small,.nsk-calc button.nsk-opt small{color:#5b6472!important}

/* v1.6.6 — mobiel: raster mag niet breder worden dan de kolom (lange tegelwoorden), compacte kaarten */
.nsk-calc-grid > *{min-width:0}
.nsk-types{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.nsk-type{min-width:0;overflow-wrap:anywhere}
.nsk-opt{min-width:0;flex:1 1 96px}
@media(max-width:560px){.nsk-types{grid-template-columns:repeat(2,minmax(0,1fr))}.nsk-card{padding:20px 16px}.nsk-result{padding:22px 16px}.nsk-type{font-size:.84rem}}
/* v1.8.0 — projecttegels: icoon boven label, geen afgebroken woorden (hyphens:auto werkt met lang="nl-BE") */
.nsk-types{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important;gap:10px}
.nsk-type{flex-direction:column;align-items:flex-start;gap:8px;overflow-wrap:normal!important;word-break:normal;hyphens:auto;-webkit-hyphens:auto;line-height:1.25;padding:13px 14px!important}
@media(max-width:560px){.nsk-types{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
