/* family · css/sections/assistant.css
   ИИ-помощник: плавающая кнопка-лаунчер + окно чата + стилизованные ответы
   (карточки квартир, блок условий, CTA). Палитра — из base.css. */

/* ── плавающая кнопка ── */
.ai-launcher{position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;
  width:3.6rem;height:3.6rem;border-radius:50%;border:none;cursor:pointer;
  background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(23,36,29,.28);
  opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,background-color .2s ease;}
.ai-launcher.is-visible{opacity:1;transform:none;pointer-events:auto;}
.ai-launcher:hover{background:var(--brass-2);}
.ai-launcher.is-hidden{opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;}
@media (max-width:768px){.ai-launcher{width:4.2rem;height:4.2rem;right:.9rem;bottom:.9rem;cursor:pointer;}}

/* ── окно чата ── */
.ai-widget{position:fixed;right:1.1rem;bottom:1.1rem;z-index:61;
  width:23rem;max-width:calc(100vw - 1.8rem);height:32rem;max-height:calc(100vh - 2.2rem);
  display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:.9rem;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.28);
  opacity:0;transform:translateY(16px) scale(.98);transform-origin:bottom right;pointer-events:none;visibility:hidden;
  transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;}
.ai-widget.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .28s ease,transform .28s ease,visibility 0s;}
@media (max-width:480px){
  .ai-widget{right:.6rem;left:.6rem;bottom:.6rem;width:auto;height:78vh;}
}

.ai-w-head{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:#fff;}
.ai-w-ava{width:2rem;height:2rem;border-radius:50%;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.ai-w-title{font-family:'Bitter',serif;font-weight:600;font-size:.95rem;line-height:1.1;}
.ai-w-sub{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-2);}
.ai-w-close{margin-left:auto;padding:.4rem;opacity:.5;cursor:pointer;background:none;border:none;color:var(--ink);transition:opacity .2s ease;}
.ai-w-close:hover{opacity:1;}

.ai-w-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;}
.ai-w-form{display:flex;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--line);background:#fff;}
.ai-w-input{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:.5rem;
  padding:.6rem .8rem;font-size:.9rem;outline:none;transition:border-color .2s ease;font-family:inherit;}
.ai-w-input:focus{border-color:var(--ink);}
.ai-w-send{flex:none;width:2.6rem;border-radius:.5rem;border:none;background:var(--brass);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;}
.ai-w-send:hover{background:var(--brass-2);}

/* ── сообщения ── */
.aim{max-width:85%;padding:.6rem .85rem;border-radius:.8rem;font-size:.88rem;line-height:1.45;animation:aimIn .25s ease;}
@keyframes aimIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.aim-user{margin-left:auto;background:var(--pine);color:#fff;border-bottom-right-radius:.25rem;}
.aim-ai{margin-right:auto;background:#fff;border:1px solid var(--line);border-bottom-left-radius:.25rem;}
.aim-typing{display:inline-flex;gap:.3rem;padding:.75rem .9rem;background:#fff;border:1px solid var(--line);border-radius:.8rem;margin-right:auto;}
.aim-typing i{width:.4rem;height:.4rem;border-radius:50%;background:rgba(23,36,29,.4);animation:aimtp 1s infinite;}
.aim-typing i:nth-child(2){animation-delay:.15s}.aim-typing i:nth-child(3){animation-delay:.3s}
@keyframes aimtp{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* ── карточка квартиры в ответе ── */
.ai-flat{display:flex;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:.6rem;margin-right:auto;max-width:100%;width:100%;}
.ai-flat-media{flex:none;width:5rem;height:5rem;border-radius:.4rem;overflow:hidden;background:var(--paper-2);position:relative;}
.ai-flat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:.2rem;background:#fff;}
.ai-flat-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.ai-flat-type{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(23,36,29,.5);}
.ai-flat-area{font-family:'Bitter',serif;font-weight:600;font-size:1rem;line-height:1.1;margin:.1rem 0;}
.ai-flat-price{font-family:'JetBrains Mono',monospace;font-weight:500;color:var(--brass-2);font-size:.95rem;}
.ai-flat-price .price-from{font-family:'Golos Text',sans-serif;font-size:.66em;font-weight:400;color:rgba(23,36,29,.45);margin-right:.2em;}
.ai-flat-deal{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;background:var(--brass);color:#fff;padding:.12rem .4rem;border-radius:.2rem;margin-left:.4rem;vertical-align:middle;}
.ai-flat-btns{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap;}
.ai-flat-btn{font-size:.74rem;font-weight:600;padding:.4rem .6rem;border-radius:.35rem;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);transition:all .18s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;}
.ai-flat-btn:hover{border-color:var(--ink);}
.ai-flat-btn.is-primary{background:var(--pine);color:#fff;border-color:var(--pine);}
.ai-flat-btn.is-primary:hover{background:var(--pine-2);}

/* ── блок условий (рассрочка/єОселя) ── */
.ai-note{background:rgba(192,131,41,.08);border:1px solid var(--brass);border-radius:.5rem;padding:.7rem .85rem;font-size:.84rem;line-height:1.45;margin-right:auto;}
.ai-note b{font-family:'Bitter',serif;}

/* ── CTA-кнопка под ответом ── */
.ai-cta{align-self:flex-start;margin-right:auto;background:var(--brass);color:#fff;border:none;border-radius:.4rem;
  font-weight:600;font-size:.82rem;padding:.55rem 1rem;cursor:pointer;transition:background-color .2s ease;}
.ai-cta:hover{background:var(--brass-2);}

@media (prefers-reduced-motion: reduce){
  .ai-launcher,.ai-widget,.aim{transition:none;animation:none;}
}
