/* AI-помощник: окно чата */
.as { position: fixed; right: 24px; bottom: 100px; z-index: 80; width: 400px; max-width: calc(100vw - 24px); height: min(640px, calc(100vh - 130px));
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; overflow: hidden; }
.as[hidden] { display: none; }
.as__head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: var(--c-dark); color: #fff; }
.as__head b { flex: 1; font-size: 16px; }
.as__head b small { display: block; font-weight: 500; font-size: 12px; color: rgba(255,255,255,.65); }
.as__head button { background: none; border: 0; color: rgba(255,255,255,.75); cursor: pointer; font-size: 13px; padding: 4px 6px; }
.as__head button:hover { color: #fff; }
.as__close { font-size: 24px !important; line-height: 1; }

.as__log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: var(--c-bg-alt); }
.as__m { max-width: 92%; padding: 10px 14px; border-radius: 14px; font-size: 15px; line-height: 1.5; word-wrap: break-word; }
.as__m--user { align-self: flex-end; background: var(--c-accent); color: #fff; border-bottom-right-radius: 4px; }
.as__m--bot { align-self: flex-start; background: #fff; border: 1px solid var(--c-line); color: var(--c-text); border-bottom-left-radius: 4px; max-width: 100%; }

.as__objs { display: grid; gap: 8px; margin-top: 10px; }
.as__obj { display: flex; gap: 10px; padding: 8px; border: 1px solid var(--c-line); border-radius: var(--radius); background: #fff; color: inherit; transition: .15s; }
.as__obj:hover { border-color: var(--c-accent); }
.as__thumb { flex: 0 0 76px; height: 76px; border-radius: 8px; background: var(--c-bg-alt) center / cover no-repeat; }
.as__info { display: grid; gap: 2px; min-width: 0; font-size: 13px; color: var(--c-muted); }
.as__info b { color: var(--c-ink); font-size: 14px; line-height: 1.3; }
.as__info em { font-style: normal; font-weight: 700; color: var(--c-accent); }
.as__info small { font-size: 11px; }
.as__more, .as__links a { display: inline-block; margin-top: 8px; color: var(--c-accent); font-weight: 600; font-size: 14px; }
.as__links { display: flex; flex-direction: column; }

.as__draft { display: grid; gap: 8px; margin-top: 10px; padding: 12px; border: 1px dashed var(--c-accent); border-radius: var(--radius); background: var(--c-accent-soft); }
.as__draft label { display: grid; gap: 3px; font-size: 12px; color: var(--c-muted); }
.as__draft input[type=text], .as__draft input[type=tel], .as__draft input[type=email], .as__draft textarea { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid var(--c-line); border-radius: 8px; background: #fff; color: var(--c-text); }
.as__draft .as__cons { display: flex; align-items: flex-start; gap: 8px; }
.as__draft .as__cons a { color: var(--c-accent); text-decoration: underline; }
.as__dmsg { font-size: 13px; padding: 8px 10px; border-radius: 8px; }
.as__dmsg[hidden] { display: none; }
.as__dmsg.is-err { background: #fdecea; color: #a12a1f; }
.as__ok { margin-top: 10px; padding: 8px 10px; border-radius: 8px; background: #e8f6ed; color: #17653a; font-size: 14px; }

.as__think { display: flex; align-items: center; gap: 8px; color: var(--c-muted); font-size: 14px; flex-wrap: wrap; }
.as__think small { font-size: 12px; }
.as__cancel { background: none; border: 0; color: var(--c-accent); cursor: pointer; font-size: 13px; text-decoration: underline; padding: 0; }
.as__dots { display: inline-flex; gap: 4px; }
.as__dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-accent); animation: as-bounce 1.2s infinite ease-in-out; }
.as__dots i:nth-child(2) { animation-delay: .15s; } .as__dots i:nth-child(3) { animation-delay: .3s; }
@keyframes as-bounce { 0%, 80%, 100% { transform: scale(.5); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }

.as__sugg { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 12px; background: var(--c-bg-alt); }
.as__sugg[hidden] { display: none; }
.as__sugg button { border: 1px solid var(--c-line); background: #fff; border-radius: 999px; padding: 7px 12px; font: inherit; font-size: 13px; cursor: pointer; color: var(--c-text); }
.as__sugg button:hover { border-color: var(--c-accent); color: var(--c-accent); }

.as__form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--c-line); background: #fff; align-items: flex-end; }
.as__input { flex: 1; resize: none; font: inherit; font-size: 15px; padding: 10px 12px; border: 1px solid var(--c-line); border-radius: 10px; max-height: 110px; color: var(--c-text); }
.as__input:focus { outline: 2px solid var(--c-accent-soft); border-color: var(--c-accent); }
.as__send { flex: 0 0 auto; }
.as__note { padding: 0 12px 10px; font-size: 11px; color: var(--c-muted); background: #fff; }

@media (max-width: 640px) {
  .as { right: 8px; left: 8px; bottom: 8px; width: auto; max-width: none; height: calc(100vh - 16px); }
  .ai-fab.is-open { display: none; }
}
