#nm-ai-launcher{
  position:fixed;
  right:22px;
  bottom:92px !important;
  z-index:99990;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:999px;
  padding:10px 16px 10px 12px;
  background:linear-gradient(135deg,#0f172a 0%,#111827 55%,#1d4ed8 100%);
  color:#fff;
  box-shadow:0 16px 40px rgba(2,6,23,.35);
  cursor:pointer;
  font:600 15px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#nm-ai-launcher:hover{transform:translateY(-1px)}
#nm-ai-launcher .nm-ai-launcher-text{display:flex;flex-direction:column;align-items:flex-start}
#nm-ai-launcher .nm-ai-launcher-text b{font-size:15px}
#nm-ai-launcher .nm-ai-launcher-text small{font-size:11px;opacity:.72;font-weight:500}
#nm-ai-launcher .nm-ai-badge{
  width:38px;height:38px;display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#06b6d4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
}
#nm-ai-launcher svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

#nm-ai-teaser{
  position:fixed;
  right:22px;
  bottom:152px !important;
  z-index:99989;
  width:min(340px,calc(100vw - 36px));
  background:#fff;
  color:#0f172a;
  border:1px solid #dbe4f0;
  border-radius:18px;
  padding:14px 42px 14px 16px;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer
}
#nm-ai-teaser b{display:block;margin-bottom:3px}
#nm-ai-teaser button{
  position:absolute;right:10px;top:8px;border:0;background:transparent;
  font-size:20px;color:#64748b;cursor:pointer
}

#nm-ai-panel{
  position:fixed;
  right:22px;
  bottom:82px;
  z-index:99999;
  width:400px;
  max-width:calc(100vw - 24px);
  height:min(680px,calc(100vh - 100px));
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:24px;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
  overflow:hidden;
  display:none;
  flex-direction:column;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
#nm-ai-panel.nm-open{display:flex}

.nm-ai-head{
  padding:16px 16px 14px;
  background:linear-gradient(135deg,#0f172a 0%,#111827 55%,#1d4ed8 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.nm-ai-head-left{display:flex;align-items:center;gap:12px}
.nm-ai-head-badge{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#22c55e,#06b6d4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28)
}
.nm-ai-head-badge svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nm-ai-head strong{display:block;font-size:15px}
.nm-ai-head small{display:block;opacity:.78;margin-top:2px}
.nm-ai-close{color:#fff;background:transparent;border:0;font-size:24px;cursor:pointer}

#nm-ai-messages{
  flex:1;
  overflow:auto;
  padding:16px;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)
}
.nm-ai-msg{
  max-width:88%;
  padding:11px 13px;
  margin:0 0 10px;
  border-radius:16px;
  font-size:14px;
  line-height:1.48;
  overflow-wrap:anywhere
}
.nm-ai-msg.user{
  margin-left:auto;
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:#fff;
  border-bottom-right-radius:6px
}
.nm-ai-msg.bot{
  background:#fff;
  color:#0f172a;
  border:1px solid #dbe4f0;
  border-bottom-left-radius:6px
}
.nm-ai-msg a{color:#1d4ed8;font-weight:600;text-decoration:none}
.nm-ai-msg a:hover{text-decoration:underline}

.nm-ai-quick{
  padding:0 12px 10px;
  display:flex;
  gap:7px;
  overflow-x:auto;
  background:#f1f5f9
}
.nm-ai-quick button{
  white-space:nowrap;
  border:1px solid #d1d9e6;
  background:#fff;
  border-radius:999px;
  padding:8px 11px;
  cursor:pointer;
  font-size:12px
}

.nm-ai-actions{
  padding:10px 12px 0;
  display:flex;
  gap:7px;
  border-top:1px solid #e7edf5;
  background:#fff
}
.nm-ai-actions a,
.nm-ai-actions button{
  flex:1;
  text-align:center;
  text-decoration:none;
  border:1px solid #d1d9e6;
  background:#fff;
  color:#0f172a;
  padding:9px 7px;
  border-radius:10px;
  font-size:12px;
  cursor:pointer
}
.nm-ai-actions button.primary{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a
}

#nm-ai-lead-box{
  margin:10px 12px 0;
  padding:12px;
  border:1px solid #dbe4f0;
  border-radius:16px;
  background:#f8fafc;
  display:none
}
#nm-ai-lead-box.nm-open{display:block}
#nm-ai-lead-box h4{margin:0 0 8px;font-size:14px;color:#0f172a}
#nm-ai-lead-box p{margin:0 0 10px;font-size:12px;color:#475569}
.nm-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#nm-ai-lead-box input,
#nm-ai-lead-box select,
#nm-ai-lead-box textarea{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:10px 11px;
  outline:none;
  min-width:0;
  font-size:14px;
  box-sizing:border-box;
  background:#fff
}
#nm-ai-lead-box textarea{min-height:108px;resize:vertical}
#nm-ai-lead-box input:focus,
#nm-ai-lead-box select:focus,
#nm-ai-lead-box textarea:focus{border-color:#64748b}
.nm-ai-legal{
  margin:10px 0 0;
  display:flex;
  gap:8px;
  font-size:12px;
  color:#334155;
  align-items:flex-start
}
.nm-ai-lead-actions{display:flex;gap:8px;margin-top:10px}
.nm-ai-lead-actions button{
  flex:1;
  border:0;
  border-radius:12px;
  padding:11px 12px;
  cursor:pointer;
  font-weight:700
}
#nm-ai-lead-send{background:#0f172a;color:#fff}
#nm-ai-lead-cancel{background:#fff;color:#0f172a;border:1px solid #cbd5e1}

.nm-ai-form{
  padding:10px 12px 12px;
  display:flex;
  gap:8px;
  background:#fff
}
#nm-ai-input{
  flex:1;
  border:1px solid #cbd5e1;
  border-radius:14px;
  padding:12px 13px;
  outline:none;
  min-width:0;
  font-size:14px
}
#nm-ai-input:focus{border-color:#64748b}
#nm-ai-send{
  border:0;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  padding:0 16px;
  font-weight:700;
  cursor:pointer
}
#nm-ai-send:disabled{opacity:.55;cursor:default}

@media(max-width:600px){
  #nm-ai-launcher{
    right:12px !important;
    bottom:88px !important;
    padding:9px 14px 9px 11px
  }
  #nm-ai-teaser{
    right:12px !important;
    bottom:146px !important
  }
  #nm-ai-panel{
    right:7px;
    bottom:66px;
    width:calc(100vw - 14px);
    height:min(710px,calc(100vh - 78px));
    border-radius:18px
  }
  .nm-ai-grid{grid-template-columns:1fr}
}

/* v2.2 — компактное стартовое окно */
#nm-ai-panel{
  height:min(520px,calc(100vh - 100px));
  transition:height .2s ease;
}

#nm-ai-panel.nm-ai-active{
  height:min(680px,calc(100vh - 100px));
}

.nm-ai-head small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:260px;
}

@media(max-width:600px){
  #nm-ai-panel{
    height:min(500px,calc(100vh - 78px));
  }

  #nm-ai-panel.nm-ai-active{
    height:min(680px,calc(100vh - 78px));
  }

  .nm-ai-head small{
    max-width:220px;
  }
}

/* v2.3 */
#nm-ai-panel{
  height:min(430px,calc(100vh - 100px));
}

#nm-ai-panel.nm-ai-active{
  height:min(680px,calc(100vh - 100px));
}

#nm-ai-launcher .nm-ai-badge{
  width:42px;
  height:42px;
  border-radius:15px;
}

.nm-ai-head-badge{
  width:44px;
  height:44px;
  border-radius:15px;
  flex:0 0 44px;
}

#nm-ai-launcher svg,
.nm-ai-head-badge svg{
  width:30px;
  height:30px;
}

@media(max-width:600px){
  #nm-ai-panel{
    height:min(420px,calc(100vh - 78px));
  }

  #nm-ai-panel.nm-ai-active{
    height:min(680px,calc(100vh - 78px));
  }
}

/* v2.4 — компактнее во время разговора */
#nm-ai-panel.nm-ai-active{
  height:min(560px,calc(100vh - 100px));
}

@media(max-width:600px){
  #nm-ai-panel.nm-ai-active{
    height:min(560px,calc(100vh - 78px));
  }
}

/* v2.5 — contextual AI lead CTA */
.nm-ai-lead-cta{
  margin:2px 0 14px;
  padding:12px;
  border:1px solid #bae6fd;
  border-radius:17px;
  background:linear-gradient(135deg,#ecfeff 0%,#eff6ff 100%);
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px 11px;
  align-items:center;
  box-shadow:0 7px 20px rgba(14,116,144,.08);
}

.nm-ai-lead-cta-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,#10b981,#06b6d4);
  display:grid;
  place-items:center;
}

.nm-ai-lead-cta-icon svg{
  width:28px;
  height:28px;
  stroke:#fff;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nm-ai-lead-cta-copy{
  min-width:0;
}

.nm-ai-lead-cta-copy strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  margin-bottom:3px;
}

.nm-ai-lead-cta-copy span{
  display:block;
  color:#475569;
  font-size:12px;
  line-height:1.35;
}

.nm-ai-lead-cta > button{
  grid-column:1 / -1;
  width:100%;
  border:0;
  border-radius:12px;
  padding:11px 14px;
  background:linear-gradient(135deg,#0f172a,#1d4ed8);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  font-size:13px;
}

.nm-ai-lead-cta > button:hover{
  filter:brightness(1.05);
}


/* v2.6 — мобильная кнопка ИИ не перекрывает каталог */
@media(max-width:600px){

  #nm-ai-launcher{
    right:14px !important;
    bottom:104px !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;

    padding:6px !important;
    border-radius:50% !important;

    display:grid !important;
    place-items:center !important;

    background:#0f172a !important;
    box-shadow:
      0 10px 28px rgba(15,23,42,.30),
      0 0 0 2px rgba(255,255,255,.85) !important;
  }

  #nm-ai-launcher .nm-ai-launcher-text{
    display:none !important;
  }

  #nm-ai-launcher .nm-ai-badge{
    width:52px !important;
    height:52px !important;
    border-radius:50% !important;
    margin:0 !important;
  }

  #nm-ai-launcher svg{
    width:34px !important;
    height:34px !important;
  }

  /* подсказка тоже не лезет на нижнее меню */
  #nm-ai-teaser{
    right:12px !important;
    bottom:178px !important;
    width:min(310px,calc(100vw - 24px)) !important;
  }

  /* открытый чат располагаем над нижним меню сайта */
  #nm-ai-panel{
    left:7px !important;
    right:7px !important;
    bottom:88px !important;

    width:auto !important;
    max-width:none !important;

    height:min(520px,calc(100dvh - 120px)) !important;
    border-radius:18px !important;
  }

  #nm-ai-panel.nm-ai-active{
    height:min(610px,calc(100dvh - 120px)) !important;
  }
}

/* === v2.9 — mobile lead form fit fix === */
@media(max-width:600px){

  /* Само окно чата */
  #nm-ai-panel{
    max-height:calc(100dvh - 84px) !important;
    overflow:hidden !important;
  }

  /* Блок заявки внутри чата */
  #nm-ai-panel .nm-ai-lead,
  #nm-ai-panel .nm-ai-lead-box,
  #nm-ai-panel [id*="lead-box"],
  #nm-ai-panel [id*="leadBox"],
  #nm-ai-panel [class*="lead-box"]{
    max-height:calc(100dvh - 275px) !important;
    overflow:auto !important;
    padding-bottom:88px !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  /* Текст заявки покомпактнее */
  #nm-ai-panel .nm-ai-lead textarea,
  #nm-ai-panel textarea[name="message"],
  #nm-ai-panel #nm-ai-lead-message{
    min-height:110px !important;
    max-height:160px !important;
  }

  /* Чекбокс и подпись компактнее */
  #nm-ai-panel .nm-ai-lead label,
  #nm-ai-panel .nm-ai-lead .agree,
  #nm-ai-panel .nm-ai-lead .consent{
    font-size:12px !important;
    line-height:1.35 !important;
  }

  /* Кнопка отправки всегда видна */
  #nm-ai-panel .nm-ai-lead button[type="submit"],
  #nm-ai-panel .nm-ai-lead .submit,
  #nm-ai-panel .nm-ai-lead .primary,
  #nm-ai-panel [id*="lead"] button[type="submit"]{
    position:sticky !important;
    bottom:0 !important;
    z-index:8 !important;
    width:100% !important;
    margin-top:10px !important;
    margin-bottom:0 !important;
    box-shadow:0 -8px 18px rgba(255,255,255,.92) !important;
  }

  /* Если есть общий блок действий — тоже липкий */
  #nm-ai-panel .nm-ai-lead-actions,
  #nm-ai-panel .nm-ai-lead .actions{
    position:sticky !important;
    bottom:0 !important;
    z-index:7 !important;
    padding-top:8px !important;
    background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0)) !important;
  }
}

/* === v3.0 — настоящий mobile lead mode === */

@media(max-width:600px){

  /* При заполнении заявки освобождаем всё окно */
  #nm-ai-panel.nm-ai-lead-mode{
    height:calc(100dvh - 100px) !important;
    max-height:calc(100dvh - 100px) !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  /* Шапка всегда сверху */
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-head{
    flex:0 0 auto !important;
  }

  /* Всё ненужное при заполнении заявки скрываем */
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-messages,
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-quick,
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-actions,
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-form{
    display:none !important;
  }

  /* Форма занимает всё оставшееся место */
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box{
    display:block !important;

    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;
    padding:14px 14px 88px !important;

    border:0 !important;
    border-radius:0 !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;

    background:#f8fafc !important;
  }

  /* Поля чуть компактнее */
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box input,
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box select{
    min-height:44px !important;
    padding:9px 10px !important;
  }

  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
    min-height:100px !important;
    max-height:140px !important;
  }

  /* Кнопки всегда доступны снизу */
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions{
    position:sticky !important;
    bottom:-88px !important;
    z-index:20 !important;

    display:flex !important;

    margin:12px -14px -88px !important;
    padding:10px 14px 14px !important;

    background:linear-gradient(
      to bottom,
      rgba(248,250,252,.88),
      #f8fafc 28%
    ) !important;

    border-top:1px solid #e2e8f0;
  }

  #nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions button{
    min-height:46px !important;
  }

  /* чекбокс без лишней высоты */
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-legal{
    margin:9px 0 0 !important;
    line-height:1.3 !important;
  }
}

/* === v3.1 — lead form overlay, guaranteed mobile scroll === */

@media(max-width:600px){

  #nm-ai-panel{
    position:fixed !important;
    overflow:hidden !important;
  }

  /*
   * Заявка становится отдельным слоем внутри чата.
   * Она больше не участвует в flex-разметке сообщений.
   */
  #nm-ai-lead-box.nm-open{
    display:block !important;

    position:absolute !important;
    z-index:100 !important;

    left:0 !important;
    right:0 !important;
    top:70px !important;
    bottom:0 !important;

    width:auto !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;

    margin:0 !important;
    padding:14px 14px 90px !important;

    border:0 !important;
    border-radius:0 !important;

    background:#f8fafc !important;

    overflow-x:hidden !important;
    overflow-y:scroll !important;

    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
  }

  /* Поля не должны сами ломать высоту */
  #nm-ai-lead-box.nm-open input,
  #nm-ai-lead-box.nm-open select{
    min-height:44px !important;
  }

  #nm-ai-lead-box.nm-open textarea{
    min-height:100px !important;
    height:112px !important;
    max-height:112px !important;
    resize:none !important;
  }

  /* Имя/телефон оставляем в 2 колонки, где помещается */
  #nm-ai-lead-box.nm-open .nm-ai-grid{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  /* Кнопки липнут к низу именно скроллируемой формы */
  #nm-ai-lead-box.nm-open .nm-ai-lead-actions{
    position:sticky !important;
    bottom:-90px !important;
    z-index:110 !important;

    display:flex !important;
    gap:8px !important;

    margin:12px -14px -90px !important;
    padding:12px 14px 14px !important;

    background:#f8fafc !important;
    border-top:1px solid #dbe4f0 !important;
    box-shadow:0 -12px 28px rgba(15,23,42,.08) !important;
  }

  #nm-ai-lead-box.nm-open .nm-ai-lead-actions button{
    min-height:46px !important;
  }
}

/* На очень узких экранах поля в одну колонку */
@media(max-width:380px){
  #nm-ai-lead-box.nm-open .nm-ai-grid{
    grid-template-columns:1fr !important;
  }
}

/* === v3.2 — REAL FIX: lead buttons were pushed below viewport === */

@media(max-width:600px){

  #nm-ai-lead-box.nm-open{
    position:absolute !important;
    z-index:100 !important;

    left:0 !important;
    right:0 !important;
    top:70px !important;
    bottom:0 !important;

    margin:0 !important;

    /* больше никаких искусственных +90px */
    padding:14px 14px 16px !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;

    background:#f8fafc !important;
  }

  /* убираем старые отрицательные смещения */
  #nm-ai-lead-box.nm-open .nm-ai-lead-actions{
    position:sticky !important;

    bottom:0 !important;

    z-index:120 !important;

    display:flex !important;
    gap:8px !important;

    margin:12px -14px -16px !important;

    padding:
      12px
      14px
      calc(14px + env(safe-area-inset-bottom))
      !important;

    background:#f8fafc !important;

    border-top:1px solid #dbe4f0 !important;

    box-shadow:
      0 -12px 24px rgba(15,23,42,.08)
      !important;
  }

  #nm-ai-lead-box.nm-open .nm-ai-lead-actions button{
    display:block !important;
    flex:1 1 0 !important;

    min-height:46px !important;

    margin:0 !important;
  }

  /* textarea оставляем удобной, но не огромной */
  #nm-ai-lead-box.nm-open #nm-ai-lead-message{
    height:108px !important;
    min-height:108px !important;
    max-height:108px !important;
    resize:none !important;
  }
}

/* === v3.3 — mobile lead final layout === */

@media(max-width:600px){

  /* Когда открыта заявка — убираем нижнюю плавающую панель сайта */
  body:has(#nm-ai-panel.nm-ai-lead-mode) .floating-contact{
    display:none !important;
  }

  /* Чат почти на весь экран */
  #nm-ai-panel.nm-ai-lead-mode{
    top:8px !important;
    bottom:8px !important;
    left:7px !important;
    right:7px !important;

    width:auto !important;
    height:auto !important;
    max-height:none !important;

    border-radius:18px !important;
    overflow:hidden !important;
  }

  /* Заявка занимает всё место под шапкой */
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box.nm-open{
    position:absolute !important;

    top:70px !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;

    margin:0 !important;
    padding:14px 14px 22px !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;

    background:#f8fafc !important;
  }

  /* Убираем ВСЕ старые sticky/negative правила */
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions{
    position:static !important;

    bottom:auto !important;

    margin:14px 0 0 !important;
    padding:0 0 10px !important;

    display:flex !important;
    gap:8px !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  #nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions button{
    display:block !important;
    flex:1 1 0 !important;

    min-height:46px !important;
    margin:0 !important;
  }

  /* textarea чуть ниже — места теперь хватает */
  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
    height:120px !important;
    min-height:120px !important;
    max-height:120px !important;
    resize:none !important;
  }

  /* Чекбокс аккуратнее */
  #nm-ai-panel.nm-ai-lead-mode .nm-ai-legal{
    margin:10px 0 4px !important;
  }
}

/* === v3.4 — lead mode desktop + mobile === */

/* При заявке чат становится отдельной формой */
#nm-ai-panel.nm-ai-lead-mode{
  height:min(720px,calc(100dvh - 32px)) !important;
  max-height:calc(100dvh - 32px) !important;

  display:flex !important;
  flex-direction:column !important;

  overflow:hidden !important;
}

/* Шапка остаётся */
#nm-ai-panel.nm-ai-lead-mode .nm-ai-head{
  flex:0 0 auto !important;
}

/* Во время заявки всё лишнее скрываем */
#nm-ai-panel.nm-ai-lead-mode #nm-ai-messages,
#nm-ai-panel.nm-ai-lead-mode .nm-ai-quick,
#nm-ai-panel.nm-ai-lead-mode .nm-ai-actions,
#nm-ai-panel.nm-ai-lead-mode .nm-ai-form{
  display:none !important;
}

/* Заявка занимает всю оставшуюся высоту */
#nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box.nm-open{
  position:relative !important;

  flex:1 1 auto !important;
  min-height:0 !important;

  width:auto !important;
  height:auto !important;
  max-height:none !important;

  margin:0 !important;
  padding:16px !important;

  border:0 !important;
  border-radius:0 !important;

  overflow-y:auto !important;
  overflow-x:hidden !important;

  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;

  background:#f8fafc !important;
}

/* Убираем все старые отрицательные смещения */
#nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions{
  position:sticky !important;
  bottom:0 !important;
  z-index:50 !important;

  display:flex !important;
  gap:8px !important;

  margin:14px -16px -16px !important;
  padding:12px 16px 16px !important;

  background:#f8fafc !important;
  border-top:1px solid #dbe4f0 !important;

  box-shadow:0 -10px 24px rgba(15,23,42,.08) !important;
}

#nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions button{
  display:block !important;
  flex:1 1 0 !important;

  min-height:46px !important;
  margin:0 !important;
}

/* Поле текста разумной высоты */
#nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
  min-height:120px !important;
  height:120px !important;
  max-height:160px !important;
}

/* Скрываем нижнюю панель сайта, пока заполняется заявка */
body.nm-ai-lead-active .floating-contact{
  display:none !important;
}

/* На небольшом ноутбуке/экране чуть компактнее */
@media(max-height:700px){
  #nm-ai-panel.nm-ai-lead-mode{
    height:calc(100dvh - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
  }

  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box.nm-open{
    padding:12px !important;
  }

  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
    min-height:90px !important;
    height:90px !important;
  }

  #nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions{
    margin:10px -12px -12px !important;
    padding:10px 12px 12px !important;
  }
}

/* Телефон */
@media(max-width:600px){
  #nm-ai-panel.nm-ai-lead-mode{
    top:7px !important;
    bottom:7px !important;
    left:7px !important;
    right:7px !important;

    width:auto !important;
    height:auto !important;
    max-height:none !important;
  }

  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box.nm-open{
    padding-bottom:
      calc(16px + env(safe-area-inset-bottom))
      !important;
  }
}

/* === v3.5 — compact lead mode === */

#nm-ai-panel.nm-ai-lead-mode{
  top:auto !important;
  bottom:82px !important;

  height:min(540px,calc(100dvh - 100px)) !important;
  max-height:calc(100dvh - 100px) !important;
  min-height:0 !important;
}

/* форма занимает остаток, но не растягивает окно */
#nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-box.nm-open{
  flex:1 1 auto !important;
  min-height:0 !important;

  padding:14px 16px 16px !important;

  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* чуть компактнее текстовое поле */
#nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
  height:105px !important;
  min-height:105px !important;
  max-height:105px !important;
}

/* кнопки остаются видимыми */
#nm-ai-panel.nm-ai-lead-mode .nm-ai-lead-actions{
  position:sticky !important;
  bottom:0 !important;

  margin:12px -16px -16px !important;
  padding:11px 16px 14px !important;

  background:#f8fafc !important;
}

/* Даже при узком окне на ПК не разворачиваем на весь экран */
@media(max-width:600px){
  #nm-ai-panel.nm-ai-lead-mode{
    top:auto !important;
    bottom:12px !important;
    left:7px !important;
    right:7px !important;

    width:auto !important;

    height:min(540px,calc(100dvh - 24px)) !important;
    max-height:calc(100dvh - 24px) !important;
  }
}

/* На реально маленьком по высоте экране */
@media(max-height:620px){
  #nm-ai-panel.nm-ai-lead-mode{
    height:calc(100dvh - 16px) !important;
    bottom:8px !important;
  }

  #nm-ai-panel.nm-ai-lead-mode #nm-ai-lead-message{
    height:82px !important;
    min-height:82px !important;
  }
}

/* === v3.6 — consent checkbox === */

#nm-ai-lead-box .nm-ai-legal{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;

  width:100% !important;
  margin:10px 0 4px !important;

  font-size:12px !important;
  line-height:1.35 !important;
  color:#334155 !important;

  cursor:pointer;
}

/* checkbox не должен наследовать width:100% */
#nm-ai-lead-box .nm-ai-legal input[type="checkbox"],
#nm-ai-lead-agree{
  appearance:auto !important;
  -webkit-appearance:auto !important;

  flex:0 0 auto !important;

  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;

  margin:0 !important;
  padding:0 !important;

  cursor:pointer;
}

#nm-ai-lead-box .nm-ai-legal span{
  display:inline !important;
  flex:0 1 auto !important;
  margin:0 !important;
  padding:0 !important;
}
