.kontakt-popup {
    position: relative;
    border-radius: 16px;
    background: #f7f7f7;
    box-shadow: 0px 1px 6.6px 0px rgba(0, 0, 0, 0.05),0px 0px 1.2px 0px rgba(0, 0, 0, 0.1), 0px 0px 20.8px 0px rgba(0, 0, 0, 0.05);
    z-index: 1;
    max-width: 768px;
    margin: 40px auto;
}
.kontakt-popup .form-wrap .wpcf7 {
    border-radius: 0 0 16px 16px;
}
.kontakt-popup .form-wrap::after,
.kontakt-popup .form-wrap::before {
    content: none !important;
}
.kontakt-popup .mfp-close {
    right: 5px;
    top: 5px;
    font-size: 44px;
    font-family: icon;
}
.kontakt-popup .fieldset-cf7mls-wrapper,
.kontakt-popup .wpcf7-form {
    overflow: visible !important;
}
.kontakt-popup .form-steps {
    position: static;
    display: flex;
    transform: none;
}

@media (max-width: 767.98px) {
    .kontakt-popup .mfp-close {right: 0px;top: 2px;}
}

.register-popup {
    position: relative;
    border-radius: 16px;
    background: #f7f7f7;
    box-shadow: 0px 1px 6.6px 0px rgba(0, 0, 0, 0.05),0px 0px 1.2px 0px rgba(0, 0, 0, 0.1), 0px 0px 20.8px 0px rgba(0, 0, 0, 0.05);
    z-index: 1;
    max-width: 768px;
    margin: 40px auto;
}
.register-popup .mfp-close {
    right: 5px;
    top: 5px;
    font-size: 44px;
    font-family: icon;
} 
 
:root{
    --pcream:#FBF7F1;
    --pcream-2:#F7F7F7; 
    --pcream-3:#E9DDC6;
    --fporest:#2F4F70;
    --fporest-2:#2D5438;
    --fporest-3:#3D6E49;
    --pterracotta:#2F4F70;
    --pterracotta-2:#9EB6CF;   
    --pblush:#9EB6CF;
    --pblush-2:#9EB6CF;
    --pgold:#B8924A; 
    --p-ink:#141414;
    --p-ink-soft:#4A4A4A;
    --pline:rgba(20,20,20,0.12); 
    --pline-cream:rgba(251,247,241,0.18); 
}

/* === MODAL — KLINIK MUSTERBESTELLUNG === */
.modal-overlay{
    position:fixed;inset:0;z-index:1000;
    background:rgba(20,20,20,0.55);backdrop-filter:blur(6px);
    display:none;align-items:flex-start;justify-content:center;
    padding:40px 20px;overflow-y:auto;
    opacity:0;transition:opacity 0.25s ease;
  }
  .modal-overlay.active{display:flex;opacity:1}
  .modal{
    background:var(--pcream);border-radius:10px;
    max-width:680px;width:100%;
    position:relative;overflow:hidden;
    box-shadow:0 32px 80px rgba(0,0,0,0.25);
    transform:translateY(20px);
    transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);
    margin:auto;
  }
  .modal-overlay.active .modal{transform:translateY(0)}
  .modal-close{
    position:absolute;top:18px;right:18px;
    width:36px;height:36px;border-radius:50%;border:none;
    background:rgba(31,61,43,0.06);cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:var(--fporest);transition:all 0.2s;z-index:5;
  }
  .modal-close:hover{background:var(--fporest);color:var(--pcream);transform:rotate(90deg)}
  .modal-header{
    padding:44px 48px 28px;background:var(--pcream-2);
    border-bottom:1px solid var(--pline);position:relative;
    border-radius: 16px 16px 0 0;
  }
  .modal-eyebrow{
    font-family:var(--font--global-font),sans-serif;text-transform:uppercase;
    letter-spacing:0.18em;font-size:11px;font-weight:600;
    color:var(--pterracotta);margin-bottom:14px;position:relative;z-index:2;
  }
  .modal-title{
    font-family:var(--font--global-font),serif;font-size:30px;color:var(--fporest);
    margin-bottom:10px;font-weight:500;letter-spacing:-0.015em;
    line-height:1.15;position:relative;z-index:2;
  }
  .modal-title em{font-family:Nyght Serif,serif;color:var(--pterracotta)}
  .modal-sub{
    font-size:14px;color:var(--p-ink-soft);line-height:1.55;
    position:relative;z-index:2;
  }
  .modal-body{padding:36px 48px 40px}
  .modal-section-title{
    font-family:var(--font--global-font),sans-serif;font-size:11px;
    text-transform:uppercase;letter-spacing:0.16em;font-weight:600;
    color:var(--pterracotta);margin:24px 0 14px;
  }
  .modal-section-title:first-child{margin-top:0}
  .modal-row{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;
  }
  .modal-row-full{display:block;margin-bottom:14px}
  .modal-field{display:flex;flex-direction:column;gap:6px}
  .modal-label{
    font-size:12px;color:var(--p-ink);font-weight:600;letter-spacing:-0.005em;
  }
  .modal-label .req{color:var(--pterracotta);margin-left:2px}
  .register-popup .modal-input, .register-popup .modal-textarea{ 
    width:100%;padding:12px 14px;border-radius:5px;
    border:1px solid var(--pline);background:var(--pcream-2);
    font-family:var(--font--global-font),sans-serif;font-size:14px;color:var(--p-ink);
    transition:border-color 0.15s, background 0.15s;
    margin: 0;
  }
  .modal-input:focus,.modal-textarea:focus{
    outline:none;border-color:var(--fporest);background:var(--pcream);
  }
  .modal-textarea{resize:vertical;min-height:78px;font-family:inherit}
  .modal-check{
    display:flex;gap:10px;align-items:flex-start;margin-top:20px;
    font-size:12px;color:var(--p-ink-soft);line-height:1.5;cursor:pointer;
  }
  .modal-check input{
    margin-top:2px;width:16px;height:16px;accent-color:var(--fporest);flex-shrink:0;
  }
  .modal-actions{
    margin-top:28px;padding-top:24px;border-top:1px solid var(--pline);
    display:flex;gap:12px;align-items:center;justify-content:space-between;
    flex-wrap:wrap;
  }
  .modal-cta{
    background:var(--fporest);color:var(--pcream);
    padding:15px 28px;border:none;border-radius:5px;cursor:pointer;
    font-family:var(--font--global-font),sans-serif;font-size:14px;font-weight:600;
    display:inline-flex;align-items:center;gap:8px;
    transition:all 0.2s;letter-spacing:-0.005em;
  }
  .modal-cta:hover{background:var(--fporest-2);transform:translateY(-1px)}
  .modal-cta:disabled{opacity:0.5;cursor:not-allowed;transform:none}
  .modal-note{
    font-size:11px;color:var(--p-ink-soft);font-family:var(--font--global-font),serif;
    font-style:italic;
  }

  /* Erfolgs-State */
  .modal-success{
    padding:56px 48px;text-align:center;display:none;
  }
  .modal-success.active{display:block}
  .modal-success-icon{
    width:72px;height:72px;margin:0 auto 24px;border-radius:50%;
    background:var(--fporest);color:var(--pblush);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 28px rgba(31,61,43,0.22);
  }
  .modal-success h3{
    font-family:var(--font--global-font),serif;font-size:28px;color:var(--fporest);
    margin-bottom:12px;font-weight:500;letter-spacing:-0.015em;
  }
  .modal-success p{
    font-size:15px;color:var(--p-ink-soft);line-height:1.55;max-width:420px;margin:0 auto;
  }
  .modal-form.hidden{display:none}

/* === HERSTELLER FUNNEL MODAL === */
.modal.modal-wide{max-width:720px}
.modal-progress{
  display:flex;gap:6px;padding:0 48px;margin-top:-2px;margin-bottom:24px;
  position:relative;z-index:3;
}
.modal-progress-step{
  flex:1;height:3px;background:rgba(31,61,43,0.12);border-radius:2px;
  transition:background 0.35s ease;
}
.modal-progress-step.done{background:var(--pterracotta)}
.modal-progress-step.current{background:var(--fporest)}
.funnel-step{
  display:none;padding:8px 48px 40px;
  animation:funnelFadeIn 0.35s ease;
}
.funnel-step.active{display:block}
@keyframes funnelFadeIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.funnel-step-eyebrow{
  font-family:var(--font--global-font),sans-serif;text-transform:uppercase;
  letter-spacing:0.16em;font-size:11px;font-weight:600;
  color:var(--pterracotta);margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.funnel-step-eyebrow::after{
  content:'';flex:1;height:1px;background:var(--pline);
}
.funnel-step h2{
  font-family:var(--font--global-font),serif;font-size:26px;color:var(--fporest);
  margin-bottom:8px;font-weight:500;letter-spacing:-0.015em;line-height:1.2;
}
.funnel-step h2 em{font-family:Nyght Serif,serif;color:var(--pterracotta)}
.funnel-step .funnel-sub{
  font-size:14px;color:var(--p-ink-soft);line-height:1.55;margin-bottom:28px;
}

.funnel-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.funnel-options.cols-1{grid-template-columns:1fr}
.funnel-multi-hint{
  font-family:var(--font--global-font),serif;font-style:italic;
  font-size:12px;color:var(--p-ink-soft);margin:-12px 0 16px;
}
.funnel-option{
  background:var(--pcream-2);border:1.5px solid var(--pline);
  border-radius:6px;padding:16px 18px;cursor:pointer;
  font-family:var(--font--global-font),sans-serif;font-size:14px;color:var(--p-ink);
  font-weight:500;text-align:left;
  transition:all 0.18s ease;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.funnel-option:hover{
  border-color:var(--fporest);background:var(--pcream);
  transform:translateY(-1px);
}
.funnel-option.selected{
  border-color:var(--fporest);background:var(--fporest);color:var(--pcream);
}
.funnel-option-label{flex:1;line-height:1.35}
.funnel-option-hint{
  font-family:var(--font--global-font),serif;font-style:italic;
  font-size:12px;color:var(--p-ink-soft);font-weight:400;
}
.funnel-option.selected .funnel-option-hint{color:var(--pcream-2)}  
.funnel-option-check{
  width:18px;height:18px;border-radius:50%;border:1.5px solid var(--pline);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:transparent;transition:all 0.18s;
}
.funnel-option.selected .funnel-option-check{
  background:var(--pblush);border-color:var(--pblush);
}
.funnel-option-check svg{opacity:0;transition:opacity 0.18s}
.funnel-option.selected .funnel-option-check svg{opacity:1}

/* Slider step */
.funnel-slider-wrap{
  background:var(--pcream-2);border-radius:6px;padding:28px 28px 20px;
  margin-bottom:24px;
}
.funnel-slider-value{
  font-family:var(--font--global-font),serif;font-size:48px;color:var(--fporest);
  font-weight:500;letter-spacing:-0.025em;line-height:1;margin-bottom:18px;
  display:flex;align-items:baseline;gap:6px;
}
.funnel-slider-value em{
  font-family:var(--font--global-font),serif;color:var(--pterracotta);
  font-style:italic;font-size:0.5em;font-weight:500;
}
.funnel-slider-scale{
  display:flex;justify-content:space-between;
  font-size:10px;color:var(--p-ink-soft);margin-top:10px;
  text-transform:uppercase;letter-spacing:0.08em;
}

/* Footer-Bar (back / continue) */
.funnel-foot{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:28px;padding-top:22px;border-top:1px solid var(--pline);
}
.funnel-back{
  background:transparent;border:none;color:var(--p-ink-soft);cursor:pointer;
  font-family:var(--font--global-font),sans-serif;font-size:13px;font-weight:500;
  padding:8px 0;display:inline-flex;align-items:center;gap:6px;
  transition:color 0.15s;
}
.funnel-back:hover{color:var(--fporest)}
.funnel-back:disabled{opacity:0.3;cursor:not-allowed}
.funnel-step-count{
  font-family:var(--font--global-font),serif;font-style:italic;
  font-size:12px;color:var(--p-ink-soft);
}
.funnel-step-count strong{
  font-family:var(--font--global-font),serif;color:var(--fporest);font-style:normal;
  font-weight:500;font-size:14px;
}
.funnel-next{
  background:var(--pterracotta);color:var(--pcream);
  padding:13px 24px;border:none;border-radius:5px;cursor:pointer;
  font-family:var(--font--global-font),sans-serif;font-size:13.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:7px;
  transition:all 0.2s;letter-spacing:-0.005em;
}
.funnel-next:hover{background:var(--pterracotta-2);transform:translateY(-1px)}
.funnel-next:disabled{opacity:0.4;cursor:not-allowed;transform:none;background:var(--p-ink-soft)}