@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
#gswCfg{--gsw-p:#4897D8;--gsw-ac:#F855A4}
.gsw-cfg{max-width:820px;scroll-margin-top:100px}
.gsw-progress{display:flex;align-items:center;margin-bottom:36px}
.gsw-step{display:flex;align-items:center;gap:8px;flex:1}
.gsw-step-nr{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;background:#eee;color:#aaa;transition:all .3s}
.gsw-step-nr.active{background:var(--gsw-p);color:#fff;box-shadow:0 0 0 4px rgba(72,151,216,.18)}
.gsw-step-nr.done{background:var(--gsw-ac);color:#fff}
.gsw-step-label{font-size:13px;font-weight:500;color:#aaa;white-space:nowrap;transition:color .3s}
.gsw-step-label.active{color:#1a1a1a;font-weight:700}
.gsw-step-line{flex:1;height:2px;background:#eee;margin:0 6px;min-width:12px;transition:background .4s}
.gsw-step-line.done{background:var(--gsw-ac)}
.gsw-panel{display:none;animation:gswFadeIn .3s ease}
.gsw-panel.active{display:block}
@keyframes gswFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.gsw-question{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:6px;line-height:1.2}
.gsw-sub{font-size:14px;color:#888;margin-bottom:28px;line-height:1.6}
.gsw-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.gsw-tile{border:1.5px solid #e5e5e5;border-radius:12px;padding:18px 16px 16px;cursor:pointer;transition:all .2s;background:#fff;text-align:left;position:relative;overflow:hidden;user-select:none}
.gsw-tile:hover{border-color:var(--gsw-p);background:#f5faff}
.gsw-tile.on{border-color:var(--gsw-p);background:#EBF5FB}
.gsw-tile-check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:#e5e5e5;display:flex;align-items:center;justify-content:center;transition:all .2s}
.gsw-tile.on .gsw-tile-check{background:var(--gsw-p)}
.gsw-tile-check svg{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s}
.gsw-tile.on .gsw-tile-check svg{opacity:1}
.gsw-tile-icon{font-size:26px;margin-bottom:10px;display:block;line-height:1}
.gsw-tile-name{font-size:15px;font-weight:700;color:#1a1a1a;margin-bottom:3px}
.gsw-tile-hint{font-size:12px;color:#999;line-height:1.5}
.gsw-radio-section{margin-bottom:22px}
.gsw-radio-label{font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:10px}
.gsw-req{color:var(--gsw-ac)}
.gsw-radio-group{display:flex;flex-wrap:wrap;gap:9px}
.gsw-radio{border:1.5px solid #e5e5e5;border-radius:8px;padding:10px 18px;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s;user-select:none;background:#fff}
.gsw-radio:hover{border-color:var(--gsw-p);color:var(--gsw-p)}
.gsw-radio.on{background:var(--gsw-p);border-color:var(--gsw-p);color:#fff}
.gsw-opp-wrap{background:#f5faff;border:1.5px solid #d9edf8;border-radius:12px;padding:22px;margin-bottom:6px}
.gsw-opp-label{font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:12px}
.gsw-opp-opt{color:#aaa;font-weight:400;font-size:13px}
.gsw-opp-tabs{display:flex;gap:8px;margin-bottom:16px}
.gsw-opp-tab{background:#fff;border:1.5px solid #d0dce8;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;color:#888;cursor:pointer;transition:all .2s;font-family:inherit}
.gsw-opp-tab.active{background:var(--gsw-p);border-color:var(--gsw-p);color:#fff}
.gsw-opp-rij{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gsw-opp-input{width:90px;border:1.5px solid #dde8f4;border-radius:8px;padding:10px 12px;font-size:16px;color:#1a1a1a;background:#fff;transition:border .2s;-moz-appearance:textfield;font-family:inherit}
.gsw-opp-input::-webkit-outer-spin-button,.gsw-opp-input::-webkit-inner-spin-button{-webkit-appearance:none}
.gsw-opp-input:focus{outline:none;border-color:var(--gsw-p)}
.gsw-opp-unit{font-size:14px;color:#888}
.gsw-opp-x{font-size:18px;color:#ccc}
.gsw-opp-result{background:var(--gsw-p);color:#fff;border-radius:8px;padding:10px 18px;font-size:16px;font-weight:700}
.gsw-samenvatting{background:#f5faff;border:1.5px solid #d9edf8;border-radius:12px;padding:18px 20px;margin-bottom:24px}
.gsw-sam-kop{font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px}
.gsw-sam-rij{display:flex;gap:8px;margin-bottom:8px;font-size:14px}
.gsw-sam-key{color:#888;font-weight:500;min-width:120px;flex-shrink:0}
.gsw-sam-val{color:#1a1a1a;font-weight:500}
.gsw-sam-tag{background:#EBF5FB;color:#185FA5;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;display:inline-block;margin:2px 3px 2px 0}
.gsw-form-label{font-size:13px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px}
.gsw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.gsw-field{display:flex;flex-direction:column;gap:6px}
.gsw-field label{font-size:13px;font-weight:700;color:#1a1a1a}
.gsw-full{grid-column:span 2}
.gsw-input{border:1.5px solid #d0dce8;border-radius:8px;padding:11px 14px;font-size:15px;color:#1a1a1a;background:#f8fbff;transition:border .2s,background .2s;width:100%;box-sizing:border-box;font-family:inherit}
.gsw-input::placeholder{color:#b0bec5;font-size:14px}
.gsw-input:focus{outline:none;border-color:var(--gsw-p);background:#fff}
.gsw-input.err{border-color:var(--gsw-ac);background:#fff0f5}
.gsw-textarea{resize:vertical;min-height:88px}
.gsw-adres-box{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f5faff;border:1.5px solid #d9edf8;border-radius:8px;padding:12px 14px;margin-top:6px}
.gsw-adres-label{font-size:11px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}
.gsw-adres-val{font-size:14px;font-weight:700;color:#1a1a1a}
.gsw-nav{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.gsw-btn-next,.gsw-btn-send{background:var(--gsw-p);color:#fff !important;border:none;padding:13px 28px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:8px;font-family:inherit;text-decoration:none !important}
.gsw-btn-next:hover:not(:disabled),.gsw-btn-send:hover{opacity:.88}
.gsw-btn-next:disabled{opacity:.4;cursor:not-allowed}
.gsw-btn-next svg,.gsw-btn-send svg,.gsw-btn-back svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.gsw-btn-back{background:none;border:1.5px solid #e5e5e5;color:#888;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.gsw-btn-back:hover{border-color:var(--gsw-p);color:var(--gsw-p)}
.gsw-fout{background:#fff0f5;border:1.5px solid var(--gsw-ac);border-radius:8px;padding:12px 16px;font-size:13px;color:#c0306a;margin-bottom:16px}
.gsw-loader{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#888}
.gsw-spinner{width:18px;height:18px;border:2px solid #e5e5e5;border-top-color:var(--gsw-p);border-radius:50%;animation:gswSpin .7s linear infinite}
@keyframes gswSpin{to{transform:rotate(360deg)}}
.gsw-succes{text-align:center;padding:48px 24px}
.gsw-succes-icon{width:64px;height:64px;background:#EBF5FB;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.gsw-succes-icon svg{width:32px;height:32px;fill:none;stroke:var(--gsw-p);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gsw-succes h3{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:10px}
.gsw-succes p{font-size:15px;color:#666;line-height:1.7;max-width:440px;margin:0 auto 24px}
.gsw-succes-badge{display:inline-block;background:#EBF5FB;color:var(--gsw-p);font-size:13px;font-weight:700;padding:6px 18px;border-radius:20px}
.gsw-reset{background:none;border:none;font-size:13px;color:#aaa;cursor:pointer;text-decoration:underline;font-family:inherit;margin-top:16px}
@media(max-width:640px){.gsw-tile-grid{grid-template-columns:1fr 1fr}.gsw-form-grid{grid-template-columns:1fr}.gsw-full{grid-column:span 1}.gsw-step-label{display:none}.gsw-question{font-size:20px}}
@media(max-width:380px){.gsw-tile-grid{grid-template-columns:1fr}}
