.configurator{min-height:100dvh;color:var(--text);font-family:var(--font-body,ui-sans-serif, system-ui, sans-serif)}.configurator .cfg-display{font-family:var(--font-display,var(--font-body,ui-sans-serif, system-ui, sans-serif))}.configurator .cfg-card{background-color:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:0 1px 1px #0b2e220f,0 4px 10px -2px #0b2e221a,0 24px 48px -20px #0b2e2259}.configurator .cfg-input{background-color:var(--input-bg,var(--surface));border:1px solid var(--input-border,var(--border));width:100%;color:var(--text);border-radius:.75rem;padding:.7rem .9rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.configurator .cfg-input::placeholder{color:var(--text-subtle)}.configurator .cfg-input:hover:not(:disabled){border-color:var(--border-strong)}.configurator .cfg-input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.configurator .cfg-input:disabled{opacity:.5;cursor:not-allowed}.configurator .ui-keuze-knop,.configurator .ui-keuze-natief{background-color:var(--input-bg,var(--surface));border-color:var(--input-border,var(--border));height:auto;color:var(--text);border-radius:.75rem;padding:.7rem .9rem;font-size:.95rem;line-height:1.5}.configurator .ui-keuze-natief{background-position:right .85rem center;padding-right:2.4rem}.configurator .ui-keuze-knop:hover:not(:disabled):not(:focus),.configurator .ui-keuze-natief:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.configurator .ui-keuze-knop:focus-visible,.configurator .ui-keuze-knop[aria-expanded=true],.configurator .ui-keuze-natief:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.configurator .ui-keuze-knop:disabled,.configurator .ui-keuze-natief:disabled{cursor:not-allowed}.configurator .ui-keuze-knop[data-leeg=true] .ui-keuze-tekst{color:var(--text-subtle)}.configurator .ui-keuze-lijst{border-radius:.75rem}.configurator .cfg-tile{text-align:left;border:2px solid var(--border);background-color:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:.85rem;padding:1rem;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:block;position:relative}.configurator .cfg-tile:hover:not(.is-actief){border-color:color-mix(in oklch, var(--primary) 50%, transparent);transform:translateY(-1px);box-shadow:0 6px 16px -8px #0b2e224d}.configurator .cfg-tile.is-actief{border-color:var(--primary);background-color:var(--primary);color:var(--primary-fg)}.configurator .cfg-tile:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.configurator .cfg-tile .cfg-tile-sub{color:var(--text-muted)}.configurator .cfg-tile.is-actief .cfg-tile-sub{color:color-mix(in oklch, var(--primary-fg) 80%, transparent)}.configurator .cfg-badge{background-color:var(--primary-soft);color:var(--primary-active);border:1px solid color-mix(in oklch, var(--primary) 25%, transparent);border-radius:999px;padding:.1rem .6rem;font-size:.7rem;font-weight:700;position:absolute;top:-.7rem;right:.9rem}.configurator .cfg-btn-primary{background-color:var(--primary);color:var(--primary-fg);border-radius:.7rem;padding:.7rem 1.3rem;font-weight:600;transition:background-color .15s,transform 50ms;box-shadow:0 6px 16px -6px #0b2e2280}.configurator .cfg-btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.configurator .cfg-btn-primary:active:not(:disabled){transform:translateY(1px)}.configurator .cfg-btn-primary:disabled{opacity:.6;cursor:not-allowed}.configurator .cfg-btn-wacht{background-color:var(--surface-2);color:var(--text-subtle);border:1px solid var(--border);cursor:not-allowed}.configurator .cfg-korting{background-color:var(--primary-soft);color:var(--primary-active)}.configurator .cfg-tile.is-actief .cfg-korting{background-color:color-mix(in oklch, var(--primary-fg) 22%, transparent);color:var(--primary-fg)}.configurator .cfg-btn-ghost{color:var(--text-muted);border:1px solid var(--border);background-color:#0000;border-radius:.7rem;padding:.7rem 1.3rem;font-weight:500;transition:color .15s,border-color .15s}.configurator .cfg-btn-ghost:hover{color:var(--text);border-color:var(--border-strong)}.configurator .cfg-focus:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:.5rem;outline:none}.configurator .cfg-note-ok{background-color:var(--primary-soft);border:1px solid color-mix(in oklch, var(--primary) 25%, transparent);color:color-mix(in oklch, var(--text) 78%, var(--primary))}.configurator .cfg-note-info{background-color:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.configurator .cfg-note-warn{color:#7a5406;background-color:#b4780a17;border:1px solid #b4780a4d}.configurator .cfg-error{background-color:var(--danger-bg);border:1px solid color-mix(in oklch, var(--danger) 40%, transparent);color:var(--danger)}@keyframes cfg-intro-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.configurator .cfg-intro-logo{animation:.6s cubic-bezier(.2,0,.2,1) both cfg-intro-in}@keyframes cfg-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.configurator .cfg-rise{animation:.52s cubic-bezier(.2,0,.2,1) both cfg-rise;animation-delay:calc(var(--i,0) * 90ms)}@media (prefers-reduced-motion:reduce){.configurator .cfg-intro-logo,.configurator .cfg-rise{animation:none}.configurator .cfg-tile:hover:not(.is-actief){transform:none}}.configurator .cfg-balk{z-index:20;background-color:var(--surface);border-top:1px solid var(--border);padding:.7rem 1.25rem calc(.7rem + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px -14px #0b2e2266}@media (max-width:1023.98px){html:has(.configurator){scroll-padding-bottom:7rem}.configurator input[type=checkbox]{width:1.3rem;height:1.3rem;accent-color:var(--primary);flex-shrink:0}.configurator input[type=file]{width:0;min-width:100%}}@media (max-width:639.98px){.configurator .cfg-input,.configurator .ui-keuze-knop,.configurator .ui-keuze-natief{min-height:44px;font-size:16px}.configurator input[type=file]{font-size:16px}.configurator input[type=file]::file-selector-button{padding:.6rem .9rem}}
