/* SP Angebot Abfrage Tool v2.0.0 – Frontend CSS */
:root{
  --sp-primary:#73b166;--sp-primary-h:#5a9451;--sp-primary-t:#fff;
  --sp-primary-l:rgba(115,177,102,.13);
  --sp-btn-back-bg:#f3f4f6;--sp-btn-back-t:#374151;
  --sp-modal-bg:#fff;--sp-overlay:rgba(10,10,20,.60);
  --sp-text:#1a1a2e;--sp-muted:#6b7280;--sp-border:#e5e7eb;
  --sp-input-bg:#fff;--sp-input-focus:#73b166;
  --sp-error:#dc2626;--sp-success:#73b166;
  --sp-fs:14px;--sp-fs-title:20px;
  --sp-radius:8px;--sp-modal-r:16px;--sp-btn-r:8px;
  --sp-modal-w:680px;--sp-pad:28px;--sp-prog-h:4px;
  --sp-close-bg:#f3f4f6;--sp-close-c:#6b7280;
  --sp-close-hbg:#fee2e2;--sp-close-hc:#dc2626;
}
body.spaa-locked{overflow:hidden!important}
.spaa-btn-trigger{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;background:var(--sp-primary);color:var(--sp-primary-t)!important;border:none;border-radius:var(--sp-btn-r);font-size:var(--sp-fs);font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none!important;transition:background .2s,transform .15s,box-shadow .2s;line-height:1.4}
.spaa-btn-trigger:hover{background:var(--sp-primary-h);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15);color:var(--sp-primary-t)!important}
.spaa-overlay{position:fixed;inset:0;background:var(--sp-overlay);z-index:999990;display:flex;align-items:center;justify-content:center;padding:16px}
.spaa-overlay.is-open{animation:spaaFadeIn .2s ease}
@keyframes spaaFadeIn{from{opacity:0}to{opacity:1}}
.spaa-modal{position:relative;background:var(--sp-modal-bg);border-radius:var(--sp-modal-r);box-shadow:0 24px 64px rgba(0,0,0,.22),0 4px 16px rgba(0,0,0,.08);width:100%;max-width:var(--sp-modal-w);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:spaaUp .26s cubic-bezier(.34,1.3,.64,1)}
@keyframes spaaUp{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.spaa-close{position:absolute;top:14px;right:14px;z-index:5;width:34px;height:34px;border:none;border-radius:50%;background:var(--sp-close-bg);color:var(--sp-close-c);font-size:18px;cursor:pointer;transition:background .15s,color .15s,transform .1s;padding:0;display:flex;align-items:center;justify-content:center}
.spaa-close:hover{background:var(--sp-close-hbg);color:var(--sp-close-hc);transform:scale(1.1)}
.spaa-hero{width:100%;flex-shrink:0;background:center/cover no-repeat;position:relative;overflow:hidden}
.spaa-hero-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.55),rgba(0,0,0,.22));display:flex;flex-direction:column;justify-content:flex-end;padding:20px var(--sp-pad)}
.spaa-hero-title{margin:0 0 4px!important;font-size:22px!important;font-weight:800!important;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.spaa-hero-sub{margin:0!important;font-size:13px;color:rgba(255,255,255,.88)}
.spaa-header{padding:22px var(--sp-pad) 0;flex-shrink:0}
.spaa-modal-title{margin:0 40px 4px 0!important;font-size:var(--sp-fs-title)!important;font-weight:700!important;color:var(--sp-text)!important;line-height:1.3!important}
.spaa-intro{margin:0 0 12px!important;font-size:13px;color:var(--sp-muted);line-height:1.5}
.spaa-bc{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:12px 0 14px;padding:0;list-style:none}
.spaa-bc-item{display:flex;align-items:center;font-size:11.5px;font-weight:600;color:var(--sp-muted);white-space:nowrap}
.spaa-bc-item+.spaa-bc-item::before{content:'›';margin:0 5px;color:var(--sp-border);font-size:14px;font-weight:400}
.spaa-bc-item.done{color:var(--sp-primary);cursor:pointer}
.spaa-bc-item.active{color:var(--sp-text)}
.spaa-bc-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--sp-border);color:#fff;font-size:10px;font-weight:700;margin-right:5px;flex-shrink:0;transition:background .2s}
.spaa-bc-item.done .spaa-bc-dot,.spaa-bc-item.active .spaa-bc-dot{background:var(--sp-primary)}
.spaa-prog{height:var(--sp-prog-h);background:var(--sp-border);border-radius:99px;overflow:hidden}
.spaa-prog-fill{height:100%;background:var(--sp-primary);border-radius:99px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.spaa-body{padding:20px var(--sp-pad);overflow-y:auto;flex:1}
.spaa-step{display:none}
.spaa-step.active{display:block;animation:spaaIn .22s ease}
.spaa-step.back{animation:spaaBack .22s ease}
@keyframes spaaIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@keyframes spaaBack{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}
.spaa-step-title{margin:0 0 18px!important;font-size:16px!important;font-weight:700!important;color:var(--sp-text)!important}
.spaa-section-block{margin:18px 0 12px;padding-top:14px;border-top:1px solid var(--sp-border)}
.spaa-section-block h4{margin:0;font-size:12px;font-weight:700;color:var(--sp-muted);text-transform:uppercase;letter-spacing:.06em}
.spaa-field{margin-bottom:16px}
.spaa-field:last-child{margin-bottom:0}
.spaa-lrow{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.spaa-label{font-weight:600;font-size:13px;color:var(--sp-text);line-height:1.4}
.spaa-req{color:var(--sp-primary);margin-left:2px}
.spaa-fdesc{font-size:12px;color:var(--sp-muted);margin:4px 0 0;line-height:1.5}
.spaa-info-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--sp-border);color:var(--sp-muted);font-size:11px;font-weight:700;cursor:pointer;border:none;transition:background .15s,color .15s;flex-shrink:0;padding:0}
.spaa-info-btn:hover{background:var(--sp-primary);color:#fff}
.spaa-tooltip{position:fixed;z-index:999999;background:var(--sp-text);color:#fff;font-size:12px;line-height:1.5;padding:8px 12px;border-radius:8px;max-width:260px;box-shadow:0 4px 16px rgba(0,0,0,.2);pointer-events:none}
.spaa-input{display:block;width:100%;padding:10px 14px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius);font-size:var(--sp-fs);color:var(--sp-text);background:var(--sp-input-bg);transition:border-color .15s,box-shadow .15s;box-sizing:border-box;font-family:inherit;line-height:1.5}
.spaa-input:focus{outline:none;border-color:var(--sp-input-focus);box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.spaa-input.err{border-color:var(--sp-error)!important}
.spaa-textarea{resize:vertical;min-height:82px}
.spaa-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}
.spaa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.spaa-grid>.spaa-field{margin-bottom:0}
.spaa-full{grid-column:1/-1}
/* Radio list: icon + label side by side */
.spaa-radio-list{display:flex;flex-direction:column;gap:8px}
.spaa-radio-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius);cursor:pointer;transition:border-color .15s,background .15s;text-align:left}
.spaa-radio-row:hover{border-color:var(--sp-primary);background:var(--sp-primary-l)}
.spaa-radio-row.checked{border-color:var(--sp-primary);background:var(--sp-primary-l)}
.spaa-radio-row input[type=radio]{accent-color:var(--sp-primary);width:16px;height:16px;flex-shrink:0;cursor:pointer;margin:0}
.spaa-radio-ico{font-size:20px;flex-shrink:0;width:26px;text-align:center}
.spaa-radio-lbl{font-size:var(--sp-fs);font-weight:500;color:var(--sp-text)}
/* Radio cards: icon + label side by side, stacked vertically */
.spaa-cards{display:flex;flex-direction:column;gap:8px}
.spaa-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-input-bg);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;text-align:left;position:relative;font-family:inherit;width:100%;box-sizing:border-box}
.spaa-card:hover{border-color:var(--sp-primary);background:var(--sp-primary-l);transform:none}
.spaa-card.sel{border-color:var(--sp-primary);background:var(--sp-primary-l);box-shadow:0 0 0 2px var(--sp-primary)}
.spaa-card-img{width:56px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0}
.spaa-card-ico{font-size:22px;flex-shrink:0;width:30px;text-align:center}
.spaa-card-lbl{font-size:var(--sp-fs);font-weight:600;color:var(--sp-text);line-height:1.3}
.spaa-card.sel::after{content:'✓';position:absolute;top:50%;right:12px;transform:translateY(-50%);width:22px;height:22px;background:var(--sp-primary);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:22px}
.spaa-cards-val{display:none}
.spaa-checks{display:flex;flex-direction:column;gap:8px}
.spaa-check-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius);cursor:pointer;transition:border-color .15s,background .15s}
.spaa-check-row:hover{border-color:var(--sp-primary);background:var(--sp-primary-l)}
.spaa-check-row.checked{border-color:var(--sp-primary);background:var(--sp-primary-l)}
.spaa-check-row input{accent-color:var(--sp-primary);width:16px;height:16px;flex-shrink:0;cursor:pointer;margin:0}
.spaa-check-lbl{font-size:var(--sp-fs);font-weight:500;color:var(--sp-text)}
.spaa-slider-wrap{padding:18px;background:rgba(0,0,0,.03);border-radius:var(--sp-radius);border:1.5px solid var(--sp-border)}
.spaa-slider-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.spaa-slider-lbl{font-size:13px;font-weight:600;color:var(--sp-text)}
.spaa-slider-val{font-size:22px;font-weight:800;color:var(--sp-primary);letter-spacing:-.5px}
input.spaa-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;outline:none;cursor:pointer;background:var(--sp-border)}
input.spaa-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--sp-primary);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .1s}
input.spaa-range::-webkit-slider-thumb:hover{transform:scale(1.1)}
input.spaa-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--sp-primary);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.spaa-slider-mm{display:flex;justify-content:space-between;font-size:11px;color:var(--sp-muted);margin-top:6px}
.spaa-privacy-box,.spaa-newsletter-box{padding:12px 14px;border-radius:var(--sp-radius);border:1.5px solid var(--sp-border);display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:border-color .15s}
.spaa-privacy-box.checked,.spaa-newsletter-box.checked{border-color:var(--sp-primary)}
.spaa-privacy-box.err{border-color:var(--sp-error)!important}
.spaa-privacy-box input,.spaa-newsletter-box input{accent-color:var(--sp-primary);width:16px;height:16px;flex-shrink:0;margin-top:2px;cursor:pointer}
.spaa-privacy-box span,.spaa-newsletter-box span{font-size:13px;color:var(--sp-text);line-height:1.5}
.spaa-privacy-box a{color:var(--sp-primary);text-decoration:underline}
.spaa-newsletter-box{background:rgba(0,0,0,.025)}
.spaa-step-err{display:none;margin-top:14px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--sp-radius);color:var(--sp-error);font-size:13px}
.spaa-success{display:none;text-align:center;padding:48px 20px}
.spaa-success-ico{width:72px;height:72px;border-radius:50%;background:var(--sp-success);color:#fff;font-size:34px;line-height:72px;margin:0 auto 18px;box-shadow:0 8px 28px rgba(0,0,0,.15);animation:spaaPop .5s cubic-bezier(.34,1.6,.64,1)}
@keyframes spaaPop{from{transform:scale(0)}to{transform:scale(1)}}
.spaa-success h3{color:var(--sp-text);font-size:22px;margin:0 0 10px;font-weight:700}
.spaa-success p{color:var(--sp-muted);font-size:15px;margin:0}
.spaa-footer{display:flex;gap:10px;align-items:center;padding:14px var(--sp-pad) 20px;border-top:1px solid var(--sp-border);flex-shrink:0;background:var(--sp-modal-bg)}
.spaa-btn{padding:11px 22px;border-radius:var(--sp-btn-r);font-size:var(--sp-fs);font-weight:600;cursor:pointer;border:2px solid transparent;transition:all .18s;line-height:1.4;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.spaa-btn-back{background:var(--sp-btn-back-bg);color:var(--sp-btn-back-t);border-color:var(--sp-border)}
.spaa-btn-back:hover{filter:brightness(.95)}
.spaa-btn-next,.spaa-btn-submit{background:var(--sp-primary);color:var(--sp-primary-t);border-color:var(--sp-primary);margin-left:auto}
.spaa-btn-next:hover,.spaa-btn-submit:hover{background:var(--sp-primary-h);border-color:var(--sp-primary-h);transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.15)}
.spaa-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.spaa-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:540px){.spaa-overlay{align-items:flex-end;padding:0}.spaa-modal{border-radius:20px 20px 0 0;max-height:94vh}.spaa-header,.spaa-body{padding-left:18px;padding-right:18px}.spaa-footer{padding:12px 18px 28px}.spaa-bc-item .spaa-bc-txt{display:none}.spaa-bc-item.active .spaa-bc-txt{display:inline}}
