/* Перший шар — живий чат у віджеті зв'язку (канал «Сайт» у Squaregram).
   Доповнює fl.css, нічого в ньому не переписуючи: форма, шапка й підвал
   (Telegram / Viber / дзвінок) лишаються рідними, чат просто стає на місце
   форми, коли розмова вже почалась. */

/* У режимі листування панель фіксованої висоти, а прокручується лише
   стрічка — інакше поле вводу тікало б під край екрана. */
.fl-chat--live { height: min(78vh, 640px); }
.fl-chat--live .fl-chat-body {
  padding: 0; overflow: hidden;
  display: flex; flex-direction: column; min-height: 0;
}
.fl-chat--live .fl-chat-lead { display: none; }
/* Саму форму ховаємо КЛАСОМ, а не атрибутом hidden: у fl.css вона
   display:grid, і правило автора перебиває браузерне [hidden]{display:none} —
   форма лишалась би висіти над стрічкою. */
.fl-chat--live .fl-chat-form { display: none; }

.flc { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.flc[hidden] { display: none; }

.flc-stream {
  flex: 1 1 auto; min-height: 120px; overflow-y: auto;
  padding: 14px 16px; background: var(--fl-page);
  display: flex; flex-direction: column; gap: 9px;
}

.flc-b { max-width: 86%; display: flex; flex-direction: column; gap: 3px; }
.flc-t {
  padding: 9px 12px; border-radius: 14px;
  font-size: 14px; line-height: 1.5;
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.flc-t a { color: inherit; text-decoration: underline; }
.flc-m { font-family: var(--fl-m); font-size: 10.5px; color: var(--fl-muted); }

/* менеджер — ліворуч світлою карткою, клієнт — праворуч темною */
.flc-op { align-self: flex-start; }
.flc-op .flc-t {
  background: var(--fl-card); border: 1px solid var(--fl-line);
  color: var(--fl-ink); border-bottom-left-radius: 5px;
}
.flc-me { align-self: flex-end; align-items: flex-end; }
.flc-me .flc-t { background: var(--fl-navy); color: #fff; border-bottom-right-radius: 5px; }
.flc-pend { opacity: .6; }
.flc-fail .flc-t { background: var(--fl-coral); }

.flc-compose {
  display: flex; align-items: flex-end; gap: 8px;
  padding: 10px 12px; background: var(--fl-card);
  border-top: 1px solid var(--fl-line);
}
.flc-compose textarea {
  flex: 1 1 auto; resize: none; max-height: 110px;
  padding: 9px 12px; border: 2px solid var(--fl-line); border-radius: 14px;
  background: var(--fl-page); color: var(--fl-ink);
  font-family: var(--fl-b); font-size: 15px; line-height: 1.45;
}
.flc-compose textarea:focus { border-color: var(--fl-green); outline: none; }
.flc-compose button {
  flex: 0 0 auto; width: 40px; height: 40px;
  display: grid; place-items: center; padding: 0 !important;
  border: 0 !important; border-radius: 50% !important;
  background: var(--fl-green) !important; color: #fff !important;
  cursor: pointer; transition: .16s;
}
.flc-compose button:hover { background: var(--fl-green-dk) !important; }
.flc-compose button svg { width: 18px; height: 18px; }

.flc-foot {
  margin: 0; padding: 0 12px 10px; background: var(--fl-card);
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
  font-size: 11px; line-height: 1.4; color: var(--fl-muted);
}
.flc-foot span { flex: 1 1 auto; }
.flc-end {
  flex: 0 0 auto; padding: 5px 11px !important;
  border: 1px solid var(--fl-line) !important; border-radius: 999px !important;
  background: var(--fl-card) !important; color: var(--fl-muted) !important;
  font-family: var(--fl-m); font-size: 10.5px; font-weight: 700;
  letter-spacing: .03em; cursor: pointer; transition: .16s;
}
.flc-end:hover { border-color: var(--fl-coral) !important; color: var(--fl-coral) !important; }
.flc-end:disabled { opacity: .5; cursor: default; }

/* лічильник нових відповідей на круглій кнопці */
.fl-fab { position: relative; }
.flc-badge {
  position: absolute; top: -4px; right: -4px;
  min-width: 20px; height: 20px; padding: 0 5px;
  display: grid; place-items: center; border-radius: 999px;
  background: var(--fl-coral); color: #fff;
  font-family: var(--fl-m); font-size: 11px; font-weight: 800;
  box-shadow: 0 2px 8px rgba(12, 28, 50, .3);
}
.flc-badge[hidden] { display: none; }
