/* MEINsektenschutz Brand Colors */
:root{
  --ispr-primary:#2a5a8c;
  --ispr-primary-dark:#1e4a75;
  --ispr-primary-light:#3a7ab8;
  --ispr-accent:#5b9bd5;
  --ispr-secondary:#f0f5fa;
  --ispr-text:#333;
  --ispr-text-muted:#666;
  --ispr-border:#d5dde8;
  --ispr-shadow:0 4px 20px rgba(42,90,140,0.1);
  --ispr-radius:12px;
}

.ispr{font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:var(--ispr-text)}
.ispr-card{
  max-width:980px;
  margin:24px auto;
  padding:28px;
  border:none;
  border-radius:var(--ispr-radius);
  background:#fff;
  position:relative;
  box-shadow:var(--ispr-shadow);
}
.ispr-version{position:absolute;top:12px;right:16px;font-size:11px;color:#888;background:var(--ispr-secondary);padding:3px 10px;border-radius:20px}
.ispr-card h3{color:var(--ispr-primary);margin:0 0 12px 0;font-size:22px;padding-left:90px}

/* Floating mascot image - top left, peeking out */
.ispr-mascot{
  position:absolute;
  top:-25px;
  left:-25px;
  width:100px;
  height:100px;
  z-index:10;
}
.ispr-mascot img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
  padding:6px;
  box-shadow:0 4px 20px rgba(42,90,140,0.25);
  border:3px solid var(--ispr-accent);
  transition:transform 0.3s ease;
}
.ispr-mascot img:hover{
  transform:scale(1.08) rotate(-5deg);
}

.ispr-intro{color:var(--ispr-text-muted);font-size:14px;line-height:1.7;margin-bottom:20px;padding-left:90px}
.ispr-intro strong{color:var(--ispr-primary)}
.ispr-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}
.ispr-row label{min-width:100px;font-weight:600;color:var(--ispr-text)}
.ispr-row input,.ispr-row select{
  padding:10px 14px;
  border:2px solid var(--ispr-border);
  border-radius:8px;
  font-size:14px;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.ispr-row input:focus,.ispr-row select:focus{
  border-color:var(--ispr-primary);
  outline:none;
  box-shadow:0 0 0 3px rgba(42,90,140,0.15);
}
.ispr .ispr-row button,
.ispr .ispr-row button[type="button"]{
  padding:10px 18px;
  border-radius:8px;
  border:2px solid var(--ispr-primary) !important;
  background:var(--ispr-primary) !important;
  color:#fff !important;
  cursor:pointer;
  font-weight:600;
  transition:all 0.2s;
  outline:none !important;
}
.ispr .ispr-row button:hover,
.ispr .ispr-row button:focus,
.ispr .ispr-row button[type="button"]:hover,
.ispr .ispr-row button[type="button"]:focus{
  background:#1e4a75 !important;
  border-color:#1e4a75 !important;
  color:#fff !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(42,90,140,0.25) !important;
}
.ispr .ispr-row button:active,
.ispr .ispr-row button[type="button"]:active{
  background:#1e4a75 !important;
  border-color:#1e4a75 !important;
  color:#fff !important;
  outline:none !important;
  box-shadow:none !important;
}
div.ispr .ispr-primary,
div.ispr button.ispr-primary,
div.ispr button[type="button"].ispr-primary{
  background:#2a5a8c !important;
  border:2px solid #2a5a8c !important;
  color:#fff !important;
  font-weight:600 !important;
  padding:12px 24px !important;
  font-size:15px !important;
  border-radius:8px !important;
  cursor:pointer !important;
  box-shadow:0 2px 8px rgba(42,90,140,0.25) !important;
  outline:none !important;
  transition:all 0.2s !important;
}
div.ispr .ispr-primary:hover,
div.ispr button.ispr-primary:hover,
div.ispr .ispr-primary:focus,
div.ispr button.ispr-primary:focus{
  background:#1e4a75 !important;
  border-color:#1e4a75 !important;
  color:#fff !important;
  outline:none !important;
}
div.ispr .ispr-primary:active,
div.ispr button.ispr-primary:active{
  background:#1e4a75 !important;
  border-color:#1e4a75 !important;
  color:#fff !important;
  box-shadow:none !important;
}
.ispr-primary:disabled{
  opacity:0.5;
  cursor:not-allowed !important;
  transform:none !important;
}
.ispr-muted{color:var(--ispr-text-muted);font-size:13px}
.ispr-box{
  background:var(--ispr-secondary);
  padding:14px 16px;
  border-radius:var(--ispr-radius);
  border:1px solid var(--ispr-border);
  margin-top:12px;
}
.ispr-hidden{display:none}

/* PLZ-Box: farbige Zeilen für Service-Optionen */
.ispr-plz-vorort{
  display:inline-block;
  background:rgba(74,124,35,0.12);
  padding:2px 8px;
  border-radius:4px;
  color:#3d6a1c;
}
.ispr-plz-no{
  display:inline-block;
  background:rgba(180,30,30,0.10);
  padding:2px 8px;
  border-radius:4px;
  color:#a82020;
}
.ispr-plz-self{
  display:inline-block;
  background:rgba(214,136,0,0.12);
  padding:2px 8px;
  border-radius:4px;
  color:#b97a00;
}
/* Icons für möglich / nicht möglich */
.ispr-icon-yes{
  color:#3d6a1c;
  font-weight:700;
  margin-right:2px;
}
.ispr-icon-no{
  color:#a82020;
  font-weight:700;
  margin-right:2px;
}

/* Smooth slide-down animations */
.ispr-slide{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height 0.4s ease-out, opacity 0.3s ease-out, margin 0.3s ease-out, padding 0.3s ease-out;
  margin-top:0;
  padding-top:0;
  padding-bottom:0;
}
.ispr-slide.ispr-open{
  max-height:500px;
  opacity:1;
  margin-top:12px;
  padding:14px 16px;
}
.ispr-slide-simple{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height 0.4s ease-out, opacity 0.3s ease-out, margin 0.3s ease-out;
  margin:0;
}
.ispr-slide-simple.ispr-open{
  max-height:200px;
  opacity:1;
  margin:12px 0;
}

/* Disabled state for table before PLZ check */
#ispr-table-wrap{
  background:var(--ispr-secondary);
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  padding:16px;
  margin-top:16px;
}
.ispr-disabled{
  position:relative;
  pointer-events:none;
  overflow:hidden;
}
.ispr-disabled::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(240,245,250,0.4);
  z-index:1;
}
.ispr-disabled-overlay{
  position:absolute;
  top:calc(50% - 20px);
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  background:#fff;
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  padding:18px 28px;
  font-size:15px;
  font-weight:600;
  color:var(--ispr-primary);
  box-shadow:var(--ispr-shadow);
  white-space:nowrap;
  transition:opacity 0.3s ease-out;
}
.ispr-disabled-overlay.ispr-fade-out{
  opacity:0;
  pointer-events:none;
}

/* Table activation animation */
.ispr-disabled.ispr-activating::after{
  opacity:0;
  transition:opacity 0.4s ease-out;
}

.ispr-table{width:100%;border-collapse:collapse;margin:0}
.ispr-table th{background:rgba(42,90,140,0.1);color:var(--ispr-primary-dark);font-weight:600;font-size:12px;letter-spacing:0.3px}
.ispr-table th.ispr-th-vorort{background:rgba(74,124,35,0.12);color:#3d6a1c}
.ispr-table th.ispr-th-self{background:rgba(214,136,0,0.12);color:#b97a00}
.ispr-table th,.ispr-table td{border-bottom:1px solid var(--ispr-border);padding:10px 8px;text-align:left;vertical-align:top}
.ispr-table tbody tr:hover{background:rgba(240,245,250,0.5)}
.ispr-table input,.ispr-table select{width:100%;padding:8px 10px;border:2px solid var(--ispr-border);border-radius:6px;font-size:13px}
.ispr-table input:focus,.ispr-table select:focus{border-color:var(--ispr-primary);outline:none}

/* Buttons inside table wrap */
#ispr-table-wrap button{
  margin-top:12px;
  margin-right:8px;
}
#ispr-add{
  background:#fff;
  color:var(--ispr-primary);
  border:2px solid var(--ispr-border);
  border-radius:8px;
  padding:10px 16px;
  cursor:pointer;
  font-weight:600;
  transition:all 0.2s;
}
#ispr-add:hover{
  border-color:var(--ispr-primary);
  background:var(--ispr-secondary);
}

.ispr-del{background:#fff;color:#999;border:2px solid #eee;border-radius:8px;padding:6px 12px;cursor:pointer;transition:all 0.2s}
.ispr-del:hover{background:#fee;border-color:#e74c3c;color:#e74c3c}
.ispr-preview{min-width:120px;font-size:13px;line-height:1.5}
.ispr-price-preview{color:#3d6a1c;font-weight:700}
.ispr-price-self{color:#d68800 !important}
.ispr-error{color:#e74c3c;font-size:12px}
.ispr-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.ispr-result{
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  padding:16px;
  background:#fff;
  position:relative;
  transition:all 0.2s;
}
.ispr-result:hover{box-shadow:var(--ispr-shadow);transform:translateY(-2px)}
.ispr-price{font-size:20px;font-weight:800;margin-top:16px;padding-top:12px;border-top:2px solid var(--ispr-border)}
.ispr-warn{
  margin-top:12px;
  padding:12px 14px;
  border-radius:var(--ispr-radius);
  border:2px solid #f2c94c;
  background:#fffcf0;
  color:#8a6d00;
}
.ispr-inline{display:flex;gap:8px;align-items:center;font-weight:600}
.ispr-choice-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  background:#fff;
  margin:10px 0;
  cursor:pointer;
  transition:all 0.2s;
}
.ispr-choice-item:hover{border-color:var(--ispr-primary);background:var(--ispr-secondary)}
.ispr-choice-item input{margin-top:3px}
.ispr-option-item{
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px 16px;
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  background:#fff;
  margin:10px 0;
  cursor:pointer;
  transition:all 0.2s;
}
.ispr-option-item:hover{
  border-color:var(--ispr-primary);
  background:var(--ispr-secondary);
}
.ispr-option-item input[type="checkbox"]{
  width:20px;
  height:20px;
  accent-color:var(--ispr-primary);
}
#ispr-extra-options{
  margin-bottom:18px;
  padding:0;
  border-bottom:none;
}
.ispr-dim{opacity:0.45;filter:grayscale(0.3)}
.ispr-bad td{
  background:#fff5f5;
  border-bottom-color:#ffd1d1;
}
.ispr-bad input, .ispr-bad select{
  border-color:#ff6b6b !important;
}
.ispr-toggle{
  display:inline-flex;
  gap:6px;
  border:none;
  border-radius:var(--ispr-radius);
  overflow:visible;
  background:transparent;
}

/* Toggle-Buttons: maximale Spezifität gegen Theme-Overrides */
div.ispr #ispr-mode-toggle button,
div.ispr #ispr-mode-toggle button[type="button"]{
  padding:10px 18px !important;
  border:2px solid #d5dde8 !important;
  border-radius:8px !important;
  background:#ffffff !important;
  cursor:pointer !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#999999 !important;
  transition:all 0.2s !important;
  outline:none !important;
  box-shadow:none !important;
}

div.ispr #ispr-mode-toggle button small{
  font-weight:400;
  font-size:11px;
  color:inherit !important;
}

div.ispr #ispr-mode-toggle button.active,
div.ispr #ispr-mode-toggle button[type="button"].active{
  background:#2a5a8c !important;
  color:#ffffff !important;
  border-color:#2a5a8c !important;
}

div.ispr #ispr-mode-toggle button:not(.active):hover,
div.ispr #ispr-mode-toggle button[type="button"]:not(.active):hover{
  border-color:#2a5a8c !important;
  background:#f0f5fa !important;
  color:#333333 !important;
}

div.ispr #ispr-mode-toggle button:not(.active):focus,
div.ispr #ispr-mode-toggle button[type="button"]:not(.active):focus{
  border-color:#2a5a8c !important;
  background:#ffffff !important;
  color:#999999 !important;
  box-shadow:0 0 0 3px rgba(42,90,140,0.2) !important;
}

.ispr-feature-list{
  margin:10px 0 0 0;
  padding:0 0 0 20px;
  font-size:13px;
  color:var(--ispr-text-muted);
}
.ispr-feature-list li{
  margin:4px 0;
  list-style:none;
  position:relative;
}
.ispr-feature-list li::before{
  content:'✓';
  position:absolute;
  left:-18px;
  color:var(--ispr-primary);
  font-weight:bold;
}

/* Result card selection + color coding */
.ispr-result{cursor:pointer;transition:all 0.2s}
.ispr-result:hover{box-shadow:var(--ispr-shadow);transform:translateY(-2px)}
.ispr-result-label{display:block;cursor:pointer}
.ispr-result input[type="radio"]{position:absolute;top:14px;right:14px;width:22px;height:22px;accent-color:var(--ispr-primary)}
.ispr-result h4{margin:0 0 10px 0;padding-right:34px;font-size:16px}
.ispr-result .ispr-feature-list{margin-bottom:12px}

/* Vor-Ort (Premium/Grün) */
.ispr-vorort{background:linear-gradient(135deg,#f0f9e8 0%,#e8f5e0 100%);border-color:var(--ispr-accent)}
.ispr-vorort h4{color:var(--ispr-primary-dark)}
.ispr-vorort .ispr-price{color:var(--ispr-primary)}
.ispr-vorort:hover{border-color:var(--ispr-primary)}

/* Selbstaufmaß (Standard) */
.ispr-self{background:linear-gradient(135deg,#fff9f0 0%,#fff5e8 100%);border-color:#f5d9a8}
.ispr-self h4{color:#b97a00}
.ispr-self .ispr-price{color:#d68800}
.ispr-self:hover{border-color:#e8a830}

.ispr-card-option{
  margin-top:14px;
  padding:12px 14px;
  background:rgba(255,255,255,0.8);
  border:2px solid #f5d9a8;
  border-radius:8px;
  cursor:pointer;
  transition:all 0.2s;
}
.ispr-card-option:hover{background:#fff;border-color:#e8a830}
.ispr-card-option label{display:flex;gap:10px;align-items:center;cursor:pointer}
.ispr-card-option input[type="checkbox"]{width:20px;height:20px;accent-color:#d68800}
.ispr-card-option-checked{
  background:rgba(74,124,35,0.08) !important;
  border-color:rgba(74,124,35,0.3) !important;
}
.ispr-card-option-checked input[type="checkbox"]{
  accent-color:#4a7c23 !important;
}

.ispr-unavailable{opacity:0.7}

.ispr-choice-item span > .ispr-muted{
  display:block;
  margin-top:2px;
}

/* Kontaktformular */
#ispr-contact h4{
  margin-bottom:18px;
  color:var(--ispr-primary);
}
.ispr-form-row{
  display:flex;
  gap:14px;
  margin-bottom:14px;
}
.ispr-form-group{
  flex:1;
  margin-bottom:14px;
}
.ispr-form-group label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
  font-size:14px;
  color:var(--ispr-text);
}
.ispr-form-group input,
.ispr-form-group textarea{
  width:100%;
  padding:12px 14px;
  border:2px solid var(--ispr-border);
  border-radius:8px;
  font-size:14px;
  box-sizing:border-box;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.ispr-form-group input:focus,
.ispr-form-group textarea:focus{
  border-color:var(--ispr-primary);
  outline:none;
  box-shadow:0 0 0 3px rgba(42,90,140,0.15);
}
.ispr-form-small{flex:0 0 130px;}
.ispr-form-large{flex:2;}

.ispr-checkbox-label{
  display:flex;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
  font-size:14px;
}
.ispr-checkbox-label input{
  margin-top:3px;
  width:20px;
  height:20px;
  accent-color:var(--ispr-primary);
}
/* Absagegrund-Formular */
#ispr-decline{
  background:var(--ispr-secondary);
  border:2px solid var(--ispr-border);
  border-radius:var(--ispr-radius);
  padding:24px 28px;
  margin-top:16px;
}
#ispr-decline h4{
  color:var(--ispr-primary);
  margin:0 0 4px 0;
  font-size:18px;
}
#ispr-decline > .ispr-muted{
  margin-bottom:20px;
  display:block;
}
#ispr-decline .ispr-form-group{
  margin-bottom:20px;
}
#ispr-decline .ispr-checkbox-label{
  margin-bottom:0;
  padding:10px 14px;
  border:2px solid transparent;
  border-radius:8px;
  transition:all 0.15s;
}
#ispr-decline .ispr-checkbox-label:hover{
  background:#fff;
  border-color:var(--ispr-border);
}
#ispr-decline .ispr-checkbox-label + .ispr-checkbox-label{
  margin-top:6px;
}
#ispr-decline label[for="ispr-decline-text"]{
  font-weight:600;
  margin-bottom:8px;
  display:block;
  color:var(--ispr-text);
}
#ispr-decline textarea{
  width:100%;
  padding:12px 14px;
  border:2px solid var(--ispr-border);
  border-radius:8px;
  font-size:14px;
  box-sizing:border-box;
  transition:border-color 0.2s, box-shadow 0.2s;
  resize:vertical;
}
#ispr-decline textarea:focus{
  border-color:var(--ispr-primary);
  outline:none;
  box-shadow:0 0 0 3px rgba(42,90,140,0.15);
}

.ispr-action-buttons{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
}

.ispr-form-actions{
  display:flex;
  gap:14px;
  margin-top:22px;
  padding-top:18px;
  border-top:2px solid var(--ispr-border);
}
div.ispr .ispr-secondary,
div.ispr button.ispr-secondary,
div.ispr button[type="button"].ispr-secondary{
  padding:12px 22px !important;
  border-radius:8px !important;
  border:2px solid var(--ispr-border) !important;
  background:#fff !important;
  color:#333 !important;
  cursor:pointer !important;
  font-weight:600 !important;
  font-size:15px !important;
  transition:all 0.2s !important;
}
div.ispr .ispr-secondary:hover,
div.ispr button.ispr-secondary:hover,
div.ispr button[type="button"].ispr-secondary:hover{
  background:var(--ispr-secondary) !important;
  border-color:var(--ispr-primary) !important;
  color:#1e4a75 !important;
}
div.ispr .ispr-secondary:focus,
div.ispr button.ispr-secondary:focus{
  outline:none !important;
  box-shadow:0 0 0 3px rgba(42,90,140,0.2) !important;
  color:#333 !important;
}

/* Erfolgsmeldung */
.ispr-success-box{
  text-align:center;
  padding:36px;
  background:linear-gradient(135deg,#f0f5fa 0%,#e0ecf5 100%);
  border:2px solid var(--ispr-accent);
  border-radius:var(--ispr-radius);
}
.ispr-success-icon{
  display:inline-block;
  width:70px;
  height:70px;
  line-height:70px;
  font-size:36px;
  background:var(--ispr-primary);
  color:#fff;
  border-radius:50%;
  margin-bottom:18px;
  box-shadow:0 4px 15px rgba(42,90,140,0.3);
}
.ispr-success-box h4{
  color:var(--ispr-primary);
  margin:0 0 10px 0;
  font-size:20px;
}
.ispr-success-box p{
  color:var(--ispr-text-muted);
  margin:0;
  font-size:15px;
}

/* Modal Overlay */
.ispr-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  animation:ispr-fadeIn 0.2s ease-out;
}
.ispr-modal-overlay.ispr-hidden{display:none}
.ispr-modal{
  background:#fff;
  border-radius:var(--ispr-radius);
  padding:28px 32px;
  max-width:480px;
  width:90%;
  box-shadow:0 8px 40px rgba(0,0,0,0.25);
  animation:ispr-slideUp 0.25s ease-out;
}
.ispr-modal h4{
  margin:0 0 8px 0;
  color:var(--ispr-primary);
  font-size:18px;
}
.ispr-modal-choices{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}
.ispr-modal-choice{
  padding:16px 20px;
  border-radius:10px;
  border:2px solid var(--ispr-border);
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:all 0.2s;
  font-size:14px;
}
.ispr-modal-choice:hover{
  transform:translateY(-2px);
  box-shadow:var(--ispr-shadow);
}
.ispr-modal-vorort:hover,.ispr-modal-vorort:focus{
  border-color:#4a7c23;
  background:rgba(74,124,35,0.06);
}
.ispr-modal-vorort strong{color:#3d6a1c}
.ispr-modal-self:hover,.ispr-modal-self:focus{
  border-color:#d68800;
  background:rgba(214,136,0,0.06);
}
.ispr-modal-self strong{color:#b97a00}
.ispr-modal-choice small{color:#333}
.ispr-modal-choice:hover small{color:#333}
@keyframes ispr-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes ispr-slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.ispr-modal-self-options{
  padding:12px 0 0 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ispr-modal-self-options.ispr-hidden{display:none}
.ispr-modal-option{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  border:2px solid var(--ispr-border);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  transition:all 0.2s;
  font-size:14px;
}
.ispr-modal-option:hover{
  border-color:#d68800;
  background:rgba(214,136,0,0.04);
}
.ispr-modal-option input[type="checkbox"]{
  width:20px;
  height:20px;
  accent-color:#d68800;
}


/* ==========================================================================
   MOBILE RESPONSIVE – Card Layout für Tabelle
   ========================================================================== */

@media (max-width:768px){
  /* --- Allgemeines Layout --- */
  .ispr-card{padding:16px;margin:10px;padding-top:60px}
  .ispr-mascot{top:-20px;left:50%;transform:translateX(-50%);width:80px;height:80px}
  .ispr-card h3,.ispr-intro{padding-left:0;text-align:center}
  .ispr-row{flex-direction:column;align-items:stretch;gap:8px}
  .ispr-row label{min-width:auto;font-size:14px}
  .ispr-row input,.ispr-row select{width:100%;box-sizing:border-box}
  .ispr-toggle{width:100%}
  .ispr-toggle button{flex:1}

  /* --- Tabellen-Wrapper --- */
  #ispr-table-wrap{padding:10px;overflow-x:visible}
  .ispr-disabled-overlay{top:50%;white-space:normal;text-align:center;max-width:90%;padding:14px 16px !important;font-size:13px}

  /* --- Tabelle → Card-Layout --- */
  .ispr-table thead{display:none}
  .ispr-table,
  .ispr-table tbody{display:block;width:100%}
  .ispr-table tbody tr{
    display:block;
    background:#fff;
    border:2px solid var(--ispr-border);
    border-radius:var(--ispr-radius);
    padding:18px 20px;
    margin-bottom:12px;
    position:relative;
    box-shadow:0 2px 8px rgba(42,90,140,0.06);
  }
  .ispr-table tbody tr:hover{
    background:#fff;
    box-shadow:0 2px 12px rgba(42,90,140,0.12);
  }
  .ispr-table td{
    display:flex;
    align-items:center;
    gap:12px;
    padding:8px 0;
    border-bottom:none;
    width:100% !important;
    box-sizing:border-box;
  }
  .ispr-table td::before{
    content:attr(data-label);
    flex:0 0 100px;
    font-weight:600;
    font-size:13px;
    color:var(--ispr-primary-dark);
    padding:5px;
  }
  .ispr-table td input,
  .ispr-table td select{
    flex:1;
    min-width:0;
    width:auto !important;
    font-size:14px;
    padding:10px 12px;
    margin-right:5px;
  }

  /* Maße jeweils eigene Zeile */

  /* Preisvorschau-Zellen */
  .ispr-preview{
    min-width:0 !important;
    font-size:13px !important;
    padding:8px 0 !important;
  }
  .ispr-preview::before{
    font-size:12px;
  }

  /* Löschen-Button: eigene Zeile am Ende der Card */
  .ispr-td-del{
    justify-content:flex-end !important;
    padding:8px 0 8px 0 !important;
    border-bottom:2px solid var(--ispr-border) !important;
  }
  .ispr-td-del::before{display:none !important}
  .ispr-del{
    width:auto;
    padding:6px 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:13px;
    border-radius:8px;
    background:#fff;
    color:#e74c3c;
    border:2px solid #fdd;
  }
  .ispr-del:hover{
    background:#fee;
    border-color:#e74c3c;
  }

  /* Fehler-Zeilen */
  .ispr-bad{border-color:#ff6b6b !important}

  /* Buttons unter Tabelle */
  #ispr-table-wrap > button{
    display:block;
    width:100%;
    margin-right:0;
    margin-top:10px;
    box-sizing:border-box;
  }

  /* --- Ergebnis-Karten --- */
  .ispr-results{grid-template-columns:1fr;gap:12px}
  .ispr-result{padding:14px}
  .ispr-price{font-size:18px}

  /* --- Aktions-Buttons (Jetzt anfragen / Vorerst kein Interesse) --- */
  div.ispr .ispr-action-buttons{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    margin-top:16px;
  }
  div.ispr .ispr-action-buttons button,
  div.ispr .ispr-action-buttons button.ispr-primary,
  div.ispr .ispr-action-buttons button.ispr-secondary{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin:0 !important;
    text-align:center !important;
  }

  /* --- Kontaktformular --- */
  .ispr-form-row{flex-direction:column;gap:0}
  .ispr-form-small{flex:1}
  .ispr-form-actions{flex-direction:column;gap:10px}
  .ispr-form-actions button{width:100%;box-sizing:border-box}

  /* --- Modal --- */
  .ispr-modal{padding:20px 16px;width:95%}
  .ispr-modal h4{font-size:16px}
  .ispr-modal-choice{padding:14px 16px}

  /* --- Absagegrund --- */
  #ispr-decline{padding:18px 16px}
  #ispr-decline .ispr-checkbox-label{padding:8px 10px;font-size:13px}

  /* --- Warnungen & Boxen --- */
  .ispr-warn{font-size:13px;padding:10px 12px}
  .ispr-box{padding:12px}

  /* --- Optionen --- */
  .ispr-option-item{padding:10px 12px;gap:10px}
  .ispr-option-item span{font-size:13px}

  /* --- Erfolgsmeldung --- */
  .ispr-success-box{padding:24px 16px}
  .ispr-success-icon{width:56px;height:56px;line-height:56px;font-size:28px}
  .ispr-success-box h4{font-size:17px}
}

/* Extra-klein */
@media (max-width:400px){
  .ispr-card{padding:12px;margin:6px;padding-top:55px}
  .ispr-mascot{width:70px;height:70px}
  .ispr-card h3{font-size:18px}
  .ispr-intro{font-size:13px}
}
