:root{--spg:#76d600;--spg2:#a8ff32;--spbg:#080b0d;--spp:#141a1e;--spl:#344047;--spt:#f5f7f8;--spm:#aeb8be}

/* Die Rechner-Seite bleibt im Theme, der Rechner bricht aber sauber auf volle Browserbreite aus. */
.spar-calculator-page .entry-title,.spar-calculator-page .page-title{display:none!important}
.spar-calculator-page .entry-content{overflow:visible!important}
.spar-calculator-page .site-footer{display:none!important}
.spar-calculator-page .ast-container,.spar-calculator-page .site-content .ast-container{max-width:none!important;padding-left:0!important;padding-right:0!important}
.spar-calculator-page .content-area,.spar-calculator-page .site-main,.spar-calculator-page article,.spar-calculator-page .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

.spar-viewport{position:relative;left:50%;width:100vw;margin-left:-50vw;padding:38px clamp(12px,3vw,44px) 58px;background:linear-gradient(180deg,#f4f6f4 0,#fff 100%);overflow:visible}
.spar-app{width:100%;max-width:1380px;margin:0 auto;background:var(--spbg);color:var(--spt);border:1px solid #273038;border-radius:24px;overflow:hidden;font-family:Arial,sans-serif;box-shadow:0 25px 70px #0004;position:relative;z-index:1}
.spar-app *{box-sizing:border-box}
.spar-head{padding:28px 34px;background:linear-gradient(135deg,#050708,#121a1f);display:flex;justify-content:space-between;align-items:center;gap:20px}
.spar-logo{font-size:36px;line-height:1;font-weight:900;letter-spacing:.3px;white-space:nowrap}.spar-logo span{color:var(--spg)}.spar-logo small{display:block;font-size:13px;line-height:1.4;color:#aaa;margin-top:8px;letter-spacing:.5px}
.spar-badge{border:1px solid var(--spg);color:var(--spg);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
.spar-progress{height:8px;background:#222a2f}.spar-progress i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--spg),var(--spg2));transition:.25s}
.spar-main{padding:36px 38px 40px}.spar-step h2{font-size:38px;line-height:1.15;margin:0 0 10px;color:#fff}.spar-step>p{font-size:17px;color:var(--spm);margin-bottom:24px}
.spar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.spar-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.spar-maincats button,.spar-service,.spar-package{background:var(--spp);border:1px solid var(--spl);border-radius:17px;padding:22px;color:var(--spt);cursor:pointer;text-align:left;transition:border-color .18s,transform .18s,background .18s}.spar-maincats button:hover,.spar-service:hover,.spar-package:hover{border-color:#587064;transform:translateY(-1px)}.spar-maincats button.active,.spar-service.active,.spar-package.active{border:2px solid var(--spg);background:#172313}
.spar-maincats b,.spar-service b{display:block;font-size:19px}.spar-maincats span,.spar-service small{display:block;color:var(--spm);font-size:15px;line-height:1.45;margin-top:7px}
.spar-section{border:1px solid var(--spl);border-radius:18px;overflow:hidden;margin:18px 0}.spar-section h3{font-size:20px;margin:0;padding:19px 22px;background:#1d252a;color:#fff}.spar-section-body{padding:20px}.spar-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.spar-service{display:flex;gap:13px;align-items:flex-start;min-height:92px}.spar-service input{flex:0 0 auto;width:24px!important;height:24px!important;margin-top:1px;accent-color:var(--spg)}
.spar-app label{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:700;margin-bottom:15px;color:#f5f7f8}.spar-app input,.spar-app select,.spar-app textarea{width:100%;min-height:49px;padding:13px 14px;border-radius:11px;border:1px solid #3d484e;background:#0e1316;color:var(--spt);font:inherit;font-size:16px}.spar-app textarea{min-height:105px}.spar-app input:focus,.spar-app select:focus,.spar-app textarea:focus{outline:2px solid #76d60066;border-color:var(--spg)}
.spar-panel,.spar-price{background:#11171a;border:1px solid var(--spl);border-radius:17px;padding:21px;margin:17px 0}.spar-panel h3,.spar-price h3{color:var(--spg);font-size:21px;margin-top:0}.spar-note{background:#142010;border-left:4px solid var(--spg);padding:15px 17px;border-radius:10px;margin:17px 0;color:#ddf8c8;font-size:15px}
.spar-actions{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-top:30px}.spar-actions button,#spar-route{border:0;border-radius:12px;min-height:50px;padding:14px 25px;font-size:16px;font-weight:900;cursor:pointer}.spar-next,#spar-submit{background:linear-gradient(90deg,var(--spg),var(--spg2));color:#101800}.spar-back,#spar-pdf,#spar-route{background:#263037;color:white}.spar-inline{display:flex;gap:10px}.spar-inline input{flex:1}.spar-inline button{white-space:nowrap;padding:11px 14px!important}.spar-rows{display:grid;grid-template-columns:1fr auto;gap:9px}.spar-total{font-size:27px;color:var(--spg);font-weight:900;border-top:1px solid #334047;padding-top:13px;margin-top:13px}.spar-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.spar-package strong{display:block;font-size:21px}.spar-package em{font-style:normal;color:var(--spg);font-size:24px;font-weight:900}.spar-check{flex-direction:row!important;align-items:flex-start;gap:10px!important}.spar-check input{width:24px!important;height:24px!important;min-height:0;margin-top:0;accent-color:var(--spg)}.spar-success{text-align:center;padding:70px 20px}.spar-success>div{font-size:66px;color:var(--spg)}#spar-status{margin-top:14px}.spar-error{color:#ffb0b0}.spar-ok{color:#cfffab}

@media(max-width:980px){.spar-viewport{padding-top:26px}.spar-main{padding:28px 24px 32px}.spar-step h2{font-size:33px}.spar-grid{grid-template-columns:1fr}.spar-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.spar-viewport{padding:14px 8px 28px}.spar-app{border-radius:17px}.spar-head{padding:21px 18px}.spar-logo{font-size:28px}.spar-logo small{font-size:10px}.spar-badge{font-size:10px;padding:8px 10px}.spar-main{padding:23px 17px 27px}.spar-grid,.spar-grid2,.spar-checks,.spar-package-grid{grid-template-columns:1fr}.spar-step h2{font-size:29px}.spar-step>p{font-size:15px}.spar-actions{flex-wrap:wrap}.spar-actions>div{display:flex;flex-wrap:wrap;gap:9px}.spar-actions button{flex:1}.spar-inline{flex-direction:column}.spar-service{min-height:0}.spar-maincats button,.spar-service,.spar-package{padding:18px}}
@media(max-width:430px){.spar-head{align-items:flex-start}.spar-badge{display:none}.spar-logo{white-space:normal}.spar-actions{display:grid;grid-template-columns:1fr}.spar-actions>span{display:none}.spar-actions button,.spar-actions>div{width:100%}.spar-actions>div button{width:100%}}
/* ServicePro 3.0 – zusätzlicher Abstand unter dem Website-Header */
.spar-viewport{padding-top:80px}
@media(max-width:780px){.spar-viewport{padding-top:36px}}

/* v3.2 Live-Preis */
.spar-live-price{background:#111;color:#fff;border-left:5px solid #72bf00;border-radius:12px;padding:16px 18px;margin:0 0 16px;display:flex;flex-direction:column;gap:4px}.spar-live-price span{font-size:13px;opacity:.8}.spar-live-price b{font-size:26px;color:#72bf00}.spar-live-price small{font-size:12px;opacity:.75;line-height:1.35}


/* v3.6 – robuste Einbindung in Astra / Elementor / Shortcode-Widgets */
html,body{max-width:100%;overflow-x:clip}
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode{overflow:visible!important}
.spar-viewport{max-width:none!important}
@supports not (overflow:clip){
  html,body{overflow-x:hidden}
}
@media(max-width:780px){
  .spar-app input,.spar-app select,.spar-app textarea{font-size:16px!important}
  .spar-actions button,#spar-route{min-height:48px}
}

/* v3.9 – Kombivorteil, Datenschutz und Spam-Schutz */
.spar-combo-hint{margin:14px 0;padding:13px 15px;border:1px solid #76d600;border-radius:12px;background:#efffdf;color:#1f3d00;font-weight:800}
.spar-saving{margin:12px 0;padding:12px 14px;border-radius:11px;background:#efffdf;color:#2d5b00;font-size:1.05em;font-weight:900}
.spar-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* v4.0 Fresh Premium */
.spar-app{background:#f6f8f5;color:#20252a;border-radius:24px;box-shadow:0 18px 55px rgba(0,0,0,.09);overflow:hidden}
.spar-main{max-width:920px;margin:auto;padding:26px}
.spar-step{background:#fff;border:1px solid #e8ece6;border-radius:22px;padding:24px;box-shadow:0 10px 28px rgba(24,36,20,.06)}
.spar-welcome{text-align:center;max-width:560px;margin:0 auto 28px}
.spar-kicker{display:inline-block;background:#efffdf;color:#376900;border:1px solid #c9f49e;padding:7px 12px;border-radius:999px;font-size:.82rem;font-weight:900}
.spar-firstname{display:block;text-align:left;max-width:420px;margin:20px auto 10px;font-weight:800}
.spar-trustline{font-weight:850;color:#3f6f11}
.spar-maincats button,.spar-service{border-radius:18px!important;box-shadow:0 7px 18px rgba(20,35,16,.05);transition:.18s ease}
.spar-maincats button:hover,.spar-service:hover,.spar-service.active{transform:translateY(-2px);border-color:#76d600!important}
.spar-next,#spar-submit{background:#76d600!important;color:#142000!important;border-radius:14px!important;font-weight:900!important}
.spar-app input,.spar-app select,.spar-app textarea{border-radius:12px!important}
.spar-app input:focus,.spar-app select:focus,.spar-app textarea:focus{border-color:#76d600!important;box-shadow:0 0 0 3px rgba(118,214,0,.14)!important}
.spar-express{margin:18px 0;padding:17px;border:1px solid #dce7d4;border-radius:16px;background:#fbfff7}
.spar-no-obligation{text-align:center;font-size:.88rem;color:#5d6658;margin:10px auto;max-width:600px}
.spar-validation{margin:0 0 14px;padding:13px 15px;border:1px solid #d63638;border-left:5px solid #d63638;border-radius:12px;background:#fff2f2;color:#7a1717;font-weight:800}
.spar-validation[hidden]{display:none!important}
.spar-other-entry{margin:18px auto 0;padding-top:16px;border-top:1px solid #e3e9df;text-align:center;color:#687064}
.spar-other-entry>span{display:block;margin-bottom:8px;font-size:.9rem}
.spar-other-entry button{display:inline-flex!important;align-items:center;gap:10px;width:auto!important;padding:10px 14px!important;border:1px solid #d8e0d4!important;border-radius:12px!important;background:#f8faf7!important;color:#34402f!important;box-shadow:none!important}
.spar-other-entry button b{font-size:.92rem}.spar-other-entry button small{font-size:.78rem;color:#727b6e}
.spar-other-entry button.active,.spar-other-entry button:hover{border-color:#76d600!important;background:#f8fff2!important}
@media(max-width:780px){.spar-main{padding:12px}.spar-step{padding:18px 14px;border-radius:18px}.spar-maincats{grid-template-columns:1fr!important}}

/* v4.1 – weniger Hemmungen / optionaler Vorname */
.spar-optional{font-weight:600;color:#7b8377;font-size:.86em}
.spar-reassure{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:12px auto 8px;color:#4b5d42;font-size:.92rem}
.spar-reassure span{background:#f5f9f2;border:1px solid #e2eadc;border-radius:999px;padding:7px 10px}
#spar-progress-help{display:block;margin-top:7px;color:#727b6e;font-size:.8rem}
.spar-final-reassure{margin:14px 0;padding:15px 16px;background:#f5faef;border:1px solid #dcebcf;border-radius:14px;text-align:center;color:#35472c}
@media(max-width:600px){.spar-reassure{display:grid;grid-template-columns:1fr;text-align:left}.spar-reassure span{border-radius:12px}}

/* v4.2 – Conversion / Komfort */
.spar-field-unknown{display:grid;gap:4px}
.spar-unknown{font-size:.88rem!important;color:#66715f;margin-top:4px!important}
.spar-photo-recommendation{margin:10px 0;padding:10px 12px;border-radius:12px;background:#f6f8f4;color:#5c6755;border:1px solid #e4e9df}
.spar-photo-recommendation.important{background:#efffdf;border-color:#c9f49e;color:#365f0f;font-weight:800}
.spar-personal-check{text-align:center;color:#526047}
.spar-contact-block{margin:22px 0 16px;padding:18px;border:1px solid #e3e9df;border-radius:16px;background:#fafcf9}
.spar-contact-block h3{margin-top:0}
.spar-price-overview{display:grid;gap:8px;margin:14px 0}
.spar-price-overview>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;border-bottom:1px solid #e5e9e2}
.spar-price-overview .spar-price-final{background:#20252a;color:#fff;border-radius:14px;border:0;padding:16px}
.spar-price-overview .spar-price-final b{font-size:1.35rem;color:#76d600}
.spar-discount{color:#4d8c00}
.spar-whatsapp{width:100%;margin:12px 0;padding:14px 16px;border:1px solid #cfe8bc!important;background:#f5ffed!important;color:#315a13!important;border-radius:14px!important;font-weight:900!important}
.spar-success-card{display:grid;gap:7px;padding:18px;border-radius:16px;background:#f5faef;border:1px solid #dcebcf;color:#35472c}
.spar-sticky{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(32,37,42,.96);color:#fff;padding:11px 16px;border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.spar-sticky[hidden]{display:none!important}
.spar-sticky small{display:block;color:#bdc6b8;font-size:.74rem}
.spar-sticky b{display:block;color:#76d600;font-size:1.12rem}
.spar-sticky button{background:#76d600!important;color:#142000!important;border:0!important;border-radius:12px!important;font-weight:900!important;padding:11px 16px!important}
@media(max-width:600px){
 .spar-sticky{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));border-radius:15px;box-shadow:0 12px 32px rgba(0,0,0,.28)}
 .spar-app{padding-bottom:86px}
 .spar-price-overview>div{grid-template-columns:1fr auto}
}

/* v4.3 – WhatsApp dauerhaft erreichbar */
.spar-whatsapp-float{
 position:fixed;
 right:22px;
 bottom:22px;
 z-index:9998;
 display:flex;
 align-items:center;
 gap:9px;
 padding:12px 15px;
 border:0!important;
 border-radius:999px!important;
 background:#25D366!important;
 color:#0b3a1d!important;
 font-weight:900!important;
 box-shadow:0 12px 30px rgba(0,0,0,.20);
 cursor:pointer;
 transition:transform .18s ease, box-shadow .18s ease;
}
.spar-whatsapp-float[hidden]{display:none!important}
.spar-whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.24)}
.spar-wa-icon{font-size:1.15rem;line-height:1}
.spar-wa-text{white-space:nowrap}
@media(max-width:600px){
 .spar-whatsapp-float{
   right:12px;
   bottom:92px;
   width:48px;
   height:48px;
   padding:0;
   justify-content:center;
   border-radius:50%!important;
 }
 .spar-wa-text{display:none}
 .spar-wa-icon{font-size:1.25rem}
}

/* =========================================================
   v4.3.2 LIGHT – bessere Lesbarkeit auf iPad / iPhone / Desktop
   ========================================================= */
.spar-app{
  background:#f4f7f2!important;
  color:#1d241b!important;
}
.spar-main{
  background:#f4f7f2!important;
}
.spar-step{
  background:#ffffff!important;
  color:#1d241b!important;
  border:1px solid #dfe7d9!important;
  box-shadow:0 12px 32px rgba(30,45,24,.08)!important;
}
.spar-step h1,.spar-step h2,.spar-step h3,.spar-step h4,
.spar-step p,.spar-step label,.spar-step span,.spar-step small{
  color:#222a20;
}
.spar-step h2,.spar-step h3{
  color:#283021!important;
}
.spar-step h3,
.spar-service.active b,
.spar-highlight{
  color:#4f9400!important;
}

/* Karten */
.spar-panel,
.spar-box,
.spar-price,
.spar-note,
.spar-contact-block,
.spar-express,
.spar-field-unknown{
  background:#ffffff!important;
  color:#222a20!important;
  border-color:#dfe7d9!important;
}
.spar-panel,
.spar-price,
.spar-contact-block{
  box-shadow:0 7px 20px rgba(33,52,27,.06)!important;
}
.spar-note{
  background:#f1f7ec!important;
  color:#36552c!important;
  border-left:4px solid #76d600!important;
}
.spar-saving,
.spar-combo-hint,
.spar-photo-recommendation.important{
  background:#efffdf!important;
  color:#355f0c!important;
  border-color:#bfe88f!important;
}

/* Eingabefelder */
.spar-app input:not([type="checkbox"]):not([type="radio"]),
.spar-app select,
.spar-app textarea{
  background:#ffffff!important;
  color:#182116!important;
  border:1.5px solid #bfcaba!important;
  box-shadow:none!important;
  opacity:1!important;
}
.spar-app input::placeholder,
.spar-app textarea::placeholder{
  color:#7c8977!important;
  opacity:1!important;
}
.spar-app input:focus,
.spar-app select:focus,
.spar-app textarea:focus{
  border-color:#76d600!important;
  box-shadow:0 0 0 3px rgba(118,214,0,.15)!important;
}

/* Checkboxen deutlicher */
.spar-app input[type="checkbox"],
.spar-app input[type="radio"]{
  width:22px!important;
  height:22px!important;
  accent-color:#76d600;
  opacity:1!important;
}
.spar-check{
  color:#263022!important;
}

/* Leistungskarten */
.spar-service,
.spar-maincats button{
  background:#ffffff!important;
  color:#222a20!important;
  border:1.5px solid #d8e0d4!important;
  box-shadow:0 6px 16px rgba(32,48,27,.06)!important;
}
.spar-service:hover,
.spar-service.active,
.spar-maincats button:hover,
.spar-maincats button.active{
  background:#f8fff2!important;
  border-color:#76d600!important;
  color:#1e2919!important;
}
.spar-service b,
.spar-maincats button b{
  color:#222a20!important;
}
.spar-service small,
.spar-maincats button small{
  color:#697363!important;
}

/* Preisübersicht */
.spar-price{
  border:1px solid #d8e2d3!important;
}
.spar-price-overview>div{
  background:#ffffff!important;
  color:#252d22!important;
  border-color:#e2e8de!important;
}
.spar-price-overview>div span,
.spar-price-overview>div b{
  color:#252d22!important;
}
.spar-price-overview .spar-price-final{
  background:#eef7e7!important;
  color:#1e2c18!important;
  border:1px solid #cce4b8!important;
}
.spar-price-overview .spar-price-final span{
  color:#34452c!important;
}
.spar-price-overview .spar-price-final b{
  color:#4d9300!important;
  font-size:1.55rem!important;
}
.spar-total{
  background:#eef7e7!important;
  color:#1f2c19!important;
  border:1px solid #cce4b8!important;
}
.spar-rows span,
.spar-rows b{
  color:#273025!important;
}
details{
  background:#fafcf9!important;
  color:#273025!important;
  border-color:#dfe6dc!important;
}
details summary{
  color:#35432f!important;
}

/* Buttons */
.spar-next,
#spar-submit,
#spar-route,
.spar-sticky button{
  background:#76d600!important;
  color:#142000!important;
  border-color:#76d600!important;
}
.spar-back,
#spar-pdf{
  background:#ffffff!important;
  color:#283221!important;
  border:1.5px solid #bfcaba!important;
}
.spar-whatsapp,
.spar-whatsapp-float{
  background:#25D366!important;
  color:#0d351c!important;
}

/* Express */
.spar-express{
  background:#f8fff3!important;
  border:1px solid #cfe8bc!important;
}
.spar-express b{
  color:#2d5017!important;
}

/* Trust / Abschluss */
.spar-final-reassure,
.spar-reassure span{
  background:#f4f9ef!important;
  color:#35472c!important;
  border-color:#dbe9d0!important;
}
.spar-no-obligation,
.spar-personal-check,
#spar-progress-help{
  color:#626e5e!important;
}

/* Nur die feste mobile Preisleiste bleibt bewusst dunkel für Kontrast */
.spar-sticky{
  background:rgba(32,37,42,.97)!important;
  color:#ffffff!important;
}
.spar-sticky small{color:#c9d1c5!important}
.spar-sticky b{color:#9bea4d!important}

/* iPad / Tablet */
@media (min-width:601px) and (max-width:1100px){
  .spar-app{max-width:100%!important}
  .spar-main{padding:18px!important}
  .spar-step{padding:22px!important}
  .spar-app input,.spar-app select,.spar-app textarea{font-size:17px!important}
}

/* Smartphone */
@media(max-width:600px){
  .spar-step{background:#fff!important}
  .spar-app{background:#f4f7f2!important}
  .spar-panel,.spar-price,.spar-contact-block{border-radius:15px!important}
}

/* =========================================================
   v4.3.3 RESPONSIVE FIX – Desktop + Tablet + Mobile
   ========================================================= */

/* Global layout safety */
.spar-app,
.spar-app *{
  box-sizing:border-box!important;
}
.spar-app{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
}
.spar-main{
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}
.spar-step,
.spar-panel,
.spar-box,
.spar-price,
.spar-contact-block,
.spar-express{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}

/* Inputs/selects: no clipped text */
.spar-app input:not([type="checkbox"]):not([type="radio"]),
.spar-app select,
.spar-app textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:auto!important;
  padding:12px 14px!important;
  line-height:1.35!important;
  white-space:normal!important;
  text-overflow:clip!important;
  overflow:visible!important;
}
.spar-app select{
  padding-right:44px!important;
  background-position:right 14px center!important;
}
.spar-app textarea{
  min-height:120px!important;
}

/* Grids should shrink safely */
.spar-grid,
.spar-grid2,
.spar-maincats,
.spar-package-grid{
  width:100%!important;
  min-width:0!important;
}
.spar-grid>*,
.spar-grid2>*,
.spar-maincats>*,
.spar-package-grid>*{
  min-width:0!important;
}

/* Sticky price bar: compact and non-blocking on larger screens */
.spar-sticky{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  bottom:0!important;
  width:100%!important;
  min-height:64px!important;
  padding:10px 16px!important;
  border-radius:0 0 18px 18px!important;
  margin-top:14px!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.14)!important;
}
.spar-sticky>div{
  min-width:0!important;
}
.spar-sticky b{
  font-size:1.2rem!important;
  line-height:1.15!important;
}
.spar-sticky button{
  flex:0 0 auto!important;
  min-height:44px!important;
  padding:10px 18px!important;
}

/* WhatsApp floating button: desktop/tablet */
.spar-whatsapp-float{
  right:20px!important;
  bottom:86px!important;
}

/* DESKTOP */
@media (min-width:1101px){
  .spar-main{
    padding:28px!important;
  }
  .spar-step{
    padding:28px!important;
  }
  .spar-grid2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  .spar-maincats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
  .spar-service{
    min-height:88px!important;
  }
  .spar-sticky{
    position:sticky!important;
    max-width:100%!important;
  }
}

/* TABLET / iPad portrait + landscape */
@media (min-width:601px) and (max-width:1100px){
  .spar-app{
    max-width:100%!important;
    border-radius:18px!important;
  }
  .spar-main{
    padding:16px!important;
  }
  .spar-step{
    padding:20px!important;
    border-radius:16px!important;
  }
  .spar-grid2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .spar-maincats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .spar-service{
    min-height:82px!important;
  }
  .spar-app input:not([type="checkbox"]):not([type="radio"]),
  .spar-app select,
  .spar-app textarea{
    min-height:54px!important;
    font-size:17px!important;
  }
  .spar-sticky{
    position:sticky!important;
    min-height:62px!important;
    padding:9px 14px!important;
    border-radius:14px!important;
  }
  .spar-whatsapp-float{
    right:14px!important;
    bottom:82px!important;
  }
}

/* PHONE */
@media (max-width:600px){
  .spar-app{
    max-width:100%!important;
    margin:0!important;
    border-radius:0!important;
    overflow:visible!important;
    padding-bottom:82px!important;
  }
  .spar-main{
    padding:8px!important;
  }
  .spar-step{
    padding:16px 12px!important;
    border-radius:14px!important;
  }
  .spar-grid,
  .spar-grid2,
  .spar-maincats,
  .spar-package-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .spar-service,
  .spar-maincats button{
    width:100%!important;
    min-height:72px!important;
  }
  .spar-app input:not([type="checkbox"]):not([type="radio"]),
  .spar-app select,
  .spar-app textarea{
    min-height:56px!important;
    font-size:16px!important;
    padding:13px 14px!important;
  }
  .spar-app select{
    padding-right:48px!important;
  }

  /* Compact bottom price bar, fixed but not too tall */
  .spar-sticky{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    min-height:58px!important;
    padding:8px 10px 8px 12px!important;
    border-radius:14px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .spar-sticky b{
    font-size:1.05rem!important;
  }
  .spar-sticky small{
    font-size:.72rem!important;
  }
  .spar-sticky button{
    min-height:42px!important;
    padding:9px 14px!important;
    font-size:.98rem!important;
  }

  /* WhatsApp stays above sticky bar */
  .spar-whatsapp-float{
    width:46px!important;
    height:46px!important;
    right:12px!important;
    bottom:78px!important;
    padding:0!important;
  }

  /* Extra bottom spacing so content isn't hidden */
  .spar-step:last-of-type{
    margin-bottom:84px!important;
  }
}

/* Very narrow phones */
@media (max-width:390px){
  .spar-sticky{
    left:6px!important;
    right:6px!important;
    padding:7px 8px 7px 10px!important;
  }
  .spar-sticky button{
    padding:8px 11px!important;
  }
  .spar-sticky b{
    font-size:1rem!important;
  }
}

/* Elementor/Astra wrappers must not clip calculator */
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode,
.entry-content,
.site-content,
.ast-container{
  overflow:visible!important;
  max-width:100%!important;
}

/* =========================================================
   v4.3.4 VISIBILITY FIX – alles klar lesbar
   ========================================================= */

/* Basis-Kontrast */
.spar-app,
.spar-app label,
.spar-app p,
.spar-app span,
.spar-app small,
.spar-app li,
.spar-app strong,
.spar-app em{
  color:#202720!important;
  opacity:1!important;
}
.spar-app h1,
.spar-app h2,
.spar-app h3,
.spar-app h4{
  color:#1d241b!important;
  opacity:1!important;
}
.spar-app a{
  color:#3f7f00!important;
}

/* Checkbox-/Hinweistexte gut sichtbar */
.spar-check,
.spar-check span,
.spar-check small,
.spar-unknown,
.spar-final-reassure,
.spar-personal-check,
.spar-no-obligation{
  color:#2a3227!important;
  opacity:1!important;
}
.spar-check{
  font-weight:650!important;
}
.spar-check small{
  color:#596454!important;
  font-weight:500!important;
}
.spar-app input[type="checkbox"],
.spar-app input[type="radio"]{
  border:2px solid #7d8877!important;
  background:#fff!important;
  opacity:1!important;
}
.spar-app input[type="checkbox"]:checked,
.spar-app input[type="radio"]:checked{
  accent-color:#76d600!important;
}

/* Alle deaktivierten Felder trotzdem lesbar */
.spar-app input:disabled,
.spar-app select:disabled,
.spar-app textarea:disabled{
  color:#596454!important;
  background:#eef2eb!important;
  opacity:1!important;
}

/* Eingabefelder & Selects */
.spar-app input:not([type="checkbox"]):not([type="radio"]),
.spar-app select,
.spar-app textarea{
  color:#171d16!important;
  background:#fff!important;
  border-color:#aeb9a8!important;
  opacity:1!important;
}
.spar-app select option{
  color:#171d16!important;
  background:#fff!important;
}

/* Zusammenfassung / Details */
.spar-price,
.spar-price-overview,
.spar-price-overview>div,
.spar-rows,
.spar-rows span,
.spar-rows b,
details,
details summary{
  color:#202720!important;
  opacity:1!important;
}
.spar-price-overview .spar-price-final{
  background:#eaf6df!important;
}
.spar-price-overview .spar-price-final span{
  color:#263320!important;
}
.spar-price-overview .spar-price-final b{
  color:#438600!important;
}
.spar-saving{
  color:#315d0b!important;
  background:#ecffdc!important;
}
.spar-note{
  color:#30452a!important;
  background:#f4f8f0!important;
}

/* Buttons */
.spar-back,
#spar-pdf{
  color:#1f271d!important;
  background:#fff!important;
  opacity:1!important;
}
.spar-next,
#spar-submit,
#spar-route,
.spar-sticky button{
  color:#122000!important;
  opacity:1!important;
}

/* WhatsApp klar sichtbar */
.spar-whatsapp,
.spar-whatsapp-float{
  color:#08361a!important;
  opacity:1!important;
}

/* Sticky-Bar kleiner und sauber */
.spar-sticky{
  max-height:70px!important;
}
.spar-sticky small{
  color:#d6ddd3!important;
}
.spar-sticky b{
  color:#93e83d!important;
}

/* Tastatur offen: schwebende Elemente ausblenden, damit nichts überdeckt wird */
.spar-keyboard-open .spar-sticky,
.spar-keyboard-open .spar-whatsapp-float{
  display:none!important;
}

/* iPhone / kleine Geräte */
@media(max-width:600px){
  .spar-check{
    line-height:1.35!important;
    gap:10px!important;
  }
  .spar-check span,
  .spar-check small{
    font-size:15px!important;
  }
  .spar-app{
    padding-bottom:26px!important;
  }
  .spar-sticky{
    min-height:56px!important;
    max-height:62px!important;
  }
}

/* iPad / Tablet */
@media(min-width:601px) and (max-width:1100px){
  .spar-check span{
    font-size:16px!important;
  }
  .spar-check small{
    font-size:14px!important;
  }
  .spar-sticky{
    min-height:60px!important;
    max-height:66px!important;
  }
}

/* Desktop */
@media(min-width:1101px){
  .spar-app{
    font-size:16px!important;
  }
  .spar-check span{
    font-size:16px!important;
  }
}

/* v4.3.5 – Mindestpreise sichtbar ausweisen */
.spar-minimum-list{
  margin:18px 0;
  padding:16px;
  border:1px solid #d9e5d2;
  border-radius:14px;
  background:#f8fbf6;
}
.spar-minimum-list h3{
  margin-top:0!important;
  color:#2c3827!important;
}
.spar-minimum-list small{
  display:block;
  margin-top:10px;
  color:#5e6859!important;
}

/* =========================================================
   v4.4.0 – ÜBERSICHTLICHES SERVICEPRO DESIGN
   Ziel: weniger optische Unruhe, klarere Hierarchie, große Lesbarkeit
   ========================================================= */

.spar-app{
  max-width:1060px!important;
  background:#f3f6f1!important;
  border:1px solid #e3e9df!important;
  border-radius:22px!important;
  box-shadow:0 16px 40px rgba(31,43,27,.08)!important;
}

.spar-header{
  background:#ffffff!important;
  color:#202720!important;
  border-bottom:1px solid #e5ebe1!important;
  padding:16px 22px!important;
}
.spar-header img{
  max-height:56px!important;
}

.spar-flow-caption{
  text-align:center;
  font-size:.9rem;
  font-weight:800;
  color:#5e6b58!important;
  margin:12px 0 8px;
}
.spar-progress{
  background:#ffffff!important;
  padding:12px 16px 14px!important;
  border-bottom:1px solid #e5ebe1!important;
}
.spar-progress>span{
  color:#465240!important;
  font-weight:800!important;
}
.spar-progress-bar{
  height:8px!important;
  background:#e8eee4!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.spar-progress-bar span,
.spar-progress i{
  background:#76d600!important;
}

.spar-main{
  padding:20px!important;
}

.spar-step{
  background:#ffffff!important;
  border:1px solid #e0e7dc!important;
  border-radius:18px!important;
  padding:24px!important;
  box-shadow:0 7px 22px rgba(31,43,27,.05)!important;
}

.spar-section-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  margin-bottom:8px;
  border-radius:999px;
  background:#eff8e8;
  color:#4a840e!important;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.spar-step h2{
  font-size:clamp(1.45rem,2.4vw,2rem)!important;
  line-height:1.18!important;
  margin:0 0 8px!important;
  color:#202720!important;
}
.spar-step h3{
  color:#2a3326!important;
  font-size:1.12rem!important;
  margin-top:20px!important;
  margin-bottom:10px!important;
}
.spar-step>p{
  color:#657061!important;
  max-width:760px;
}

/* Hauptauswahl */
.spar-maincats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.spar-maincats button{
  min-height:118px!important;
  padding:18px!important;
  background:#ffffff!important;
  border:1.5px solid #dfe6da!important;
  border-radius:16px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.spar-maincats button:hover,
.spar-maincats button.active{
  background:#f7fff1!important;
  border-color:#76d600!important;
  box-shadow:0 7px 18px rgba(93,165,16,.10)!important;
}
.spar-maincats button b{
  display:block!important;
  margin-bottom:5px!important;
  color:#202720!important;
  font-size:1.08rem!important;
}
.spar-maincats button small{
  color:#707a6c!important;
  line-height:1.35!important;
}

/* Leistungsauswahl als klare Karten */
.spar-services,
#spar-services{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.spar-service{
  min-height:82px!important;
  padding:14px 16px!important;
  border:1.5px solid #dfe6da!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.spar-service.active{
  background:#f6ffef!important;
  border-color:#76d600!important;
  box-shadow:inset 0 0 0 1px rgba(118,214,0,.22)!important;
}
.spar-service b{
  font-size:1rem!important;
}

/* Formulare kompakter */
.spar-panel,
.spar-box,
.spar-contact-block,
.spar-express{
  padding:16px!important;
  border:1px solid #e0e7dc!important;
  border-radius:14px!important;
  background:#fbfcfa!important;
  box-shadow:none!important;
}
.spar-grid2{
  gap:12px!important;
}
.spar-app label{
  font-weight:800!important;
  color:#2d352a!important;
}
.spar-app input:not([type="checkbox"]):not([type="radio"]),
.spar-app select,
.spar-app textarea{
  min-height:50px!important;
  margin-top:6px!important;
  border:1.5px solid #cbd5c5!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#1f261d!important;
}
.spar-app input:focus,
.spar-app select:focus,
.spar-app textarea:focus{
  border-color:#76d600!important;
  box-shadow:0 0 0 3px rgba(118,214,0,.12)!important;
}

/* Hinweise – deutlich, aber nicht dominant */
.spar-note,
.spar-combo-hint,
.spar-photo-recommendation,
.spar-final-reassure{
  border-radius:12px!important;
  padding:12px 14px!important;
  background:#f3f8ef!important;
  border:1px solid #dbe8d1!important;
  color:#3b4e32!important;
}
.spar-saving{
  padding:12px 14px!important;
  border-radius:12px!important;
  background:#eaffd8!important;
  color:#355f0d!important;
  font-weight:900!important;
}

/* Ergebnis – wie eine Rechnungskarte */
.spar-price{
  background:#ffffff!important;
  border:1px solid #dfe6da!important;
  border-radius:16px!important;
  padding:18px!important;
}
.spar-price-overview{
  display:grid!important;
  gap:8px!important;
}
.spar-price-overview>div{
  padding:10px 12px!important;
  border-bottom:1px solid #e6ece2!important;
  background:#fff!important;
}
.spar-price-overview .spar-price-final{
  margin-top:6px!important;
  padding:16px!important;
  border:1px solid #c8e4b1!important;
  background:#eef8e6!important;
  border-radius:13px!important;
}
.spar-price-overview .spar-price-final b{
  color:#4b9000!important;
  font-size:1.65rem!important;
}
.spar-minimum-list{
  background:#fafcf8!important;
  border:1px solid #e1e8dc!important;
}

/* Buttons einheitlich */
.spar-actions{
  margin-top:18px!important;
  gap:10px!important;
}
.spar-next,
#spar-submit,
#spar-route{
  min-height:48px!important;
  padding:11px 18px!important;
  border-radius:11px!important;
  background:#76d600!important;
  color:#152100!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.spar-back,
#spar-pdf{
  min-height:48px!important;
  padding:11px 18px!important;
  border-radius:11px!important;
  background:#ffffff!important;
  color:#273022!important;
  border:1.5px solid #cbd5c5!important;
}

/* Sticky-Preis */
.spar-sticky{
  border-radius:14px!important;
  background:#232922!important;
  padding:9px 12px!important;
  min-height:58px!important;
}
.spar-sticky b{
  color:#8fe634!important;
}

/* WhatsApp bewusst klein halten */
.spar-whatsapp-float{
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}

/* Tablet */
@media(min-width:601px) and (max-width:1100px){
  .spar-main{
    padding:14px!important;
  }
  .spar-step{
    padding:20px!important;
  }
  .spar-maincats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #spar-services{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Smartphone */
@media(max-width:600px){
  .spar-app{
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }
  .spar-header{
    padding:12px 14px!important;
  }
  .spar-main{
    padding:8px!important;
  }
  .spar-step{
    padding:16px 12px!important;
    border-radius:13px!important;
  }
  .spar-maincats,
  #spar-services{
    grid-template-columns:1fr!important;
  }
  .spar-maincats button{
    min-height:86px!important;
  }
  .spar-service{
    min-height:70px!important;
  }
  .spar-panel,
  .spar-box,
  .spar-contact-block,
  .spar-express,
  .spar-price{
    padding:13px!important;
  }
  .spar-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .spar-actions button,
  .spar-actions>div{
    width:100%!important;
  }
}

/* =========================================================
   v4.4.1 – KONTRAST / LESBARKEIT
   ========================================================= */

/* Dunkle Kopfbereiche: Schrift immer hell */
.spar-header,
.spar-header *{
  color:#ffffff!important;
}
.spar-header .spar-brand-title,
.spar-header h1,
.spar-header h2,
.spar-header h3,
.spar-header strong,
.spar-header b{
  color:#ffffff!important;
}
.spar-header small,
.spar-header p,
.spar-header .spar-subtitle{
  color:#dfe5dc!important;
}

/* Gruppenköpfe wie "Einzelauftrag" / "Regelmäßige Betreuung" */
.spar-group-title,
.spar-group-header,
.spar-section-title,
.spar-category-head,
.spar-service-group h3,
.spar-service-group h4{
  color:#ffffff!important;
}
.spar-service-group,
.spar-category-group,
.spar-group{
  overflow:visible!important;
}
.spar-service-group>h3,
.spar-service-group>h4,
.spar-category-group>h3,
.spar-category-group>h4,
.spar-group>h3,
.spar-group>h4{
  background:#232a2f!important;
  color:#ffffff!important;
  padding:14px 18px!important;
  margin:0!important;
}

/* Falls Überschriften direkt auf dunklen Karten stehen */
.spar-app [style*="background:#20252a"],
.spar-app [style*="background: #20252a"],
.spar-app [style*="background:#232"],
.spar-app .dark,
.spar-app .spar-dark{
  color:#ffffff!important;
}
.spar-app .dark *,
.spar-app .spar-dark *{
  color:#ffffff!important;
}

/* Explizite bekannte Texte/Container */
.spar-app .spar-package-title,
.spar-app .spar-package-header,
.spar-app .spar-box-title{
  color:#ffffff!important;
}

/* Heller Seitenbereich: dunkle Schrift */
.spar-step,
.spar-step p,
.spar-step label,
.spar-step span,
.spar-step small,
.spar-step li,
.spar-step strong,
.spar-step em{
  color:#202720!important;
  opacity:1!important;
}
.spar-step h2,
.spar-step h3,
.spar-step h4{
  color:#1d241b!important;
  opacity:1!important;
}

/* Checkbox-/Bestätigungstexte deutlich sichtbar */
.spar-check,
.spar-check span,
.spar-check small,
.spar-unknown,
.spar-final-reassure{
  color:#263024!important;
  opacity:1!important;
}
.spar-check{
  font-weight:700!important;
}
.spar-check small{
  color:#566052!important;
}
.spar-app input[type="checkbox"],
.spar-app input[type="radio"]{
  opacity:1!important;
  border:2px solid #6e7869!important;
  background:#ffffff!important;
}

/* Navigations-/CTA-Elemente */
.spar-header .spar-badge,
.spar-header .spar-pill,
.spar-header .spar-tag{
  color:#8ee436!important;
  border-color:#76d600!important;
}
.spar-header a,
.spar-header button{
  color:#ffffff!important;
}

/* Fortschrittstitel / Flow-Caption */
.spar-flow-caption,
.spar-progress,
.spar-progress span,
#spar-progress-help{
  color:#4b5847!important;
}

/* Richtpreis-/Ergebnisbereich */
.spar-price,
.spar-price *{
  color:#202720!important;
}
.spar-price-overview .spar-price-final{
  background:#eef8e6!important;
}
.spar-price-overview .spar-price-final b{
  color:#4a8e00!important;
}
.spar-saving{
  color:#315c0b!important;
}

/* iPhone/iPad: keine ausgewaschenen Texte */
@media(max-width:1100px){
  .spar-app,
  .spar-app *{
    text-shadow:none!important;
  }
  .spar-check span,
  .spar-check small{
    opacity:1!important;
  }
}

/* zusätzliche Absicherung für dunkle Gruppenleisten */
.spar-service-section > h3:first-child,
.spar-service-section > h4:first-child{
  background:#232a2f!important;
  color:#ffffff!important;
  border-radius:12px 12px 0 0!important;
  padding:14px 18px!important;
}

/* v4.4.3 – angewendete Mindestpreise in Details hervorheben */
.spar-min-applied{
  color:#8a4b00!important;
  font-weight:900!important;
}
.spar-rows .spar-min-applied{
  background:#fff7e8!important;
  border-radius:8px!important;
  padding:5px 7px!important;
}

/* v4.4.7: Preisdetails am Ende immer sichtbar */
.spar-details-always{margin-top:18px;padding-top:14px;border-top:1px solid rgba(20,30,25,.12)}
.spar-details-always h3{margin:0 0 10px}


/* =========================================================
   v4.5.0 – Professional UI Refresh
   Nur Optik; Preis- und Berechnungslogik bleibt unverändert.
   ========================================================= */
.spar-viewport{
  background:#f2f4f1!important;
  padding-top:64px!important;
  padding-bottom:72px!important;
}
.spar-app{
  max-width:1240px!important;
  border:1px solid #dfe4dc!important;
  border-radius:20px!important;
  box-shadow:0 22px 60px rgba(18,28,15,.12)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}
.spar-head{
  padding:24px 32px!important;
  background:linear-gradient(135deg,#0b0f0c 0%,#171d18 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.spar-logo{font-size:32px!important;letter-spacing:.2px!important}
.spar-logo small{font-size:11px!important;letter-spacing:1.2px!important;color:#aeb8ad!important}
.spar-badge{
  border:1px solid rgba(118,214,0,.65)!important;
  background:rgba(118,214,0,.08)!important;
  padding:9px 14px!important;
  font-size:12px!important;
  letter-spacing:.7px!important;
}
.spar-flow-caption{
  background:#111612!important;
  color:#d9dfd7!important;
  padding:10px 32px!important;
  font-size:13px!important;
  letter-spacing:.15px!important;
}
.spar-progress{height:4px!important;background:#dfe5dc!important}
.spar-progress i{background:#76d600!important}
.spar-main{max-width:1060px!important;padding:34px 30px 40px!important}
.spar-step{
  padding:32px!important;
  border:1px solid #e0e6dc!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(31,44,26,.055)!important;
}
.spar-step-intro{max-width:760px;margin:0 auto 26px;text-align:center}
.spar-step-intro .spar-section-eyebrow{
  margin:14px 0 6px!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:1.25px!important;
  text-transform:uppercase!important;
  color:#71806b!important;
}
.spar-step h2{
  font-size:clamp(30px,4vw,42px)!important;
  letter-spacing:-.7px!important;
  color:#1d261b!important;
  margin-bottom:10px!important;
}
.spar-step-intro>p{max-width:670px;margin:0 auto 18px!important;color:#657060!important;font-size:16px!important;line-height:1.6!important}
.spar-kicker{
  background:#f1f8e9!important;
  color:#4e7f17!important;
  border:1px solid #d8eabf!important;
  font-size:12px!important;
  letter-spacing:.25px!important;
}
.spar-reassure-professional{gap:8px!important;margin-top:18px!important}
.spar-reassure-professional span{
  background:#fafbf9!important;
  border:1px solid #e3e8df!important;
  color:#5e6a59!important;
  font-size:13px!important;
  padding:7px 11px!important;
}
.spar-reassure-professional span:before{content:"✓";color:#5f9f18;font-weight:900;margin-right:6px}
.spar-maincats{gap:16px!important;margin-top:4px!important}
.spar-maincats button{
  min-height:142px!important;
  text-align:left!important;
  padding:22px!important;
  border-radius:14px!important;
  border:1px solid #dde4d9!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.spar-maincats button:hover,
.spar-maincats button.active{
  transform:none!important;
  border-color:#76d600!important;
  box-shadow:0 0 0 3px rgba(118,214,0,.09)!important;
  background:#fbfff7!important;
}
.spar-maincats button b{font-size:17px!important;line-height:1.35!important;color:#1f281d!important}
.spar-maincats button span{display:block;margin-top:7px!important;font-size:13px!important;line-height:1.45!important;color:#6b7567!important;font-weight:500!important}
.spar-service{
  border-radius:14px!important;
  border:1px solid #dde4d9!important;
  box-shadow:none!important;
}
.spar-service.active{box-shadow:0 0 0 3px rgba(118,214,0,.09)!important}
.spar-panel,.spar-price,.spar-contact-block,.spar-express{
  border-radius:14px!important;
  box-shadow:none!important;
}
.spar-app input:not([type="checkbox"]):not([type="radio"]),
.spar-app select,.spar-app textarea{
  min-height:46px!important;
  border-radius:10px!important;
  border:1px solid #cbd4c7!important;
  background:#fff!important;
}
.spar-app textarea{min-height:100px!important}
.spar-actions{margin-top:28px!important;padding-top:22px!important;border-top:1px solid #edf0eb!important}
.spar-actions button,#spar-route,#spar-pdf,#spar-submit{
  border-radius:10px!important;
  min-height:46px!important;
  font-weight:800!important;
  letter-spacing:.05px!important;
  box-shadow:none!important;
}
.spar-next,#spar-submit,#spar-sticky-next{
  background:#76d600!important;
  color:#142000!important;
}
.spar-next:hover,#spar-submit:hover,#spar-sticky-next:hover{filter:brightness(.96)}
.spar-sticky{
  background:rgba(18,23,19,.97)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.spar-price-overview .spar-price-final{background:#171d18!important;border-radius:12px!important}
.spar-price-overview .spar-price-final b{color:#8be21f!important}
.spar-note{border-left:3px solid #76d600!important;border-radius:10px!important}
.spar-whatsapp-float{box-shadow:0 10px 28px rgba(0,0,0,.18)!important}

@media(max-width:780px){
  .spar-viewport{padding-top:24px!important;padding-left:10px!important;padding-right:10px!important;padding-bottom:36px!important}
  .spar-app{border-radius:16px!important}
  .spar-head{padding:18px 18px!important}
  .spar-logo{font-size:27px!important}
  .spar-flow-caption{padding:9px 18px!important}
  .spar-main{padding:12px!important}
  .spar-step{padding:22px 16px!important;border-radius:14px!important}
  .spar-step h2{font-size:30px!important}
  .spar-maincats{grid-template-columns:1fr!important}
  .spar-maincats button{min-height:auto!important;padding:18px!important}
  .spar-reassure-professional{display:grid!important;grid-template-columns:1fr!important;text-align:left!important}
}


/* v4.5.1 – Erstschnitt-Aktion */
.spar-firstcut-offer{margin:16px 0;padding:16px 17px;border:1px solid #b8df91;border-left:4px solid #76d600;border-radius:12px;background:#f5fbea;color:#26351f}
.spar-firstcut-offer b{display:block;color:#2f511d;font-size:16px;line-height:1.35;margin-bottom:5px}
.spar-firstcut-offer span{display:block;color:#55624f;font-size:14px;line-height:1.5}
@media(max-width:780px){.spar-firstcut-offer{padding:14px}.spar-firstcut-offer b{font-size:15px}.spar-firstcut-offer span{font-size:13px}}

/* v4.5.2 – im Backend pflegbare Aktionskarten auf der Rechner-Startseite */
.spar-promo-area{margin:22px 0 26px;padding:18px;border:1px solid #dbe7d4;border-radius:18px;background:linear-gradient(135deg,#f8fcf5 0%,#f2f8ed 100%)}
.spar-promo-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:0 2px 13px}.spar-promo-heading>span{font-weight:900;font-size:1.05rem;color:#2f3a2a}.spar-promo-heading small{color:#6c7767;font-weight:600}
.spar-promos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.spar-promos-1{grid-template-columns:minmax(0,1fr)}.spar-promos-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.spar-promo-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #d6e2ce;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(44,65,34,.06)}
.spar-promo-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.spar-promo-badge{display:inline-flex!important;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;background:#182019;color:#fff!important;font-size:.72rem!important;font-weight:900;letter-spacing:.06em}.spar-promo-icon{font-size:1.55rem!important;line-height:1}
.spar-promo-card h3{margin:0 0 8px!important;font-size:1.35rem!important;line-height:1.15;color:#2f3a2a!important}.spar-promo-card p{margin:0 0 14px;color:#5c6757!important;font-size:.92rem;line-height:1.5}.spar-promo-button{margin-top:auto;align-self:flex-start;min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:#76d600;color:#142000;font-weight:900;cursor:pointer}.spar-promo-button:hover{filter:brightness(.96)}
@media(max-width:780px){.spar-promos,.spar-promos-2{grid-template-columns:1fr}.spar-promo-area{padding:14px}.spar-promo-heading{align-items:flex-start;flex-direction:column;gap:4px}}

/* =========================================================
   v4.8 – Andere Anfrage oben + ruhiger Angebotsbanner
   ========================================================= */
.spar-other-entry{
  margin:18px 0!important;
  padding:0!important;
  border:0!important;
  text-align:left!important;
}
.spar-other-entry button{
  display:grid!important;
  grid-template-columns:auto 1fr auto;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-height:78px!important;
  padding:16px 18px!important;
  border:1.5px solid #cfe0c2!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f7fff1 0%,#ffffff 100%)!important;
  color:#24301e!important;
  box-shadow:0 7px 18px rgba(42,72,24,.06)!important;
  text-align:left!important;
}
.spar-other-entry button b{display:block;font-size:1.05rem!important;color:#2b3a23!important}
.spar-other-entry button small{display:block;margin-top:3px;font-size:.86rem!important;line-height:1.4;color:#667260!important}
.spar-other-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eafaDC;font-size:1.25rem}
.spar-other-arrow{font-size:1.35rem;font-weight:900;color:#579d09!important}
.spar-other-entry button.active,.spar-other-entry button:hover{border-color:#76d600!important;background:#f3ffe9!important;transform:translateY(-1px)}

.spar-promo-area{
  padding:0!important;
  overflow:hidden;
  border:1px solid #d6e6ca!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(42,64,29,.06);
}
.spar-promo-heading{margin:0!important;padding:12px 17px;background:#202820;color:#fff!important;align-items:center!important}
.spar-promo-heading>span{color:#fff!important}.spar-promo-heading small{color:#d4ddcf!important}
.spar-promos{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
.spar-promo-banner{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;column-gap:16px;align-items:center;padding:20px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.spar-promo-banner .spar-promo-top{grid-row:1 / span 2;grid-column:1;margin:0!important;display:grid!important;justify-items:center!important;gap:7px!important}
.spar-promo-banner h3{grid-column:2;margin:0 0 5px!important}
.spar-promo-banner p{grid-column:2;margin:0!important}
.spar-promo-banner .spar-promo-button{grid-column:3;grid-row:1 / span 2;margin:0!important;align-self:center!important;white-space:nowrap}
.spar-promo-banner+.spar-promo-banner{border-top:1px solid #e1e8dc!important}
@media(max-width:700px){
  .spar-promo-banner{grid-template-columns:auto minmax(0,1fr)!important}
  .spar-promo-banner .spar-promo-button{grid-column:1 / -1;grid-row:auto;width:100%;margin-top:14px!important}
  .spar-promo-heading{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
  .spar-other-entry button{grid-template-columns:auto 1fr auto!important;padding:14px!important}
}


/* v4.5.4 – Andere Anfragen / Sonderwünsche */
@media(min-width:1101px){.spar-maincats{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:781px) and (max-width:1100px){.spar-maincats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.spar-special-request textarea{min-height:180px!important;resize:vertical}
.spar-special-request h3{margin-bottom:16px!important}
@media(max-width:780px){.spar-special-request textarea{min-height:160px!important}}

/* =========================================================
   v4.7.0 – Erklärungen direkt neben den Eingabefeldern
   ========================================================= */
.spar-field-label{
 display:inline-flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:7px!important;
 width:100%;
 color:inherit!important;
 font:inherit;
}
.spar-help{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 flex:0 0 24px!important;
 width:24px!important;
 min-width:24px!important;
 height:24px!important;
 min-height:24px!important;
 margin:0 0 0 2px!important;
 padding:0!important;
 border:1.5px solid #65aa20!important;
 border-radius:50%!important;
 background:#f1fae8!important;
 color:#397500!important;
 box-shadow:none!important;
 font:900 14px/1 Arial,sans-serif!important;
 text-align:center!important;
 cursor:pointer!important;
 vertical-align:middle!important;
 -webkit-tap-highlight-color:transparent;
}
.spar-help:hover,.spar-help:focus-visible{
 background:#76d600!important;
 border-color:#5ca900!important;
 color:#142000!important;
 outline:3px solid rgba(118,214,0,.22)!important;
 outline-offset:2px!important;
}
.spar-help[aria-expanded="true"]{background:#76d600!important;color:#142000!important}
.spar-check>.spar-help{margin-top:0!important}
.spar-check>span:not(.spar-field-label){flex:1 1 auto}
.spar-help-popover{
 position:fixed;
 z-index:10050;
 max-width:360px;
 max-height:calc(100vh - 24px);
 overflow:auto;
 padding:18px 48px 18px 19px;
 border:1px solid #cbd9c2;
 border-left:4px solid #76d600;
 border-radius:14px;
 background:#fff;
 color:#24301f;
 box-shadow:0 18px 55px rgba(18,30,12,.25);
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.spar-help-popover[hidden]{display:none!important}
.spar-help-popover strong{display:block;margin:0 0 6px;color:#447e0e;font-size:15px}
.spar-help-popover p{margin:0!important;color:#384633!important;font-size:15px!important;line-height:1.55!important}
.spar-help-close{
 position:absolute!important;
 top:8px!important;
 right:8px!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:34px!important;
 min-width:34px!important;
 height:34px!important;
 min-height:34px!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:50%!important;
 background:#eef2eb!important;
 color:#263122!important;
 box-shadow:none!important;
 font:700 24px/1 Arial,sans-serif!important;
 cursor:pointer!important;
}
.spar-help-close:hover,.spar-help-close:focus-visible{background:#dff4cc!important;outline:2px solid #76d600!important}
@media(max-width:600px){
 .spar-help{flex-basis:26px!important;width:26px!important;min-width:26px!important;height:26px!important;min-height:26px!important}
 .spar-help-popover{
   left:12px!important;
   right:12px!important;
   top:auto!important;
   bottom:max(12px,env(safe-area-inset-bottom))!important;
   width:auto!important;
   max-width:none!important;
   max-height:min(56vh,430px)!important;
   border-left:1px solid #cbd9c2;
   border-top:4px solid #76d600;
   border-radius:17px;
   padding:19px 48px 19px 18px;
 }
}

/* v4.8 finale Startseiten-Anordnung: drei Hauptbereiche unter dem Sonderwunsch. */
@media(min-width:1101px){.spar-maincats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* v4.10 – Einzelleistungen oder Ganzjahres-Service */
.spar-contract-tabs{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
 margin:20px 0 14px;
}
.spar-contract-tabs button{
 display:flex!important;
 flex-direction:column;
 align-items:flex-start!important;
 min-height:148px;
 padding:19px!important;
 border:2px solid #dfe7da!important;
 border-radius:16px!important;
 background:#fff!important;
 color:#202820!important;
 box-shadow:0 8px 22px rgba(26,42,20,.06)!important;
 text-align:left!important;
 cursor:pointer;
}
.spar-contract-tabs button:hover,.spar-contract-tabs button:focus-visible{border-color:#8dcf4d!important;outline:none!important}
.spar-contract-tabs button.active{
 border-color:#65b91a!important;
 background:linear-gradient(145deg,#fbfff8,#effbdd)!important;
 box-shadow:0 10px 27px rgba(83,151,22,.15)!important;
}
.spar-contract-tabs button>span{
 display:inline-flex;
 margin:0 0 10px;
 padding:5px 9px;
 border-radius:999px;
 background:#eef2eb;
 color:#566052;
 font-size:12px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.04em;
}
.spar-contract-tabs button.active>span{background:#76d600;color:#183000}
.spar-contract-tabs button>b{display:block;color:#202820;font-size:19px;line-height:1.3}
.spar-contract-tabs button>small{display:block;margin-top:8px;color:#657061;font-size:14px;line-height:1.5}
.spar-contract-info{
 margin:0 0 18px;
 padding:17px 18px;
 border:1px solid #dfe7da;
 border-left:5px solid #7d8a76;
 border-radius:13px;
 background:#f7f9f5;
 color:#283126;
}
.spar-contract-info.is-annual{border-left-color:#65b91a;background:#f4fbe9}
.spar-contract-info>b{display:block;margin-bottom:5px;color:#254514;font-size:16px}
.spar-contract-info p{margin:0 0 6px!important;color:#3e4a39!important;line-height:1.55!important}
.spar-contract-info small{display:block;color:#687264;line-height:1.45}
.spar-contract-frequency-list{
 display:grid;
 gap:10px;
 margin:0 0 18px;
 padding:17px;
 border:1px solid #d9e6cf;
 border-radius:15px;
 background:#fff;
}
.spar-contract-frequency-head{display:flex;flex-direction:column;gap:3px;margin-bottom:2px}
.spar-contract-frequency-head b{color:#28431b;font-size:17px}
.spar-contract-frequency-head small{color:#667061;line-height:1.45}
.spar-contract-frequency{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);
 gap:14px;
 align-items:center;
 padding:13px 0;
 border-top:1px solid #e8eee4;
}
.spar-contract-frequency>span{display:flex;flex-direction:column;gap:3px}
.spar-contract-frequency b{color:#263322}
.spar-contract-frequency small{color:#6b7467;line-height:1.4}
.spar-contract-frequency select{width:100%;margin:0!important}
.spar-contract-preview{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 margin:0 0 18px;
 padding:16px;
 border-radius:15px;
 background:#202820;
 color:#fff;
}
.spar-contract-preview>span{display:flex;flex-direction:column;gap:4px}
.spar-contract-preview small{color:#d6e3cf}
.spar-contract-preview b{color:#91e52a;font-size:20px}
.spar-contract-preview em{grid-column:1/-1;color:#e7eee3;font-size:13px;font-style:normal}
.spar-summary-model{
 display:flex;
 align-items:center;
 gap:12px;
 margin:14px 0 17px;
 padding:13px 14px;
 border:1px solid #dce5d6;
 border-radius:13px;
 background:#f7f9f5;
}
.spar-summary-model.is-annual{border-color:#b9df92;background:#f3fae9}
.spar-summary-model>span{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#263026;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}
.spar-summary-model.is-annual>span{background:#69be1b;color:#173000}
.spar-summary-model b,.spar-summary-model small{display:block}
.spar-summary-model b{color:#263322;font-size:16px}
.spar-summary-model small{margin-top:3px;color:#667061;line-height:1.4}
.spar-annual-total{
 display:grid;
 grid-template-columns:1fr auto;
 gap:5px 14px;
 margin:13px 0 19px;
 padding:16px;
 border-radius:14px;
 background:#202820;
 color:#fff;
}
.spar-annual-total>span{font-weight:700}
.spar-annual-total>b{color:#8be21f;font-size:21px}
.spar-annual-total>small{grid-column:1/-1;color:#d8e5d1;line-height:1.45}
.spar-contract-legal{display:flex;flex-direction:column;gap:5px;margin:14px 0;padding:15px 16px;border:1px solid #cfe5bd;border-left:4px solid #76d600;border-radius:12px;background:#f7fced;color:#35412f}
.spar-contract-legal b{color:#31551d}
.spar-contract-legal span{font-size:14px;line-height:1.5}
@media(max-width:600px){
 .spar-contract-tabs{grid-template-columns:1fr;gap:10px}
 .spar-contract-tabs button{min-height:0;padding:17px!important}
 .spar-contract-frequency{grid-template-columns:1fr;gap:8px}
 .spar-contract-preview{grid-template-columns:1fr}
 .spar-contract-preview em{grid-column:1}
 .spar-summary-model{align-items:flex-start}
 .spar-annual-total{grid-template-columns:1fr}
 .spar-annual-total>small{grid-column:1}
}

/* v4.12.0 – ServicePro Messassistent */
.spar-measure-open{display:flex!important;align-items:center;gap:9px;width:100%;margin:8px 0 5px!important;padding:11px 13px!important;border:1px solid #9bd45a!important;border-radius:12px!important;background:#f5fbeE!important;color:#294315!important;font-weight:800!important;text-align:left!important;box-shadow:none!important}
.spar-measure-open>span{font-size:19px}.spar-measure-open small{margin-left:auto;color:#617256;font-size:11px;font-weight:600}.spar-measure-open:hover{background:#ecf8df!important;border-color:#76c51f!important}
.spar-measure-modal{position:fixed;inset:0;z-index:100000;background:rgba(16,22,14,.72);padding:18px;overflow:auto;backdrop-filter:blur(3px)}
.spar-measure-modal[hidden]{display:none!important}.spar-measure-dialog{position:relative;width:min(620px,100%);margin:5vh auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:24px;color:#263322}
.spar-measure-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0!important;border-radius:50%!important;background:#eef2ea!important;color:#25301f!important;font-size:25px!important;line-height:1!important;padding:0!important}
.spar-measure-head{display:flex;align-items:center;gap:12px;padding-right:42px;margin-bottom:12px}.spar-measure-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf8da;font-size:24px}.spar-measure-head small{display:block;color:#6d7767;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.spar-measure-head h3{margin:2px 0 0!important;color:#263322!important;font-size:23px!important}
.spar-measure-intro,.spar-measure-tip{color:#5e6958;line-height:1.5}.spar-measure-tip{padding:10px 12px;background:#f5f7f3;border-radius:10px;font-size:13px}.spar-measure-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.spar-measure-choice button{border:1px solid #d6ddd1!important;background:#fff!important;color:#3c4638!important;border-radius:11px!important;padding:11px!important;font-weight:750!important}.spar-measure-choice button.active{background:#eff9e3!important;border-color:#76c51f!important;color:#315718!important}
.spar-measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spar-measure-grid label,.spar-measure-waste{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#35412f}.spar-measure-grid label>span{display:flex;align-items:center;border:1px solid #d5ddd0;border-radius:11px;background:#fff;overflow:hidden}.spar-measure-grid input{width:100%;border:0!important;box-shadow:none!important;margin:0!important}.spar-measure-grid label>span>b{padding:0 12px;color:#6b7566}.spar-measure-grid select,.spar-measure-waste select{width:100%;margin:0!important}.spar-measure-waste{margin-top:12px}
.spar-measure-result{display:flex;flex-direction:column;gap:3px;margin:18px 0 12px;padding:17px;border-radius:15px;background:#202820;color:#fff}.spar-measure-result small{color:#d9e5d3;font-weight:700}.spar-measure-result strong{font-size:28px;color:#91e52a}.spar-measure-result span{color:#edf4e9;font-size:13px;line-height:1.45}.spar-measure-apply{width:100%;background:#76d600!important;color:#162500!important;border:0!important;border-radius:12px!important;padding:13px 16px!important;font-weight:900!important}.spar-measure-apply:disabled{opacity:.42!important;cursor:not-allowed!important}.spar-measure-dialog h4{margin:15px 0 8px;color:#31551d}
@media(max-width:600px){.spar-measure-modal{padding:0;background:#fff}.spar-measure-dialog{min-height:100%;margin:0;border-radius:0;padding:19px 16px 28px;box-shadow:none}.spar-measure-grid{grid-template-columns:1fr}.spar-measure-choice{grid-template-columns:1fr 1fr}.spar-measure-open small{display:none}.spar-measure-head h3{font-size:21px!important}}

/* v4.12.1 – Außenfläche im Messassistenten */
.spar-measure-choice-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:600px){.spar-measure-choice-3{grid-template-columns:1fr}.spar-measure-choice-3 button{padding:10px!important}}


/* v4.13.0 – native Mehrpunkt-/Rundungsmessung */
.spar-measure-actions{display:grid;gap:7px;margin:8px 0 5px}
.spar-measure-actions .spar-measure-open{margin:0!important}
.spar-measure-native{display:flex!important;align-items:center;gap:9px;width:100%;margin:0!important;padding:11px 13px!important;border:1px solid #2c3727!important;border-radius:12px!important;background:#202820!important;color:#fff!important;font-weight:850!important;text-align:left!important;box-shadow:none!important}
.spar-measure-native>span{font-size:19px}.spar-measure-native small{margin-left:auto;color:#b9c9b0;font-size:11px;font-weight:650}.spar-measure-native:hover{background:#283326!important;border-color:#76c51f!important}.spar-measure-meta{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:10px;background:#edf8e4;border:1px solid #bfe39d;color:#31551d}.spar-measure-meta b{font-size:13px}.spar-measure-meta span{font-size:11px;color:#5e7250}.spar-native-help{text-align:center;padding:10px 4px 6px}.spar-native-help-icon{font-size:46px;margin-bottom:6px}.spar-native-help h4{font-size:20px!important;margin:7px 0!important}.spar-native-help p{color:#596653;line-height:1.55}
@media(max-width:600px){.spar-measure-native small{display:none}.spar-measure-actions{gap:8px}}

/* v4.14.0 – AR-Heckenmessung / strengere Qualitätsprüfung */
.spar-measure-meta b{line-height:1.35}.spar-measure-meta span{line-height:1.4}

/* v4.15.0 – feste Anfahrtszonen */
.spar-travel-zone-grid{align-items:end}
.spar-optional{font-size:.78em;font-weight:700;color:#778171;margin-left:5px}
.spar-zone-note{border-left:4px solid #76d600!important;background:#f5fbf0!important}
.spar-zone-note b{color:#335b16}
#spar-city{font-weight:750}
@media(max-width:780px){.spar-travel-zone-grid{grid-template-columns:1fr!important}}

#spar-city-other-wrap[hidden]{display:none!important}

/* v4.16.0 – dynamische Anfahrtszonen */
.spar-city-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;margin-top:6px}
.spar-city-input-wrap{position:relative;min-width:0}
.spar-city-lookup input{margin-top:0!important;min-width:0;padding-right:46px!important}
.spar-city-lookup>button{border:1px solid rgba(101,212,110,.65);background:#182019;color:#dfffe1;border-radius:10px;padding:0 14px;font-weight:800;white-space:nowrap;cursor:pointer}
.spar-city-lookup>button:hover,.spar-city-lookup>button:focus{background:#223025;border-color:#65d46e}
.spar-city-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#edf2e9!important;color:#31402b!important;font-size:24px!important;font-weight:500!important;line-height:1!important;cursor:pointer;display:grid;place-items:center;z-index:2}
.spar-city-clear:hover,.spar-city-clear:focus{background:#dfe9d8!important;color:#172012!important;outline:2px solid rgba(101,212,110,.5);outline-offset:1px}
.spar-city-clear[hidden]{display:none!important}
@media(max-width:600px){.spar-city-lookup{grid-template-columns:1fr}.spar-city-lookup>button{min-height:44px}}

/* v4.16.1 – Hinweis zur manuellen Ortseingabe */
.spar-zone-manual-hint{margin-top:9px;padding:10px 12px;border:1px solid rgba(72,255,72,.28);border-radius:10px;background:rgba(72,255,72,.07);color:var(--spar-text,#f4f4f4);font-size:.9rem;line-height:1.4}
.spar-zone-manual-hint b{color:#61e86b}

/* =========================================================
   v4.20.0 – Modern Professional Light + Wunschtermin
   ========================================================= */
.spar-viewport{
  padding-top:64px!important;
  padding-bottom:72px!important;
  background:#f3f5f2!important;
}
.spar-app{
  max-width:1180px!important;
  background:#fff!important;
  border:1px solid #dfe4dc!important;
  border-radius:28px!important;
  box-shadow:0 24px 70px rgba(24,31,20,.10)!important;
  overflow:hidden!important;
}
.spar-head{
  padding:26px 34px!important;
  background:#1b211c!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.spar-logo{color:#fff!important;font-size:34px!important;letter-spacing:.2px!important}
.spar-logo small{color:#c6cec2!important;font-size:11px!important;letter-spacing:.08em!important}
.spar-badge{border-color:#76d600!important;color:#a5f044!important;background:rgba(118,214,0,.08)!important}
.spar-flow-caption{
  margin:0!important;padding:14px 34px 8px!important;background:#fff!important;color:#6a7365!important;
  font-size:13px!important;font-weight:750!important;text-align:left!important;
}
.spar-progress{height:4px!important;background:#edf0eb!important}
.spar-progress i{background:#76d600!important}
.spar-stepper{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:18px 34px 20px;background:#fff;border-bottom:1px solid #e7ebe4;
}
.spar-stepper>span{position:relative;display:flex;align-items:center;gap:9px;color:#8a9285;font-size:12px;font-weight:800;min-width:0}
.spar-stepper>span:not(:last-child)::after{content:"";position:absolute;left:35px;right:9px;top:15px;height:1px;background:#dfe4db;z-index:0}
.spar-stepper i{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef1ec;color:#687064;font-style:normal;font-size:12px;box-shadow:0 0 0 5px #fff}
.spar-stepper b{position:relative;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;padding-right:8px}
.spar-stepper .is-done i{background:#e9f7da;color:#396800}.spar-stepper .is-done{color:#507337}
.spar-stepper .is-current i{background:#76d600;color:#142100}.spar-stepper .is-current{color:#1d2718}
.spar-main{max-width:none!important;margin:0!important;padding:34px!important;background:#f7f8f6!important}
.spar-step{
  max-width:960px;margin:0 auto!important;padding:30px!important;background:#fff!important;border:1px solid #e1e6de!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(30,40,25,.055)!important;
}
.spar-step h2{color:#20271e!important;font-size:34px!important;letter-spacing:-.02em!important}
.spar-step>p,.spar-step-intro>p{color:#667061!important;line-height:1.55!important}
.spar-section-eyebrow,.spar-wish-kicker{display:block;color:#579d12!important;font-size:12px!important;font-weight:900!important;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.spar-maincats{gap:14px!important}
.spar-maincats button,.spar-service,.spar-package{
  background:#fff!important;border:1.5px solid #dde4d8!important;border-radius:18px!important;box-shadow:none!important;padding:20px!important;
}
.spar-maincats button:hover,.spar-service:hover,.spar-package:hover{transform:none!important;border-color:#9dcc71!important;background:#fbfdf9!important}
.spar-maincats button.active,.spar-service.active,.spar-package.active{border-color:#76d600!important;background:#f5fbeF!important;box-shadow:0 0 0 3px rgba(118,214,0,.10)!important}
.spar-maincats b,.spar-service b{color:#283024!important}.spar-maincats span,.spar-service small{color:#6f776b!important}
.spar-section{border:1px solid #e2e7df!important;border-radius:18px!important;background:#fff!important}
.spar-section h3{background:#f7f9f5!important;color:#2b3327!important;border-bottom:1px solid #e5e9e2!important}
.spar-panel,.spar-price,.spar-contact-block,.spar-express{
  border:1px solid #e0e6dc!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;
}
.spar-price-overview .spar-price-final{background:#20271f!important;border-radius:15px!important}.spar-price-overview .spar-price-final span{color:#eef4e9!important}.spar-price-overview .spar-price-final b{color:#8ee52e!important}
.spar-app input:not([type="checkbox"]):not([type="radio"]),.spar-app select,.spar-app textarea{
  min-height:50px!important;border:1.5px solid #cbd4c6!important;border-radius:12px!important;background:#fff!important;color:#20271e!important;
}
.spar-app input:focus,.spar-app select:focus,.spar-app textarea:focus{border-color:#6fc600!important;box-shadow:0 0 0 3px rgba(118,214,0,.12)!important}
.spar-actions button,#spar-route{border-radius:12px!important;box-shadow:none!important}
.spar-next,#spar-submit{background:#76d600!important;color:#162300!important}
.spar-next:hover,#spar-submit:hover{background:#68c000!important}
.spar-back,#spar-pdf{background:#edf1ea!important;color:#2b3427!important;border:1px solid #dce2d8!important}
.spar-note,.spar-zone-note{background:#f5f9f1!important;color:#3c5130!important;border-left-color:#76d600!important}
.spar-zone-manual-hint{background:#f5fbeF!important;border-color:#cfe8b5!important;color:#425338!important}.spar-zone-manual-hint b{color:#4e8f13!important}
.spar-reassure-professional{justify-content:flex-start!important}.spar-reassure-professional span{background:#f6f8f4!important;color:#53604b!important}
.spar-contact-block{margin-top:24px!important;padding:22px!important;background:#fbfcfa!important}.spar-contact-block h3{color:#283024!important}
.spar-final-reassure{background:#f5f9f1!important;color:#35472c!important}
.spar-sticky{background:rgba(27,33,28,.97)!important}

/* Wunschtermin */
.spar-wish-appointment{margin:24px 0;padding:22px;border:1px solid #dbe5d4;border-radius:20px;background:#fbfdf9;box-shadow:0 8px 22px rgba(31,44,24,.045)}
.spar-wish-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.spar-wish-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#edf8df;font-size:22px}
.spar-wish-head h3{margin:0!important;color:#24301f!important;font-size:23px!important}.spar-wish-kicker{margin-bottom:2px!important}
.spar-wish-warning{padding:13px 14px;border:1px solid #d6e7c7;border-left:4px solid #76d600;border-radius:12px;background:#f4faee;color:#3d5034;line-height:1.5;font-size:14px;margin-bottom:18px}
.spar-wish-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.spar-field-title{display:block;color:#2d3629;font-weight:850;margin-bottom:7px}
.spar-date-picker{position:relative}.spar-date-trigger{width:100%;min-height:50px;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1.5px solid #cbd4c6;border-radius:12px;background:#fff;color:#20271e;font-size:15px;font-weight:750;text-align:left;cursor:pointer}.spar-date-trigger:hover,.spar-date-trigger:focus{border-color:#76d600;outline:none;box-shadow:0 0 0 3px rgba(118,214,0,.11)}
.spar-date-popover{position:absolute;left:0;top:78px;z-index:200;width:min(360px,calc(100vw - 56px));padding:14px;border:1px solid #dce3d7;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(26,36,21,.18)}.spar-date-popover[hidden]{display:none!important}
.spar-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:6px;margin-bottom:10px}.spar-calendar-head b{text-align:center;color:#293126}.spar-calendar-head button{width:38px;height:36px;border:1px solid #dfe5da;border-radius:10px;background:#f7f9f5;color:#2a3425;font-size:22px;cursor:pointer}.spar-calendar-head button:disabled{opacity:.28;cursor:not-allowed}
.spar-calendar-week,.spar-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.spar-calendar-week{margin-bottom:4px}.spar-calendar-week span{text-align:center;color:#7c8578!important;font-size:11px;font-weight:850;padding:4px 0}
.spar-cal-empty{min-height:38px}.spar-cal-day{display:grid;place-items:center;min-width:0;height:38px;border:0;border-radius:10px;background:#f7f9f5;color:#273023;cursor:pointer;font-weight:800}.spar-cal-day:hover:not(:disabled){background:#edf7e2;color:#376b09}.spar-cal-day.selected{background:#76d600!important;color:#172300!important}.spar-cal-day:disabled{background:#f5f5f4;color:#b1b6ae;cursor:not-allowed;text-decoration:line-through;opacity:.75}
.spar-calendar-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #ecefeb;color:#7b8477;font-size:11px}.spar-calendar-legend span{display:flex;align-items:center;gap:5px}.spar-calendar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.spar-calendar-legend .is-free{background:#edf7e2}.spar-calendar-legend .is-blocked{background:#eceeeb}
.spar-wish-help{display:block;margin-top:7px;color:#737d6e!important;line-height:1.45}
.spar-time-options{display:flex;gap:9px;flex-wrap:wrap;min-height:50px;align-items:center}.spar-time-placeholder{color:#7c8578!important;font-size:14px}.spar-time-button{min-width:108px;min-height:48px;padding:10px 14px;border:1.5px solid #cbd4c6;border-radius:12px;background:#fff;color:#273023;font-weight:850;cursor:pointer}.spar-time-button:hover{border-color:#9bcc70;background:#fafdf7}.spar-time-button.active{border-color:#76d600;background:#edf8df;color:#315d0b;box-shadow:0 0 0 3px rgba(118,214,0,.10)}
.spar-wish-summary{display:flex;flex-direction:column;gap:3px;margin-top:16px;padding:14px 15px;border-radius:14px;background:#20271f;color:#fff}.spar-wish-summary span{color:#cbd6c4!important;font-size:12px}.spar-wish-summary b{color:#91e52a!important;font-size:18px}.spar-wish-summary small{color:#e7ede3!important}

@media(max-width:780px){
 .spar-viewport{padding:18px 8px 34px!important}.spar-app{border-radius:20px!important}.spar-head{padding:20px 18px!important}.spar-main{padding:14px!important}.spar-step{padding:20px 16px!important;border-radius:18px!important}.spar-step h2{font-size:28px!important}
 .spar-flow-caption{padding:11px 18px 7px!important}.spar-stepper{padding:14px 12px 16px;overflow-x:auto;grid-template-columns:repeat(5,minmax(88px,1fr));scrollbar-width:none}.spar-stepper::-webkit-scrollbar{display:none}.spar-stepper>span{justify-content:flex-start}.spar-stepper b{font-size:10px}.spar-stepper i{width:27px;height:27px}.spar-stepper>span:not(:last-child)::after{top:13px;left:31px}
 .spar-wish-grid{grid-template-columns:1fr}.spar-date-popover{position:fixed;left:12px;right:12px;top:50%;transform:translateY(-50%);width:auto;max-width:390px;margin:auto;z-index:10001}.spar-wish-appointment{padding:17px 14px}.spar-time-button{flex:1}
}
@media(max-width:430px){.spar-logo{font-size:27px!important}.spar-wish-head h3{font-size:20px!important}.spar-calendar-days{gap:3px}.spar-cal-day{height:36px}.spar-actions{gap:8px!important}}

/* v4.21.0 – Customer UX Plus */
.spar-logo{letter-spacing:-.035em;text-transform:none}
.spar-draft-banner,.spar-network-banner{margin:0 0 18px;padding:12px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.spar-draft-banner[hidden],.spar-network-banner[hidden]{display:none!important}
.spar-draft-banner{background:#effae5;border:1px solid #bfe69a;color:#29451c}
.spar-draft-banner button{border:1px solid #7fb94b;background:#fff;color:#31561f;border-radius:10px;padding:8px 12px;font-weight:750;cursor:pointer}
.spar-network-banner{background:#fff7df;border:1px solid #ead28a;color:#5c4915}
.spar-review-panel{border:1px solid #dfe7db!important;background:linear-gradient(180deg,#fff,#fbfdf9)!important}
.spar-review-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.spar-edit-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}
.spar-edit-links button{appearance:none;border:1px solid #cfd8ca;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;color:#33402f;cursor:pointer}
.spar-edit-links button:hover{border-color:#70bf32;color:#2f7218}
.spar-price-explain{margin:12px 0;padding:11px 13px;border:1px solid #dfe6da;border-radius:12px;background:#fafcf8;color:#475043}
.spar-price-explain summary{cursor:pointer;font-weight:750;color:#25351f}
.spar-price-explain p{margin:8px 0 0;font-size:13px;line-height:1.55}
.spar-alt-toggle{margin-top:16px;padding-top:14px;border-top:1px solid #e4e9e0}
.spar-alt-appointment{margin-top:14px;padding:16px;border:1px dashed #bed3b0;border-radius:16px;background:#fbfef9}
.spar-contact-preference{margin:18px 0;border:0;padding:0}
.spar-contact-preference legend{font-weight:800;margin-bottom:9px;color:#263020}
.spar-contact-pref-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.spar-contact-pref-grid label{position:relative;margin:0;cursor:pointer}
.spar-contact-pref-grid input{position:absolute;opacity:0;pointer-events:none}
.spar-contact-pref-grid span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;border:1px solid #d7ded2;background:#fff;border-radius:12px;font-weight:750;color:#3d4738}
.spar-contact-pref-grid input:checked+span{border-color:#65bd2e;background:#effbe6;color:#2c6817;box-shadow:0 0 0 2px rgba(101,189,46,.12)}
.spar-success{max-width:840px;margin:0 auto;text-align:left!important}
.spar-success-check{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#68c936;color:#fff;font-size:30px;font-weight:900;margin:0 auto 14px}
.spar-success h2,.spar-success-lead{text-align:center}
.spar-success-card{background:#fff;border:1px solid #dae4d5;border-radius:18px;padding:20px;box-shadow:0 12px 34px rgba(37,52,31,.08);margin:18px 0}
.spar-success-ref{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #e5eae2}
.spar-success-ref span{font-size:13px;color:#677061}.spar-success-ref b{font-size:20px;color:#2e7017}
.spar-success-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.spar-success-facts>span{display:flex;flex-direction:column;gap:3px;padding:11px;border-radius:12px;background:#f7faf5}
.spar-success-facts small{color:#737c6e}.spar-success-facts b{color:#2d3529;line-height:1.35}
.spar-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.spar-success-actions button{min-height:46px;border-radius:12px;border:1px solid #bfc9ba;background:#fff;padding:10px 16px;font-weight:800;cursor:pointer}
.spar-success-actions button:last-child{background:#66c934;border-color:#66c934;color:#14240c}
.spar-success-next{background:#f5f8f2;border-radius:16px;padding:16px 18px;margin-top:16px}.spar-success-next ol{margin:9px 0 0 20px;line-height:1.6}
@media (max-width:760px){
 .spar-contact-pref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spar-success-facts{grid-template-columns:1fr}
 .spar-draft-banner{align-items:flex-start;flex-direction:column}
 .spar-edit-links{display:grid;grid-template-columns:1fr 1fr}.spar-edit-links button{border-radius:10px;min-height:42px}
 .spar-alt-appointment{padding:12px}
}
@media (max-width:480px){.spar-edit-links{grid-template-columns:1fr}.spar-contact-pref-grid span{min-height:48px}.spar-success-actions{display:grid}.spar-success-actions button{width:100%}}


/* v4.22.0 – Angebotsgenauigkeit */
.spar-accuracy-card{margin:16px 0 22px;padding:18px;border:1px solid #dce5d6;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fbf6 100%);box-shadow:0 10px 28px rgba(24,40,20,.06)}
.spar-accuracy-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.spar-accuracy-head small{display:block;color:#6e786a;font-weight:700}.spar-accuracy-head strong{display:block;margin-top:2px;font-size:26px;color:#20291e}.spar-accuracy-head>span{padding:7px 10px;border-radius:999px;background:#eef2ec;color:#566052;font-size:12px;font-weight:800}
.spar-accuracy-bar{height:8px;margin:13px 0;border-radius:999px;background:#e7ece4;overflow:hidden}.spar-accuracy-bar i{display:block;width:0;height:100%;border-radius:inherit;background:#76d600;transition:width .25s ease}
.spar-accuracy-card[data-tone="low"] .spar-accuracy-bar i{background:#c98520}.spar-accuracy-card[data-tone="medium"] .spar-accuracy-bar i{background:#d6aa22}.spar-accuracy-card[data-tone="excellent"] .spar-accuracy-bar i{background:#59b70b}
.spar-accuracy-card p{margin:0;color:#5e685a;line-height:1.5}.spar-accuracy-next{display:grid;gap:6px;margin-top:12px}.spar-accuracy-next span{display:block;padding:8px 10px;border-radius:10px;background:#f0f6eb;color:#43513e;font-size:13px}.spar-accuracy-next span.warning{background:#fff5df;color:#7b5310}
.spar-precision-questions{margin-top:18px;padding:16px;border-radius:16px;background:#f7faf5;border:1px solid #e1e9dc}.spar-precision-title{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.spar-precision-title b{font-size:15px;color:#273424}.spar-precision-title span{font-size:13px;color:#697465}.spar-precision-field small{display:block;margin-top:5px;color:#74806f}
.spar-summary-accuracy{margin:14px 0;padding:14px 15px;border-radius:14px;border:1px solid #dce5d6;background:#f8fbf6}.spar-summary-accuracy>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.spar-summary-accuracy span{font-size:13px;color:#667061}.spar-summary-accuracy b{color:#2e3a2a}.spar-summary-accuracy small{display:block;margin-top:6px;color:#667061}.spar-summary-accuracy.excellent{border-color:#b9df92;background:#f4faed}.spar-summary-accuracy.medium{border-color:#ead99b;background:#fffaf0}.spar-summary-accuracy.low{border-color:#efd1a8;background:#fff8ef}
@media(max-width:620px){.spar-accuracy-head,.spar-summary-accuracy>div{align-items:flex-start;flex-direction:column}.spar-precision-questions .spar-grid2{grid-template-columns:1fr}}


/* v4.22.1 – Erfolgsseite lesbar + Mess-Web-App deutlich sichtbar */
.spar-success>div{font-size:inherit!important;color:inherit!important}
.spar-success-check{font-size:30px!important;color:#fff!important}
.spar-success-card{font-size:15px!important;line-height:1.45!important;color:#2d3529!important}
.spar-success-ref span{font-size:13px!important}.spar-success-ref b{font-size:20px!important;line-height:1.2!important}
.spar-success-facts small{font-size:12px!important;line-height:1.35!important}
.spar-success-facts b{font-size:16px!important;line-height:1.35!important;font-weight:800!important;overflow-wrap:anywhere;word-break:normal}
.spar-success-next,.spar-success-actions{font-size:15px!important;color:#2d3529!important}
.spar-success-next b{font-size:16px!important}
.spar-success h2{font-size:32px!important;line-height:1.15!important;color:#263322!important;margin-bottom:8px!important}
.spar-success-lead{font-size:16px!important;line-height:1.5!important;color:#697264!important}
.spar-measure-explainer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:15px 17px;border:1px solid #cfe5bc;background:linear-gradient(135deg,#f7fcef,#fff);border-radius:16px;color:#2d3d26}
.spar-measure-explainer>div{display:flex;align-items:flex-start;gap:12px}.spar-measure-explainer-icon{font-size:25px;line-height:1}.spar-measure-explainer b{display:block;font-size:15px;margin-bottom:3px}.spar-measure-explainer small{display:block;color:#667260;line-height:1.45;font-size:12px}
.spar-measure-explainer a{flex:0 0 auto;text-decoration:none!important;border:1px solid #76c51f;border-radius:11px;padding:10px 12px;color:#315718!important;background:#fff;font-size:12px;font-weight:850;white-space:nowrap}
.spar-measure-explainer a:hover{background:#eff9e3}
.spar-measure-web{position:relative;background:linear-gradient(135deg,#eff9e3,#f9fff4)!important;border:2px solid #76c51f!important;color:#294315!important;padding:14px 14px!important;min-height:64px}
.spar-measure-web>span{font-size:24px!important}.spar-measure-web>b{font-size:15px!important;line-height:1.2}.spar-measure-web small{color:#627455!important;font-size:11px!important;margin-left:0!important}.spar-measure-web em{margin-left:auto;align-self:center;background:#76d600;color:#172500;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.spar-measure-open{opacity:.92}.spar-measure-actions{padding:10px;border-radius:14px;background:#fbfdf9;border:1px solid #e3eadf}
@media(max-width:900px){.spar-success{padding:38px 12px!important}.spar-success-facts{grid-template-columns:1fr!important}.spar-measure-explainer{align-items:stretch;flex-direction:column}.spar-measure-explainer a{text-align:center}.spar-success-card{padding:16px!important}}
@media(max-width:600px){.spar-success h2{font-size:26px!important}.spar-success-lead{font-size:14px!important}.spar-success-ref{align-items:flex-start;flex-direction:column;gap:5px}.spar-success-ref b{font-size:18px!important}.spar-measure-web{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center}.spar-measure-web small{grid-column:2/4;display:block!important}.spar-measure-web em{grid-column:3;grid-row:1}}


/* v4.22.4 – finale Responsive-Sicherheitsregeln */
.spar-viewport{box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;overflow-x:clip!important}
@supports not (overflow:clip){.spar-viewport{overflow-x:hidden!important}}
.spar-viewport>.spar-app{max-width:min(1180px,100%)!important}
@media(min-width:601px) and (max-width:1100px){.spar-viewport{padding-left:16px!important;padding-right:16px!important}.spar-viewport>.spar-app{width:100%!important}}
@media(max-width:600px){.spar-viewport{padding-left:0!important;padding-right:0!important}.spar-main{max-width:100vw!important}}

/* v4.22.4 – kompakter mobiler Fortschritt ohne horizontales Scrollen */
@media(max-width:600px){
 .spar-stepper{grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:hidden!important;padding:12px 8px 14px!important;gap:0!important}
 .spar-stepper>span{justify-content:center!important;gap:0!important;min-width:0!important}
 .spar-stepper b{display:none!important}
 .spar-stepper i{width:28px!important;height:28px!important;box-shadow:0 0 0 4px #fff!important}
 .spar-stepper>span:not(:last-child)::after{left:50%!important;right:-50%!important;top:13px!important}
}

/* v4.22.4 – ServicePro Wortmarke: Pro immer im Marken-Grün */
.spar-logo{color:#fff!important}
.spar-logo span{color:var(--spg)!important}

/* v4.22.5 – klarer Vergleich Einzelauftrag vs. Ganzjahres-Service */
.spar-contract-card-price{
 display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:14px;
 color:#25331f;font-style:normal
}
.spar-contract-card-price b{font-size:18px;line-height:1.25;color:#2d6813}
.spar-contract-card-price span{font-size:12px;color:#6a7465;font-weight:700}
.spar-contract-preview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.spar-contract-preview>span{padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.035)}
.spar-contract-preview em{padding-top:5px;line-height:1.5}
.spar-contract-preview .spar-contract-compare{padding:11px 12px;border-radius:10px;background:#314427;color:#f2f7ed}
.spar-annual-clarity{margin:16px 0;padding:18px;border:1px solid #b9df92;border-radius:15px;background:#f5fbeD}
.spar-annual-clarity h3{margin:0 0 13px!important;color:#254514!important}
.spar-annual-clarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.spar-annual-clarity-grid>div{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:12px;background:#fff;border:1px solid #dce8d3}
.spar-annual-clarity-grid small{color:#687264;font-weight:700}
.spar-annual-clarity-grid b{font-size:20px;color:#2f7413}
.spar-annual-clarity-grid span{font-size:13px;color:#586253;line-height:1.4}
.spar-annual-clarity p{margin:13px 0 0!important;color:#3f4a3a!important;line-height:1.55!important}
@media(max-width:760px){.spar-annual-clarity-grid{grid-template-columns:1fr}.spar-contract-card-price b{font-size:17px}}


/* v4.22.6 – eigene Ortsvorschläge statt nativer Safari/iPad-Datalist */
.spar-city-lookup{position:relative}
.spar-city-suggestions{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;border:1px solid #d9e2d4;border-radius:14px;background:#fff;box-shadow:0 16px 36px rgba(25,38,22,.16);padding:6px}
.spar-city-suggestions[hidden]{display:none!important}
.spar-city-suggestions button{display:block;width:100%;border:0;background:transparent;color:#1d271c;text-align:left;padding:11px 12px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.spar-city-suggestions button:hover,.spar-city-suggestions button:focus,.spar-city-suggestions button.is-active{background:#eef8e8;outline:none;color:#24451c}
@media(max-width:600px){.spar-city-suggestions{max-height:240px}}

/* v4.22.6 – klare Ortsaktionen auf Touch-Geräten */
.spar-city-actions{display:flex;gap:8px;align-items:stretch}
.spar-city-actions button{border:1px solid rgba(101,212,110,.65);background:#182019;color:#dfffe1;border-radius:10px;padding:0 14px;min-height:48px;font-weight:800;white-space:nowrap;cursor:pointer}
.spar-city-actions button:hover,.spar-city-actions button:focus{background:#223025;border-color:#65d46e}
.spar-city-actions .spar-city-clear{position:static!important;right:auto!important;top:auto!important;transform:none!important;width:auto!important;height:auto!important;min-height:48px!important;padding:0 12px!important;border:1px solid #d9e2d4!important;border-radius:10px!important;background:#f4f7f2!important;color:#394536!important;font-size:.92rem!important;font-weight:750!important;line-height:1.2!important;display:block;place-items:unset;z-index:auto}
.spar-city-actions .spar-city-clear:hover,.spar-city-actions .spar-city-clear:focus{background:#e9efe6!important;color:#1f2a1d!important;outline:2px solid rgba(101,212,110,.35);outline-offset:1px}
.spar-city-actions .spar-city-clear[hidden]{display:none!important}
@media(max-width:600px){.spar-city-actions{width:100%}.spar-city-actions button{flex:1}.spar-city-actions .spar-city-clear{flex:0 0 auto}}

/* v4.22.7 – einmalige Einsatzadresse + PLZ-Ortssuche */
.spar-address-card{border:1px solid #dce5df;background:#f8fbf9;border-radius:18px;padding:18px;margin:0 0 14px}
.spar-address-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.spar-address-head b{display:block;font-size:16px;color:#17201b}.spar-address-head small{display:block;color:#647069;margin-top:3px;line-height:1.4}
.spar-address-street{grid-column:1/-1}.spar-contact-address-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce5df;background:#f8fbf9;border-radius:14px;padding:13px 14px;margin:12px 0 16px}.spar-contact-address-card small{display:block;color:#6d776f;font-size:12px;margin-bottom:3px}.spar-contact-address-card b{display:block;color:#17201b;line-height:1.35}.spar-contact-address-card button{flex:0 0 auto;background:#fff;border:1px solid #b9c8bf;color:#27352d;border-radius:10px;padding:9px 11px;font-weight:700;cursor:pointer}
@media(max-width:680px){.spar-contact-address-card{align-items:flex-start;flex-direction:column}.spar-contact-address-card button{width:100%}.spar-address-card{padding:14px}}

.spar-summary-address{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce5df;background:#fff;border-radius:14px;padding:13px 14px;margin:12px 0}.spar-summary-address small,.spar-summary-address span{display:block;color:#6a766e;font-size:12px}.spar-summary-address b{display:block;color:#17201b;margin:2px 0 3px;line-height:1.35}.spar-summary-address button{flex:0 0 auto;background:#f5f8f6;border:1px solid #c5d2ca;border-radius:9px;padding:8px 10px;font-weight:700;color:#26382e;cursor:pointer}@media(max-width:680px){.spar-summary-address{align-items:flex-start;flex-direction:column}.spar-summary-address button{width:100%}}


/* v4.22.8 – eindeutige PLZ → Ort → Straße Reihenfolge */
.spar-address-card .spar-travel-zone-grid{
  grid-template-columns:1fr!important;
  align-items:start!important;
  gap:14px!important;
}
.spar-address-card .spar-travel-zone-grid>label{
  width:100%!important;
  min-width:0!important;
  align-self:start!important;
}
.spar-address-card .spar-address-postcode{max-width:360px!important}
.spar-address-card .spar-address-street{grid-column:auto!important}
.spar-address-card .spar-city-lookup{max-width:920px}
@media(max-width:600px){
  .spar-address-card .spar-address-postcode{max-width:none!important}
}


/* v4.22.9 – Ganzjahres-Service: Preis je Termin ist die Hauptzahl */
.spar-contract-card-price-annual b{font-size:22px;line-height:1.2;color:#2d7412}
.spar-contract-card-price-annual span{font-size:12px;color:#44513f;font-weight:800;line-height:1.4}
.spar-contract-card-price-annual small{font-size:11px;color:#74806f;font-weight:700;line-height:1.4;margin-top:2px}
@media(max-width:760px){.spar-contract-card-price-annual b{font-size:19px}}


/* v4.22.10 – Fortschrittslinie läuft nur zwischen den Schrittbezeichnungen, niemals durch den Text */
.spar-stepper b{position:relative!important;z-index:2!important;background:#fff!important;padding-right:8px!important}
