/* ============================================================
   LeadPower Mini — Premium LIGHT Glass (Neon Blue)
   Target: #dpLeadPower + .dp-lp__* classes (matches your JS/HTML)
   File: /assets/css/leadpower-mini.css
============================================================ */

:root{
  --lp-bg0:#f6f9ff;
  --lp-bg1:#eef4ff;

  --lp-surface: rgba(255,255,255,.72);
  --lp-surface-2: rgba(255,255,255,.55);
  --lp-border: rgba(15,23,42,.10);
  --lp-border-strong: rgba(14,165,255,.32);

  --lp-text:#0b1220;
  --lp-muted: rgba(11,18,32,.68);

  --lp-blue:#0ea5ff;
  --lp-cyan:#00e6ff;
  --lp-green:#00d4a6;

  --lp-shadow: 0 24px 60px rgba(2,8,23,.16);
  --lp-shadow-soft: 0 10px 30px rgba(2,8,23,.10);

  --lp-radius: 24px;
  --lp-radius-sm: 16px;

  --lp-pad: 22px;
  --lp-sticky-h: 84px;
}

#dpLeadPower{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--lp-text);
}

/* root shell (your HTML should have a wrapper; we style the top container anyway) */
#dpLeadPower{
  max-width: 980px;
  margin: 0 auto;
  border-radius: var(--lp-radius);
  overflow: hidden;
  background:
    radial-gradient(900px 380px at 16% 18%, rgba(14,165,255,.20), transparent 55%),
    radial-gradient(900px 380px at 84% 12%, rgba(0,212,166,.16), transparent 55%),
    linear-gradient(180deg, var(--lp-bg0), var(--lp-bg1));
  border: 1px solid var(--lp-border);
  box-shadow: var(--lp-shadow);
}

/* If your HTML has an inner container, this adds padding.
   If not, it still helps because we target stage/result. */
#dpLeadPower .dp-lp__shell,
#dpLeadPower .dp-lp__stage,
#dpLeadPower .dp-lp__result{
  box-sizing: border-box;
}

/* Header area */
#dpLeadPower .dp-lp__kicker{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding: var(--lp-pad) var(--lp-pad) 0 var(--lp-pad);
  color: var(--lp-muted);
  font-size: 13px;
}
#dpLeadPower .dp-lp__pill,
#dpLeadPower .dp-lp__kickerBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--lp-border);
  box-shadow: 0 8px 20px rgba(2,8,23,.06);
  font-size: 12.5px;
  color: rgba(11,18,32,.72);
}

#dpLeadPower .dp-lp__head{
  padding: 10px var(--lp-pad) 0 var(--lp-pad);
  text-align:center;
}
#dpLeadPower .dp-lp__title{
  margin: 10px 0 6px 0;
  font-size: clamp(20px, 3.2vw, 30px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 900;
}
#dpLeadPower .dp-lp__sub{
  margin: 0 auto;
  max-width: 72ch;
  color: var(--lp-muted);
  font-size: 14.5px;
  line-height: 1.55;
}
#dpLeadPower .dp-lp__step{
  margin-top: 10px;
  display:inline-block;
  font-size: 12px;
  color: rgba(11,18,32,.60);
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.65);
  border: 1px solid var(--lp-border);
}

/* progress */
#dpLeadPower .dp-lp__progress{
  margin: 14px var(--lp-pad) 0 var(--lp-pad);
  height: 10px;
  border-radius: 999px;
  background: rgba(2,8,23,.08);
  overflow:hidden;
  border: 1px solid rgba(2,8,23,.06);
}
#dpLeadPower .dp-lp__fill{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lp-blue), var(--lp-cyan));
  box-shadow: 0 10px 22px rgba(14,165,255,.22);
  transition: width .35s ease;
}

/* Stepper dots */
#dpLeadPower .dp-lp__stepper{
  display:flex;
  justify-content:center;
  gap: 8px;
  padding: 10px var(--lp-pad) 0 var(--lp-pad);
}
#dpLeadPower .dp-lp__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(2,8,23,.14);
  border: 1px solid rgba(2,8,23,.06);
}
#dpLeadPower .dp-lp__dot.is-on{
  background: linear-gradient(90deg, var(--lp-blue), var(--lp-cyan));
  box-shadow: 0 10px 22px rgba(14,165,255,.22);
}
#dpLeadPower .dp-lp__dot.is-done{
  background: rgba(14,165,255,.35);
}

/* Stage paddings + IMPORTANT: reserve space for sticky bar */
#dpLeadPower .dp-lp__stage{
  padding: var(--lp-pad);
  padding-bottom: calc(var(--lp-pad) + var(--lp-sticky-h) + 18px);
}

/* Panels */
#dpLeadPower .dp-lp__panel{
  border-radius: var(--lp-radius);
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  box-shadow: var(--lp-shadow-soft);
  padding: 18px;
}
#dpLeadPower .dp-lp__panelTitle{
  margin: 0 0 6px 0;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
#dpLeadPower .dp-lp__panelHint{
  margin: 0 0 14px 0;
  color: var(--lp-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

/* Options grid (radio cards) */
#dpLeadPower .dp-lp__opts{
  display:grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 760px){
  #dpLeadPower .dp-lp__opts{ grid-template-columns: 1fr; }
}

#dpLeadPower .dp-lp__opt{
  display:block;
  position:relative;
}
#dpLeadPower .dp-lp__opt input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

#dpLeadPower .dp-lp__optCard{
  position: relative;
  border-radius: var(--lp-radius-sm);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(2,8,23,.10);
  padding: 14px;
  box-shadow: 0 10px 24px rgba(2,8,23,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  cursor: pointer;
}

#dpLeadPower .dp-lp__opt:hover .dp-lp__optCard{
  transform: translateY(-1px);
  box-shadow: 0 16px 38px rgba(2,8,23,.12);
  border-color: rgba(14,165,255,.26);
}

#dpLeadPower .dp-lp__opt input[type="radio"]:checked + .dp-lp__optCard{
  border-color: var(--lp-border-strong);
  background: linear-gradient(180deg, rgba(14,165,255,.10), rgba(0,230,255,.06));
  box-shadow: 0 16px 40px rgba(14,165,255,.14);
}

#dpLeadPower .dp-lp__optTitle{
  font-weight: 900;
  margin: 0 0 4px 0;
}
#dpLeadPower .dp-lp__optDesc{
  margin: 0;
  color: var(--lp-muted);
  font-size: 13px;
  line-height: 1.45;
}

/* Questions block */
#dpLeadPower .dp-lp__q{ margin-top: 14px; }
#dpLeadPower .dp-lp__qHead h4{
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 900;
}
#dpLeadPower .dp-lp__qHelp{
  margin: 0 0 10px 0;
  color: var(--lp-muted);
  font-size: 13px;
  line-height: 1.55;
}

/* Presets row */
#dpLeadPower .dp-lp__presets{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom: 10px;
}
#dpLeadPower .dp-lp__chip{
  border: 1px solid rgba(2,8,23,.10);
  background: rgba(255,255,255,.85);
  color: rgba(11,18,32,.82);
  border-radius: 999px;
  padding: 10px 12px;
  font-weight: 900;
  font-size: 13px;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(2,8,23,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
#dpLeadPower .dp-lp__chip:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(2,8,23,.10);
  border-color: rgba(14,165,255,.22);
}
#dpLeadPower .dp-lp__chipPrimary{
  border-color: rgba(14,165,255,.24);
}
#dpLeadPower .dp-lp__chipDanger{
  border-color: rgba(255, 84, 84, .22);
}

/* Process picker */
#dpLeadPower .dp-lp__picker{
  margin-top: 8px;
  display:grid;
  gap: 10px;
}
#dpLeadPower .dp-lp__groupTitle{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(2,8,23,.04);
  border: 1px solid rgba(2,8,23,.08);
  color: rgba(11,18,32,.72);
  font-size: 13px;
}

#dpLeadPower .dp-lp__procCard{
  width: 100%;
  text-align:left;
  border-radius: var(--lp-radius-sm);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(2,8,23,.10);
  padding: 12px 14px;
  box-shadow: 0 10px 24px rgba(2,8,23,.07);
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
#dpLeadPower .dp-lp__procCard:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 38px rgba(2,8,23,.11);
  border-color: rgba(14,165,255,.22);
}
#dpLeadPower .dp-lp__procCard.is-on{
  border-color: var(--lp-border-strong);
  background: linear-gradient(180deg, rgba(14,165,255,.10), rgba(0,230,255,.06));
  box-shadow: 0 16px 40px rgba(14,165,255,.12);
}
#dpLeadPower .dp-lp__procTitle{
  font-weight: 900;
  margin: 0 0 4px 0;
}
#dpLeadPower .dp-lp__procMeta{
  margin: 0;
  color: var(--lp-muted);
  font-size: 13px;
}

/* Sticky bottom bar */
#dpLeadPower .dp-lp__sticky{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--lp-sticky-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px var(--lp-pad);
  background: rgba(255,255,255,.72);
  border-top: 1px solid rgba(2,8,23,.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
#dpLeadPower .dp-lp__stickyLeft,
#dpLeadPower .dp-lp__stickyRight{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
}

/* Buttons */
#dpLeadPower .dp-lp__btn{
  border: 0;
  cursor: pointer;
  border-radius: 14px;
  padding: 11px 14px;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: -0.01em;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
#dpLeadPower .dp-lp__btn:active{ transform: translateY(1px); }

#dpLeadPower .dp-lp__btnPrimary{
  background: linear-gradient(90deg, var(--lp-blue), var(--lp-cyan));
  color: #041018;
  box-shadow: 0 16px 40px rgba(14,165,255,.18);
}
#dpLeadPower .dp-lp__btnPrimary:hover{
  box-shadow: 0 20px 52px rgba(14,165,255,.24);
}

#dpLeadPower .dp-lp__btnGhost{
  background: rgba(2,8,23,.06);
  border: 1px solid rgba(2,8,23,.10);
  color: rgba(11,18,32,.84);
}

#dpLeadPower .dp-lp__btnDark{
  background: rgba(2,8,23,.86);
  color: #fff;
  box-shadow: 0 16px 40px rgba(2,8,23,.18);
}

#dpLeadPower .dp-lp__btnWide{ min-width: 220px; }
@media (max-width: 540px){
  #dpLeadPower .dp-lp__btnWide{ min-width: 0; width:100%; }
  #dpLeadPower .dp-lp__sticky{ height:auto; padding: 12px var(--lp-pad); }
  #dpLeadPower .dp-lp__stage{ padding-bottom: calc(var(--lp-pad) + 110px); }
}

/* Result / report */
#dpLeadPower .dp-lp__result{
  border-radius: var(--lp-radius);
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  box-shadow: var(--lp-shadow-soft);
  padding: 18px;
}
#dpLeadPower .dp-lp__headline{
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: 900;
}
#dpLeadPower .dp-lp__scoreRow{
  display:grid;
  gap: 10px;
}
#dpLeadPower .dp-lp__scoreBar{
  height: 12px;
  border-radius: 999px;
  background: rgba(2,8,23,.08);
  border: 1px solid rgba(2,8,23,.06);
  overflow:hidden;
}
#dpLeadPower .dp-lp__scoreFill{
  display:block;
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lp-blue), var(--lp-cyan));
  box-shadow: 0 10px 22px rgba(14,165,255,.18);
}
#dpLeadPower .dp-lp__scoreText{
  color: rgba(11,18,32,.74);
  font-weight: 800;
}

#dpLeadPower .dp-lp__miniReport{
  margin-top: 12px;
  border-radius: var(--lp-radius-sm);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(2,8,23,.10);
  padding: 14px;
  box-shadow: 0 10px 28px rgba(2,8,23,.08);
}
#dpLeadPower .dp-lp__miniReport h4{
  margin: 0 0 8px 0;
  font-size: 15px;
  font-weight: 900;
}
#dpLeadPower .dp-lp__miniReport p{
  margin: 0;
  color: rgba(11,18,32,.72);
  line-height: 1.55;
  font-size: 13.5px;
}
#dpLeadPower .dp-lp__bullets{
  margin: 8px 0 0 18px;
  color: rgba(11,18,32,.76);
  line-height: 1.55;
  font-size: 13.5px;
}
#dpLeadPower .dp-lp__note{
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(2,8,23,.04);
  border: 1px solid rgba(2,8,23,.08);
  color: rgba(11,18,32,.72);
  font-size: 13px;
  line-height: 1.55;
}

/* CTA zone */
#dpLeadPower .dp-lp__ctaZone{
  margin-top: 12px;
  border-radius: var(--lp-radius-sm);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(2,8,23,.10);
  padding: 14px;
  box-shadow: 0 10px 28px rgba(2,8,23,.08);
}
#dpLeadPower .dp-lp__ctaTitle{
  font-weight: 900;
  margin: 0 0 6px 0;
}
#dpLeadPower .dp-lp__ctaText{
  margin: 0 0 10px 0;
  color: rgba(11,18,32,.72);
  line-height: 1.55;
  font-size: 13.5px;
}
#dpLeadPower .dp-lp__ctaRow{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

/* Gate form */
#dpLeadPower .dp-lp__gate{
  margin-top: 12px;
  border-radius: var(--lp-radius-sm);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(2,8,23,.10);
  padding: 14px;
  box-shadow: 0 10px 28px rgba(2,8,23,.08);
}
#dpLeadPower .dp-lp__gate h4{
  margin: 0 0 8px 0;
  font-size: 15px;
  font-weight: 900;
}
#dpLeadPower .dp-lp__gate p{
  margin: 0 0 10px 0;
  color: rgba(11,18,32,.72);
  font-size: 13.5px;
  line-height: 1.55;
}
#dpLeadPower .dp-lp__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 760px){
  #dpLeadPower .dp-lp__grid{ grid-template-columns: 1fr; }
}
#dpLeadPower .dp-field label{
  display:block;
  font-size: 13px;
  font-weight: 800;
  color: rgba(11,18,32,.82);
  margin-bottom: 6px;
}
#dpLeadPower .dp-field input{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(2,8,23,.14);
  background: rgba(255,255,255,.92);
  padding: 12px 12px;
  font-size: 14px;
  outline: none;
  color: var(--lp-text);
}
#dpLeadPower .dp-field input:focus{
  border-color: rgba(14,165,255,.40);
  box-shadow: 0 0 0 4px rgba(14,165,255,.14);
}
#dpLeadPower .dp-lp__otp{
  letter-spacing: .35em;
  font-weight: 900;
}

#dpLeadPower .dp-lp__consent{
  margin-top: 10px;
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
#dpLeadPower .dp-lp__consent input{
  margin-top: 3px;
}
#dpLeadPower .dp-lp__err{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 84, 84, .10);
  border: 1px solid rgba(255, 84, 84, .20);
  color: rgba(140, 20, 20, .92);
  display:none;
}

/* Toast */
#dpLeadPower .dp-lp__toast{
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(2,8,23,.12);
  box-shadow: 0 18px 50px rgba(2,8,23,.18);
  color: rgba(11,18,32,.82);
  font-size: 13.5px;
  display:none;
  max-width: min(520px, calc(100vw - 24px));
}

/* Animations + shake */
#dpLeadPower .dp-lp__fadeIn{ animation: lpFadeUp .28s ease both; }
@keyframes lpFadeUp{ from{ opacity:0; transform: translateY(8px);} to{opacity:1; transform: translateY(0);} }

#dpLeadPower .dp-shake{ animation: lpShake .26s ease; }
@keyframes lpShake{
  0%{ transform: translateX(0); }
  25%{ transform: translateX(-6px); }
  50%{ transform: translateX(6px); }
  75%{ transform: translateX(-4px); }
  100%{ transform: translateX(0); }
}

/* === LeadPower FIX: Footer buttons visible (Weiter/Zurück) === */
#dpLeadPower{ position: relative; }
#dpLeadPower .dp-lp__stage{ position: relative; padding-bottom: 22px !important; }

/* make footer sticky instead of absolute (so it never disappears) */
#dpLeadPower .dp-lp__sticky{
  position: sticky !important;
  left: auto !important;
  right: auto !important;
  bottom: 14px !important;
  height: auto !important;
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(2,8,23,.10);
  box-shadow: 0 18px 50px rgba(2,8,23,.12);
}