/* ============================================================
   CHAT.CSS — единое окно ИИ-ассистентов (по макету Figma)
   Одна структура, разные палитры разделов через data-theme.
   Значения (цвета, радиусы, тени, отступы) взяты из макета
   «Всплывающая форма общения ИИ».
   ============================================================ */

.cmx-ov{
  position:fixed; inset:0; z-index:120;
  display:none; align-items:flex-end; justify-content:center;
  background:rgba(4,10,14,.55);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  opacity:0; transition:opacity .32s cubic-bezier(0.32,0.72,0,1);
}
.cmx-ov.open{ display:flex; }
.cmx-ov.shown{ opacity:1; }

/* ---------- окно ---------- */
.cmx{
  --cm-a1:#F39C12;                    /* акцент, начало градиента */
  --cm-a2:#DB7619;                    /* акцент, конец градиента  */
  --cm-base:#08151D;                  /* база фона окна           */
  --cm-panel:rgba(14,26,35,.60);      /* стеклянные панели        */
  --cm-line:rgba(255,255,255,.10);
  --cm-text:#D7E4F0;
  --cm-mute:#D8C3AD;
  --cm-bot:rgba(0,0,0,.23);
  --cm-grad:linear-gradient(160deg,#0B2430 0%,#08151D 55%,#12242E 100%);
  --cm-ease:cubic-bezier(0.32,0.72,0,1);

  position:relative; box-sizing:border-box;
  width:100%; max-width:520px; height:100dvh;
  display:flex; flex-direction:column; overflow:hidden;
  border-radius:22px 22px 0 0;
  background:var(--cm-grad);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 -25px 50px -12px rgba(0,0,0,.45);
  transform:translateY(100%);
  transition:transform .32s var(--cm-ease);
  color:var(--cm-text);
}
.cmx-ov.shown .cmx{ transform:none; }

/* палитры разделов: меняется только гамма фона, структура едина */
.cmx[data-theme="menu"]    { --cm-grad:linear-gradient(165deg,#0C2A33 0%,#0A1D28 50%,#123240 100%); }
.cmx[data-theme="bookings"]{ --cm-grad:linear-gradient(165deg,#231A16 0%,#0F1A22 55%,#2A1C12 100%); }
.cmx[data-theme="spa"]     { --cm-grad:linear-gradient(165deg,#0A2A24 0%,#08191D 55%,#0E3129 100%); }
.cmx[data-theme="events"]  { --cm-grad:linear-gradient(165deg,#0A1730 0%,#070F1E 55%,#141F3A 100%); }
.cmx[data-theme="brunch"]{
  --cm-a1:#12A47C; --cm-a2:#0C8663;
  --cm-base:#F3FBF8; --cm-panel:rgba(255,255,255,.86);
  --cm-line:rgba(12,60,48,.12);
  --cm-text:#0C2B24; --cm-mute:#3D6A5E;
  --cm-bot:rgba(255,255,255,.92);
  --cm-grad:linear-gradient(170deg,#DFF1F6 0%,#F4FBF7 45%,#FDF3E6 100%);
}
.cmx[data-theme="brunch"]{ border-color:rgba(12,60,48,.10); }
/* edu — «Стажировка в Баку» (edu.caspimayr.az): светлая небесно-синяя палитра */
.cmx[data-theme="edu"]{
  --cm-a1:#1F4FBF; --cm-a2:#0F2F86;
  --cm-base:#F3F7FD; --cm-panel:rgba(255,255,255,.86);
  --cm-line:rgba(15,47,134,.12);
  --cm-text:#0F1F4D; --cm-mute:#4A5C8A;
  --cm-bot:rgba(255,255,255,.92);
  --cm-grad:linear-gradient(170deg,#E6F0FF 0%,#F5F9FF 45%,#EEF3FB 100%);
  border-color:rgba(15,47,134,.10);
}
.cmx[data-theme="edu"] .cmx-head{ background:rgba(255,255,255,.55); }
.cmx[data-theme="edu"] .cmx-ava{ border-color:rgba(15,47,134,.14); }
.cmx[data-theme="edu"] .cmx-row.b .cmx-bub{ border-color:rgba(15,47,134,.10); box-shadow:0 6px 18px -10px rgba(15,47,134,.35); }
.cmx[data-theme="edu"] .cmx-inp, .cmx[data-theme="edu"] .cmx-sel, .cmx[data-theme="edu"] .cmx-cnt,
.cmx[data-theme="edu"] .cmx-segb{ background:rgba(255,255,255,.9); border-color:rgba(15,47,134,.12); box-shadow:inset 0 1px 2px rgba(15,47,134,.08); }
.cmx[data-theme="edu"] .cmx-step{ border-color:rgba(15,47,134,.14); }
.cmx[data-theme="edu"] .cmx-chk input{ border-color:rgba(15,47,134,.25); background:#fff; }
.cmx[data-theme="edu"] .cmx-go, .cmx[data-theme="edu"] .cmx-send, .cmx[data-theme="edu"] .cmx-submit,
.cmx[data-theme="edu"] .cmx-plus{ box-shadow:0 8px 24px -8px rgba(31,79,191,.45); }

@media (min-width:640px){
  .cmx-ov{ align-items:center; }
  .cmx{ width:480px; max-width:480px; height:640px; max-height:92svh; border-radius:22px; }
}
/* Клавиатура.
   Раньше вверх поднималась вся шторка (.cmx-ov{bottom:var(--kb)}) — и под ней,
   между окном чата и клавиатурой, просвечивала сама страница.
   Теперь затемнение остаётся на весь экран, а укорачивается только окно чата:
   просвета нет, ввод по-прежнему стоит на кромке клавиатуры. */
@media (max-width:639.98px){
  .cmx-ov{ bottom:0; }
  .cmx{ height:calc(100% - var(--kb,0px)); margin-bottom:var(--kb,0px);
        border-radius:18px 18px 0 0;
        transition:height .22s cubic-bezier(0.32,0.72,0,1),
                   margin-bottom .22s cubic-bezier(0.32,0.72,0,1); }
}

/* ---------- шапка ---------- */
.cmx-head{
  flex:0 0 auto; display:flex; align-items:center; gap:12px;
  padding:16px 16px 15px;
  background:rgba(20,33,41,.20);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cm-line);
}
.cmx[data-theme="brunch"] .cmx-head{ background:rgba(255,255,255,.55); }
.cmx-ava{
  flex:none; width:40px; height:40px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:var(--cm-panel); border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
  color:var(--cm-a1); overflow:hidden;
}
.cmx[data-theme="brunch"] .cmx-ava{ border-color:rgba(12,60,48,.14); }
.cmx-ava img, .cmx-ava svg{ width:26px; height:26px; object-fit:contain; }
.cmx-htxt{ flex:1 1 auto; min-width:0; }
.cmx-name{
  display:flex; align-items:center; gap:7px;
  font-size:19px; line-height:26px; font-weight:700; color:var(--cm-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cmx-ai{
  flex:none; font-size:9.5px; line-height:14px; font-weight:700; letter-spacing:.6px;
  padding:0 6px; border-radius:999px; color:var(--cm-a1);
  background:color-mix(in srgb, var(--cm-a1) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--cm-a1) 40%, transparent);
}
.cmx-sub{
  display:block; margin-top:1px;
  font-size:11.5px; line-height:16px; color:var(--cm-mute);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cmx-x{
  flex:none; width:40px; height:40px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:var(--cm-panel); border:1px solid var(--cm-line); color:var(--cm-text);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
  transition:transform .2s var(--cm-ease), background .2s ease;
}
.cmx-x:active{ transform:scale(.92); }
.cmx-x svg{ width:15px; height:15px; }

/* ---------- лента ---------- */
.cmx-feed{
  flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain;
  display:flex; flex-direction:column; gap:18px;
  padding:20px 16px 8px;
  scrollbar-width:none; -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.cmx-feed::-webkit-scrollbar{ display:none; width:0; }

.cmx-row{ display:flex; gap:8px; align-items:flex-end; animation:cmxIn .28s var(--cm-ease) both; }
.cmx-row.u{ justify-content:flex-end; }
@keyframes cmxIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none; } }

.cmx-av{
  flex:none; width:24px; height:24px; border-radius:999px; opacity:.85;
  display:flex; align-items:center; justify-content:center;
  background:var(--cm-panel); color:var(--cm-a1); overflow:hidden;
  margin-bottom:18px;
}
.cmx-av img, .cmx-av svg{ width:16px; height:16px; object-fit:contain; }

.cmx-wrap{ display:flex; flex-direction:column; max-width:calc(100% - 44px); min-width:0; }
.cmx-row.u .cmx-wrap{ align-items:flex-end; }

.cmx-bub{
  padding:13px 17px; font-size:15.5px; line-height:23px;
  word-break:break-word; white-space:pre-wrap;
  border-radius:16px 16px 16px 16px;
}
.cmx-row.b .cmx-bub{
  border-top-left-radius:2px;
  background:var(--cm-bot); color:var(--cm-text);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
}
.cmx[data-theme="brunch"] .cmx-row.b .cmx-bub{
  border-color:rgba(12,60,48,.10);
  box-shadow:0 6px 18px -10px rgba(12,60,48,.35);
}
.cmx-row.u .cmx-bub{
  border-top-right-radius:2px;
  background:linear-gradient(135deg,var(--cm-a1) 0%,var(--cm-a2) 100%);
  color:#fff; padding:12px 16px;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.10), 0 4px 6px -4px rgba(0,0,0,.10);
}
.cmx-time{
  margin:4px 2px 0; font-size:10.5px; line-height:14px;
  color:var(--cm-mute); opacity:.7;
}

/* курсор печати */
.cmx-caret{
  display:inline-block; width:2px; height:1em; margin-left:1px;
  vertical-align:-2px; background:currentColor; opacity:.85;
  animation:cmxCaret 1s steps(1) infinite;
}
@keyframes cmxCaret{ 0%,50%{opacity:.85} 50.01%,100%{opacity:0} }

/* «печатает» */
.cmx-dots{ display:inline-flex; gap:5px; align-items:center; padding:2px 0; }
.cmx-dots i{
  width:7px; height:7px; border-radius:999px; background:currentColor;
  opacity:.35; animation:cmxDot 1.1s infinite;
}
.cmx-dots i:nth-child(2){ animation-delay:.16s; }
.cmx-dots i:nth-child(3){ animation-delay:.32s; }
@keyframes cmxDot{ 0%,60%,100%{opacity:.3;transform:translateY(0)} 30%{opacity:1;transform:translateY(-3px)} }

/* ---------- карточки в ленте ---------- */
.cmx-cards{ display:flex; flex-direction:column; gap:8px; width:100%; }
.cmx-card{
  display:flex; align-items:center; gap:12px;
  padding:13px 14px; border-radius:14px;
  background:var(--cm-panel); border:1px solid var(--cm-line);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
  animation:cmxIn .28s var(--cm-ease) both;
}
.cmx-card .cmx-cbody{ flex:1 1 auto; min-width:0; }
.cmx-card b{ display:block; font-size:14.5px; line-height:20px; font-weight:600; color:var(--cm-text); }
.cmx-card small{ display:block; margin-top:2px; font-size:12px; line-height:17px; color:var(--cm-mute); }
.cmx-card .cmx-price{ display:block; margin-top:4px; font-size:13px; font-weight:700; color:var(--cm-a1); }
.cmx-plus{
  flex:none; width:34px; height:34px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--cm-a1) 0%,var(--cm-a2) 100%);
  color:#fff; box-shadow:0 8px 24px -8px rgba(243,156,18,.4);
  transition:transform .2s var(--cm-ease);
}
.cmx-plus:active{ transform:scale(.9); }
.cmx-plus svg{ width:15px; height:15px; }
.cmx-go{
  flex:none; height:32px; padding:0 16px; border-radius:999px;
  font-size:12.5px; font-weight:700; letter-spacing:.3px; white-space:nowrap;
  background:linear-gradient(135deg,var(--cm-a1) 0%,var(--cm-a2) 100%); color:#fff;
  box-shadow:0 8px 24px -8px rgba(243,156,18,.4);
  transition:transform .2s var(--cm-ease);
}
.cmx-go:active{ transform:scale(.95); }
.cmx-more{
  align-self:flex-start; padding:8px 14px; border-radius:999px;
  font-size:12.5px; font-weight:600; color:var(--cm-a1);
  background:transparent; border:1px dashed color-mix(in srgb, var(--cm-a1) 45%, transparent);
}

/* карусель мероприятий */
.cmx-rail{
  display:flex; gap:12px; overflow-x:auto; width:100%;
  padding-bottom:4px; scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none;
}
.cmx-rail::-webkit-scrollbar{ display:none; }
.cmx-ev{
  flex:0 0 auto; width:238px; scroll-snap-align:start;
  border-radius:14px; overflow:hidden;
  background:var(--cm-panel); border:1px solid var(--cm-line);
  animation:cmxIn .28s var(--cm-ease) both;
}
.cmx-ev .cmx-evimg{ position:relative; height:128px; background:#0c1a22; }
.cmx-ev .cmx-evimg img{ width:100%; height:100%; object-fit:cover; }
.cmx-ev .cmx-evimg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(6,14,20,.92) 0%,rgba(6,14,20,0) 62%);
}
.cmx-ev .cmx-evttl{
  position:absolute; left:12px; right:12px; bottom:10px; z-index:1;
  font-size:15px; line-height:20px; font-weight:700; color:#fff;
}
.cmx-ev .cmx-evttl span{ display:block; margin-top:3px; font-size:11.5px; font-weight:600; color:var(--cm-a1); }
.cmx-ev .cmx-evfoot{ display:flex; justify-content:flex-end; padding:11px 12px; }

/* ---------- карточка-форма ---------- */
.cmx-form, .cmx-sum{
  position:relative; width:100%;
  padding:20px; border-radius:16px;
  background:var(--cm-panel); border:1px solid var(--cm-line);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
  display:flex; flex-direction:column; gap:14px;
  animation:cmxIn .28s var(--cm-ease) both;
}
.cmx-form::before, .cmx-sum::before{
  content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.2),rgba(255,255,255,0));
}
.cmx-ftitle{
  display:flex; align-items:center; gap:8px;
  font-size:17px; line-height:24px; font-weight:700; color:var(--cm-a1);
}
.cmx-ftitle svg{ width:18px; height:18px; flex:none; }
.cmx-fld{ display:flex; flex-direction:column; gap:6px; }
.cmx-lbl{
  font-size:10.5px; line-height:15px; font-weight:700;
  letter-spacing:.55px; text-transform:uppercase; color:var(--cm-mute);
}
.cmx-inp, .cmx-sel{
  width:100%; height:48px; padding:0 17px; border-radius:48px;
  font-size:16px; line-height:24px; color:var(--cm-text);
  background:rgba(0,0,0,.20); border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.30);
  outline:none; appearance:none; -webkit-appearance:none;
}
.cmx[data-theme="brunch"] .cmx-inp, .cmx[data-theme="brunch"] .cmx-sel{
  background:rgba(255,255,255,.9); border-color:rgba(12,60,48,.12);
  box-shadow:inset 0 1px 2px rgba(12,60,48,.08);
}
.cmx-inp::placeholder{ color:var(--cm-mute); opacity:.55; }
.cmx-inp:focus, .cmx-sel:focus{ border-color:var(--cm-a1); }
.cmx-sel{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23d8c3ad' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 17px center; background-size:12px 8px;
  padding-right:38px;
}
.cmx-two{ display:flex; gap:12px; }
.cmx-two > *{ flex:1 1 0; min-width:0; }
.cmx-note{ margin-top:-2px; font-size:11px; line-height:15px; color:var(--cm-mute); opacity:.8; }

/* счётчики */
.cmx-cnt{
  border-radius:24px; padding:6px 13px;
  background:rgba(0,0,0,.20); border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.30);
}
.cmx[data-theme="brunch"] .cmx-cnt{
  background:rgba(255,255,255,.9); border-color:rgba(12,60,48,.12);
  box-shadow:inset 0 1px 2px rgba(12,60,48,.08);
}
.cmx-crow{ display:flex; align-items:center; gap:12px; padding:9px 0; }
.cmx-crow + .cmx-crow{ border-top:1px solid rgba(255,255,255,.05); }
.cmx[data-theme="brunch"] .cmx-crow + .cmx-crow{ border-top-color:rgba(12,60,48,.08); }
.cmx-crow .cmx-cl{ flex:1 1 auto; min-width:0; font-size:14.5px; line-height:19px; color:var(--cm-text); }
.cmx-crow .cmx-cl i{ display:block; font-style:normal; font-size:11.5px; color:var(--cm-mute); }
.cmx-step{
  flex:none; width:32px; height:32px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.10); color:var(--cm-text);
  transition:transform .2s var(--cm-ease), opacity .2s ease;
}
.cmx[data-theme="brunch"] .cmx-step{ border-color:rgba(12,60,48,.14); }
.cmx-step:active{ transform:scale(.9); }
.cmx-step[disabled]{ opacity:.4; }
.cmx-step svg{ width:11px; height:11px; }
.cmx-num{
  flex:none; min-width:22px; text-align:center;
  font-size:19px; line-height:26px; font-weight:700; color:var(--cm-text);
}

/* сегмент-кнопки (пакеты, тарифы) */
.cmx-seg{ display:flex; gap:8px; flex-wrap:wrap; }
.cmx-segb{
  flex:1 1 auto; min-width:0; height:40px; padding:0 14px; border-radius:999px;
  font-size:13.5px; line-height:18px; font-weight:600; color:var(--cm-text);
  background:rgba(0,0,0,.20); border:1px solid rgba(255,255,255,.08);
  transition:transform .2s var(--cm-ease), background .2s ease, border-color .2s ease;
}
.cmx[data-theme="brunch"] .cmx-segb{
  background:rgba(255,255,255,.9); border-color:rgba(12,60,48,.12);
}
.cmx-segb:active{ transform:scale(.97); }
.cmx-segb.on{
  color:#fff; border-color:transparent;
  background:linear-gradient(135deg,var(--cm-a1),var(--cm-a2));
}

/* галочки */
.cmx-chk{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; line-height:19px; color:var(--cm-text); }
.cmx-chk input{
  flex:none; width:20px; height:20px; margin:0; border-radius:6px;
  appearance:none; -webkit-appearance:none;
  border:1px solid rgba(255,255,255,.25); background:rgba(0,0,0,.2);
}
.cmx[data-theme="brunch"] .cmx-chk input{ border-color:rgba(12,60,48,.25); background:#fff; }
.cmx-chk input:checked{
  background:linear-gradient(135deg,var(--cm-a1),var(--cm-a2)); border-color:transparent;
  background-image:linear-gradient(135deg,var(--cm-a1),var(--cm-a2)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E");
  background-blend-mode:normal; background-size:cover, 16px 16px; background-position:center, center;
  background-repeat:no-repeat, no-repeat;
}

/* кнопка формы */
.cmx-submit{
  width:100%; height:48px; border-radius:999px;
  font-size:15px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,var(--cm-a1) 0%,var(--cm-a2) 100%);
  box-shadow:0 8px 24px -8px rgba(243,156,18,.4);
  transition:transform .2s var(--cm-ease), opacity .2s ease;
}
.cmx-submit:active{ transform:scale(.97); }
.cmx-submit[disabled]{ opacity:.5; }
.cmx-err{ min-height:0; font-size:12px; line-height:17px; color:#FFB4AB; }

/* карточка-сводка */
.cmx-sum .cmx-srow{ display:flex; justify-content:space-between; gap:14px; font-size:14px; line-height:20px; }
.cmx-sum .cmx-srow span{ color:var(--cm-mute); }
.cmx-sum .cmx-srow b{ color:var(--cm-text); font-weight:600; text-align:right; }
.cmx-sum .cmx-stot{ border-top:1px solid var(--cm-line); padding-top:12px; }
.cmx-sum .cmx-stot b{ color:var(--cm-a1); font-size:16px; }

/* ---------- быстрые подсказки ---------- */
.cmx-chips{
  flex:0 0 auto; display:flex; gap:8px; overflow-x:auto;
  padding:0 16px 10px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.cmx-chips::-webkit-scrollbar{ display:none; }
.cmx-chips button{
  flex:0 0 auto; white-space:nowrap;
  padding:8px 14px; border-radius:999px; font-size:12.5px;
  background:var(--cm-panel); border:1px solid var(--cm-line); color:var(--cm-text);
  transition:transform .2s var(--cm-ease);
}
.cmx-chips button:active{ transform:scale(.95); }
.cmx.cmx-started .cmx-chips{ display:none; }

/* строка «связаться с оператором» — только когда бот не смог */
.cmx-op{
  align-self:flex-start; display:inline-flex; align-items:center; gap:7px;
  padding:9px 14px; border-radius:999px; font-size:12.5px; font-weight:600;
  color:var(--cm-a1); background:color-mix(in srgb, var(--cm-a1) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--cm-a1) 35%, transparent);
}
.cmx-op svg{ width:14px; height:14px; }

/* ---------- строка ввода ---------- */
.cmx-inbar{
  flex:0 0 auto; display:flex; align-items:center; gap:10px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(to top, color-mix(in srgb, var(--cm-base) 92%, transparent) 40%, transparent);
  border-top:1px solid var(--cm-line);
}
.cmx-inbar .cmx-field{
  flex:1 1 auto; min-width:0; height:52px; padding:0 18px; border-radius:999px;
  font-size:16px; color:var(--cm-text);
  background:var(--cm-panel); border:1px solid var(--cm-line);
  backdrop-filter:blur(12.5px); -webkit-backdrop-filter:blur(12.5px);
  outline:none;
}
.cmx-inbar .cmx-field::placeholder{ color:var(--cm-mute); opacity:.6; }
.cmx-inbar .cmx-field:focus{ border-color:color-mix(in srgb, var(--cm-a1) 55%, transparent); }
.cmx-send{
  flex:none; width:44px; height:44px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--cm-a1) 0%,var(--cm-a2) 100%); color:#fff;
  box-shadow:0 8px 24px -8px rgba(243,156,18,.4);
  transition:transform .2s var(--cm-ease);
}
.cmx-send:active{ transform:scale(.9); }
.cmx-send svg{ width:18px; height:18px; }

/* нижнее меню и плавающие кнопки уходят, пока открыт чат */
body.cmx-open nav.fixed.bottom-0,
body.cmx-open .bottom-nav,
body.cmx-open .bnav{ transform:translateY(160%) !important; pointer-events:none !important; }

@media (prefers-reduced-motion: reduce){
  .cmx, .cmx-ov, .cmx-row, .cmx-card, .cmx-form, .cmx-sum, .cmx-ev{
    animation:none !important; transition:none !important;
  }
  .cmx-feed{ scroll-behavior:auto; }
}

/* ---------- ИТОГ ЗАКАЗА В ЛЕНТЕ ----------
   Одна строка вместо череды кнопок «Оформить заказ».
   Живёт внизу ленты и переезжает вниз при новом ответе. */
.cmx-tray{
  display:flex; align-items:center; gap:12px;
  margin:10px 0 2px; padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,156,1,.16),rgba(255,156,1,.07));
  border:1px solid rgba(255,156,1,.34);
  animation:cmxTrayIn .32s cubic-bezier(0.32,0.72,0,1) both;
}
.cmx-tray-t{ flex:1 1 auto; min-width:0; font-size:14px; color:#fff; line-height:1.35; }
.cmx-tray-b{
  flex:none; padding:10px 16px; border:0; border-radius:999px;
  font-size:13.5px; font-weight:700; color:#fff; cursor:pointer;
  background:linear-gradient(135deg,#FF9C01,#FFC46B);
  box-shadow:0 10px 22px -12px rgba(255,156,1,.9);
  transition:transform .2s cubic-bezier(0.32,0.72,0,1);
}
.cmx-tray-b:active{ transform:scale(.96); }
@keyframes cmxTrayIn{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }
