/* AI-консультант — стили (используют CSS-переменные основного сайта) */
.ai-ask-section { padding: var(--s-7) 0; background: linear-gradient(135deg, rgba(232,93,31,0.04), rgba(15,76,129,0.04)); }
.ai-ask-card {
  max-width: 860px; margin: var(--s-5) auto 0;
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--r-md); padding: var(--s-5) var(--s-6);
  box-shadow: 0 4px 18px rgba(20,15,5,.06);
}
.ai-ask-section .eyebrow { color: var(--accent); }
.ai-ask-section h2 { display: flex; align-items: center; gap: 10px; }
.ai-ask-section h2 .ai-spark { color: var(--accent); }
.ai-ask-lead { font-size: 16px; color: var(--ink-2); max-width: 60ch; margin: var(--s-3) 0 var(--s-5); }

.ai-ask-form { display: flex; flex-direction: column; gap: var(--s-3); }
.ai-ask-form textarea {
  width: 100%; min-height: 84px; resize: vertical;
  padding: 14px 16px; font-family: inherit; font-size: 15px; line-height: 1.5;
  border: 1px solid var(--line); border-radius: 12px;
  background: var(--bg); color: var(--ink);
  transition: border-color .15s;
}
.ai-ask-form textarea:focus { outline: none; border-color: var(--accent); }
.ai-ask-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.ai-captcha { min-height: 0; transition: min-height .2s; }
.ai-captcha[data-ts-rendered] { min-height: 70px; }

.ai-ask-actions { display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; }
.ai-ask-actions button { min-width: 200px; }
.ai-ask-actions .ai-ask-disclaimer {
  font-size: 12px; color: var(--ink-3); flex: 1;
}

.ai-ask-msg { font-size: 14px; min-height: 18px; }
.ai-ask-msg.is-err { color: var(--bad); }

.ai-ask-chips {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-top: var(--s-2);
}
.ai-ask-chips small {
  font-size: 12px; color: var(--ink-3);
  padding: 4px 0; margin-right: 4px;
}
.ai-ask-chip {
  background: var(--bg-soft); border: 1px solid var(--line);
  padding: 5px 12px; border-radius: 999px; cursor: pointer;
  font-size: 13px; color: var(--ink-2);
  font-family: inherit;
  transition: border-color .12s, color .12s;
}
.ai-ask-chip:hover { border-color: var(--accent); color: var(--accent); }

/* ===== Шапка с кнопкой «Новый вопрос» ===== */
.ai-ask-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--s-2); }
.ai-ask-new {
  background: transparent; border: 1px solid var(--line); color: var(--ink-3);
  padding: 6px 12px; border-radius: 999px; cursor: pointer;
  font-family: var(--font-display); font-weight: 600; font-size: 12px;
  transition: border-color .12s, color .12s;
}
.ai-ask-new:hover { border-color: var(--accent); color: var(--accent); }

/* ===== Чат-тред ===== */
.ai-ask-thread {
  display: flex; flex-direction: column; gap: var(--s-3);
  margin: var(--s-4) 0;
  padding: var(--s-4);
  background: var(--bg-soft); border-radius: var(--r-md);
  border: 1px solid var(--line);
}
.ai-bubble {
  max-width: 85%; padding: 12px 16px; border-radius: 14px;
  font-size: 15px; line-height: 1.55;
  animation: aiBubbleIn .25s ease;
}
@keyframes aiBubbleIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ai-bubble p { margin: 0 0 8px; }
.ai-bubble p:last-child { margin: 0; }
.ai-bubble strong { font-weight: 800; }

.ai-bubble--user {
  align-self: flex-end;
  background: var(--accent); color: #fff;
  border-bottom-right-radius: 4px;
}
.ai-bubble--user strong { color: #fff; }

.ai-bubble--assistant {
  align-self: flex-start;
  background: var(--bg-card); color: var(--ink);
  border: 1px solid var(--line);
  border-bottom-left-radius: 4px;
}

/* «думаю…» — три прыгающих точки */
.ai-bubble--thinking { padding: 14px 18px; }
.ai-typing { display: inline-flex; gap: 4px; }
.ai-typing span {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ink-3); display: inline-block;
  animation: aiTyping 1.2s infinite ease-in-out;
}
.ai-typing span:nth-child(2) { animation-delay: .2s; }
.ai-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes aiTyping {
  0%, 60%, 100% { opacity: .3; transform: translateY(0); }
  30%           { opacity: 1;  transform: translateY(-4px); }
}

@media (max-width: 720px) {
  .ai-bubble { max-width: 92%; font-size: 14px; }
}

@media (max-width: 720px) {
  .ai-ask-card { padding: var(--s-4); }
  .ai-ask-actions button { width: 100%; min-width: 0; }
}
