/* ═══════════════════ Lead Modal Project — квиз-попап (бренд: лайм + бежевый) ═══════════════════ */
.lmp{
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(15,26,20,.6);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease;
}
.lmp[aria-hidden="false"]{ opacity:1; pointer-events:auto; }

.lmp__dialog{
  position:relative;
  width:100%; max-width:540px;
  background:#F5F3EE;
  border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(15,26,20,.4), 0 0 0 1px rgba(15,26,20,.04);
  overflow:hidden;
  transform:translateY(24px) scale(.97); opacity:0;
  transition:transform .4s cubic-bezier(.25,.46,.45,.94), opacity .25s ease;
  max-height:calc(100dvh - 40px); display:flex; flex-direction:column;
}
.lmp[aria-hidden="false"] .lmp__dialog{ transform:translateY(0) scale(1); opacity:1; }

/* ─── ШАПКА ─── */
.lmp__head{
  position:relative;
  display:flex; gap:14px; align-items:center;
  padding:20px 60px 20px 20px;
  background:linear-gradient(135deg, #D8FF6E 0%, #C9F25A 100%);
  border-bottom:1px solid rgba(15,26,20,.08);
}
.lmp__thumb{
  flex:0 0 64px; width:64px; height:64px; border-radius:14px;
  overflow:hidden; background:#fff;
  box-shadow:0 6px 16px -4px rgba(15,26,20,.25);
  border:2px solid rgba(255,255,255,.6);
}
.lmp__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.lmp__head-text{ flex:1; min-width:0; }
.lmp__title{
  font:600 16px/1.25 'Sora',sans-serif; color:#0F1A14;
  margin:0 0 4px; letter-spacing:-.01em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lmp__meta{
  font:500 13px/1.3 'Sora',sans-serif; color:#2D4A1F;
}

.lmp__close{
  position:absolute; top:14px; right:14px;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.85); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#0F1A14; transition:background .2s ease, transform .25s cubic-bezier(.25,.46,.45,.94);
  z-index:2;
}
.lmp__close:hover{ background:#fff; transform:rotate(90deg); }
.lmp__close svg{ width:18px; height:18px; }

/* ─── БЭЙДЖ-ПОДАРОК ─── */
.lmp__gift{
  display:flex; align-items:center; gap:10px;
  margin:14px 20px 0;
  padding:12px 14px;
  background:linear-gradient(135deg, #FFFFFF 0%, #FAFAF5 100%);
  border:1.5px solid #C9F25A;
  border-radius:14px;
  box-shadow:0 4px 16px -4px rgba(201,242,90,.4);
  position:relative;
  overflow:hidden;
}
.lmp__gift::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(201,242,90,.25), transparent);
  transform:translateX(-100%);
  animation:lmpShine 3.5s ease-in-out infinite;
}
@keyframes lmpShine{
  0%, 60%   { transform:translateX(-100%); }
  100%      { transform:translateX(100%); }
}
.lmp__gift-icon{
  flex:0 0 36px; width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1;
  background:#C9F25A; border-radius:10px;
  position:relative; z-index:1;
}
.lmp__gift-text{
  flex:1; position:relative; z-index:1;
}
.lmp__gift-title{
  display:block;
  font:600 14px/1.2 'Sora',sans-serif; color:#0F1A14;
  margin-bottom:2px; letter-spacing:-.005em;
}
.lmp__gift-sub{
  display:block;
  font:400 12px/1.3 'Sora',sans-serif; color:#4A4A4A;
}

/* ─── ТЕЛО ─── */
.lmp__body{
  padding:22px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.lmp__back{
  display:inline-flex; align-items:center; gap:6px;
  font:500 13px/1 'Sora',sans-serif; color:#6B7568;
  background:none; border:none; cursor:pointer; padding:0 0 14px;
  transition:color .2s ease;
}
.lmp__back:hover{ color:#0F1A14; }
.lmp__back svg{ width:16px; height:16px; }

.lmp__heading{
  font:600 22px/1.3 'Sora',sans-serif; color:#0F1A14;
  margin:0 0 6px; letter-spacing:-.015em;
}
.lmp__subheading{
  font:400 14px/1.45 'Sora',sans-serif; color:#6B7568;
  margin:0 0 20px;
}

/* ─── ШАГ 1: сценарии ─── */
.lmp__choices{ display:flex; flex-direction:column; gap:10px; }
.lmp__choice{
  display:flex; align-items:center; gap:14px;
  padding:16px 18px; width:100%;
  background:#fff;
  border:1.5px solid transparent;
  border-radius:14px;
  cursor:pointer; text-align:left;
  font:500 15px/1.3 'Sora',sans-serif; color:#0F1A14;
  transition:all .25s cubic-bezier(.25,.46,.45,.94);
  box-shadow:0 2px 8px -2px rgba(15,26,20,.06);
}
.lmp__choice:hover{
  border-color:#C9F25A;
  transform:translateY(-2px);
  box-shadow:0 8px 20px -6px rgba(201,242,90,.5);
}
.lmp__choice:focus-visible{
  outline:none;
  border-color:#C9F25A;
  box-shadow:0 0 0 3px rgba(201,242,90,.3);
}
.lmp__choice-icon{
  flex:0 0 40px; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1;
  background:#F5F3EE; border-radius:10px;
  transition:background .25s ease;
}
.lmp__choice:hover .lmp__choice-icon{ background:#C9F25A; }
.lmp__choice-text{ flex:1; }
.lmp__choice-arrow{
  flex:0 0 20px; width:20px; height:20px;
  color:#9CA39C; transition:transform .25s ease, color .25s ease;
}
.lmp__choice:hover .lmp__choice-arrow{
  color:#0F1A14; transform:translateX(4px);
}

/* ─── ШАГ 2: форма ─── */
.lmp__form{ display:flex; flex-direction:column; gap:14px; }
.lmp__field{ display:flex; flex-direction:column; gap:6px; }

.lmp__label{
  font:500 13px/1 'Sora',sans-serif; color:#6B7568;
  letter-spacing:.01em;
}

.lmp__input{
  width:100%; padding:14px 16px;
  font:400 15px/1.2 'Sora',sans-serif; color:#0F1A14;
  background:#fff;
  border:1.5px solid transparent;
  border-radius:12px;
  transition:border-color .2s ease, box-shadow .2s ease;
  box-shadow:0 2px 6px -2px rgba(15,26,20,.05);
}
.lmp__input::placeholder{ color:#A8AAA3; }
.lmp__input:focus{
  outline:none;
  border-color:#C9F25A;
  box-shadow:0 0 0 3px rgba(201,242,90,.2);
}
.lmp__input.is-error{
  border-color:#D94A4A;
  background:#FFF5F5;
  box-shadow:0 0 0 3px rgba(217,74,74,.12);
}

/* ─── ГРУППЫ ПИЛЛ ─── */
.lmp__group{ display:flex; flex-wrap:wrap; gap:8px; }
.lmp__pill{
  padding:10px 14px;
  background:#fff;
  border:1.5px solid transparent;
  border-radius:10px;
  font:500 13px/1 'Sora',sans-serif; color:#0F1A14;
  cursor:pointer;
  transition:all .2s cubic-bezier(.25,.46,.45,.94);
  display:inline-flex; align-items:center; gap:6px;
  box-shadow:0 2px 6px -2px rgba(15,26,20,.05);
}
.lmp__pill:hover{
  border-color:#C9F25A;
  transform:translateY(-1px);
}
.lmp__pill.is-active{
  background:#C9F25A;
  border-color:#C9F25A;
  color:#0F1A14;
  box-shadow:0 4px 12px -2px rgba(201,242,90,.5);
}

/* ─── ЧЕКБОКС СОГЛАСИЯ ─── */
.lmp__consent{
  display:flex; align-items:flex-start; gap:10px;
  margin-top:4px;
  cursor:pointer;
  user-select:none;
}
.lmp__consent input[type="checkbox"]{
  position:absolute; opacity:0; width:0; height:0;
}
.lmp__consent-box{
  flex:0 0 20px; width:20px; height:20px;
  margin-top:1px;
  background:#fff;
  border:1.5px solid #D5D5CC;
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s ease;
  box-shadow:0 1px 3px rgba(15,26,20,.05);
}
.lmp__consent-box svg{
  width:14px; height:14px; color:#0F1A14;
  opacity:0; transform:scale(.6);
  transition:opacity .15s ease, transform .2s cubic-bezier(.25,.46,.45,.94);
}
.lmp__consent input:checked + .lmp__consent-box{
  background:#C9F25A;
  border-color:#C9F25A;
}
.lmp__consent input:checked + .lmp__consent-box svg{
  opacity:1; transform:scale(1);
}
.lmp__consent input:focus-visible + .lmp__consent-box{
  box-shadow:0 0 0 3px rgba(201,242,90,.35);
}
.lmp__consent-text{
  flex:1;
  font:400 12px/1.45 'Sora',sans-serif; color:#6B7568;
}
.lmp__consent-text a{ color:#0F1A14; text-decoration:underline; }
.lmp__consent-text a:hover{ color:#2D4A1F; }
.lmp__consent.is-error .lmp__consent-box{
  border-color:#D94A4A;
  box-shadow:0 0 0 3px rgba(217,74,74,.15);
}

/* ─── SUBMIT (эталонная лаймовая кнопка) ─── */
.lmp__submit{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; padding:16px 24px; margin-top:6px;
  font:600 15px/1 'Sora',sans-serif; color:#0F1A14;
  background:#C9F25A;
  border:none; border-radius:14px;
  cursor:pointer;
  position:relative; overflow:hidden;
  isolation:isolate;
  box-shadow:0 8px 24px rgba(201,242,90,.35), 0 0 0 1px rgba(201,242,90,.5);
  transition:transform .3s cubic-bezier(.25,.46,.45,.94), box-shadow .3s ease;
}
.lmp__submit::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(135deg, #D8FF6E 0%, #C9F25A 100%);
  opacity:0;
  transition:opacity .3s ease;
  z-index:-1;
}
.lmp__submit:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(201,242,90,.5), 0 0 0 1px rgba(201,242,90,.7);
}
.lmp__submit:hover:not(:disabled)::after{ opacity:1; }
.lmp__submit:hover:not(:disabled) svg{ transform:translateX(4px); }
.lmp__submit:active:not(:disabled){ transform:translateY(0); }
.lmp__submit:disabled{ opacity:.65; cursor:not-allowed; }
.lmp__submit svg{
  width:18px; height:18px;
  transition:transform .3s cubic-bezier(.25,.46,.45,.94);
}
.lmp__submit:focus-visible{
  outline:2px solid #0F1A14;
  outline-offset:3px;
}

/* ─── СЛУЖЕБНОЕ ─── */
.lmp__error{
  font:500 13px/1.3 'Sora',sans-serif; color:#D94A4A;
  margin:0; min-height:1em;
}

.lmp__progress{
  padding:10px 22px 16px;
  font:500 12px/1 'Sora',sans-serif; color:#9CA39C;
  text-align:center; letter-spacing:.05em;
}

.lmp__hp{
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* ─── SUCCESS ─── */
.lmp__success{
  text-align:center; padding:30px 10px 10px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.lmp__success-icon{
  width:72px; height:72px; border-radius:50%;
  background:linear-gradient(135deg, #D8FF6E 0%, #C9F25A 100%);
  display:flex; align-items:center; justify-content:center; color:#0F1A14;
  box-shadow:0 12px 32px -8px rgba(201,242,90,.6);
  animation:lmpPop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes lmpPop{
  0%   { transform:scale(0); opacity:0; }
  100% { transform:scale(1); opacity:1; }
}
.lmp__success-icon svg{ width:36px; height:36px; }
.lmp__success-title{
  font:600 24px/1.25 'Sora',sans-serif; color:#0F1A14; margin:0;
  letter-spacing:-.015em;
}
.lmp__success-text{
  font:400 15px/1.5 'Sora',sans-serif; color:#6B7568; margin:0;     display: none;
}
.lmp__success-btn{
  margin-top:6px;
  padding:12px 24px;
  font:500 14px/1 'Sora',sans-serif; color:#0F1A14;
  background:transparent;
  border:1.5px solid #0F1A14;
  border-radius:12px;
  cursor:pointer;
  transition:background .25s ease, color .25s ease, transform .15s ease;
}
.lmp__success-btn:hover{
  background:#0F1A14; color:#fff;
  transform:translateY(-1px);
}

/* ─── ШАГИ ─── */
.lmp__step{ display:none; }
.lmp__step.is-active{ display:block; animation:lmpFade .35s ease; }
@keyframes lmpFade{
  from{ opacity:0; transform:translateX(10px); }
  to  { opacity:1; transform:translateX(0); }
}

body.lmp-open{ overflow:hidden; }

/* ─── МОБИЛЬНЫЙ ─── */
@media (max-width: 600px){
  .lmp{ align-items:flex-end; padding:0; }
  .lmp__dialog{
    max-width:100%;
    border-radius:20px 20px 0 0;
    max-height:94dvh;
    transform:translateY(40px);
  }
  .lmp[aria-hidden="false"] .lmp__dialog{ transform:translateY(0); }
  .lmp__head{ padding:16px 52px 16px 16px; }
  .lmp__gift{ margin:12px 16px 0; padding:10px 12px; }
  .lmp__gift-title{ font-size:13px; }
  .lmp__gift-sub{ font-size:11px; }
  .lmp__body{ padding:18px 16px; }
  .lmp__title{ font-size:15px; }
  .lmp__heading{ font-size:19px; }
  .lmp__subheading{ font-size:13px; }
}

/* ─── A11Y ─── */
@media (prefers-reduced-motion: reduce){
  .lmp, .lmp__dialog, .lmp__choice, .lmp__step, .lmp__submit, .lmp__submit svg,
  .lmp__success-icon, .lmp__gift::before, .lmp__pill, .lmp__close{
    transition:none !important; animation:none !important;
  }
}

/* ─── Кнопка заблокирована, пока не отмечено согласие ─── */
.lmp__submit.is-locked{
  background:#E8E6DF !important;
  color:#9CA39C !important;
  box-shadow:none !important;
  cursor:not-allowed;
}
.lmp__submit.is-locked::after{ opacity:0 !important; }
.lmp__submit.is-locked:hover{ transform:none !important; }
