/* Hotless LiveChat 2.6 rich-message layer. */
.hlc-typing-indicator,
.hlc-admin-typing-indicator {
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 13px;
  color:#64748b;
  font-size:12px;
  line-height:1.3;
}
.hlc-typing-indicator[hidden],
.hlc-admin-typing-indicator[hidden],
.hlc-upload-status[hidden],
.hlc-admin-upload-status[hidden] { display:none !important; }
.hlc-typing-dots { display:inline-flex; gap:3px; align-items:center; }
.hlc-typing-dots i {
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.35;
  animation:hlcTypingDot 1.05s infinite ease-in-out;
}
.hlc-typing-dots i:nth-child(2){animation-delay:.14s}
.hlc-typing-dots i:nth-child(3){animation-delay:.28s}
@keyframes hlcTypingDot { 0%,60%,100%{transform:translateY(0);opacity:.3}30%{transform:translateY(-3px);opacity:.9} }

.hlc-message-form { align-items:flex-end !important; }
.hlc-composer-tools,
.hlc-admin-composer-tools { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.hlc-tool-button,
.hlc-admin-tool-button {
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  border:1px solid #dbe3ef;
  border-radius:12px;
  background:#f8fafc;
  color:#334155;
  font-size:20px;
  font-weight:700;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:none;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.hlc-tool-button:hover,.hlc-admin-tool-button:hover { background:#eef4ff;border-color:#bfdbfe; }
.hlc-tool-button:active,.hlc-admin-tool-button:active { transform:scale(.96); }
.hlc-tool-button.is-recording,.hlc-admin-tool-button.is-recording {
  color:#fff;
  background:#dc2626;
  border-color:#dc2626;
  animation:hlcRecordPulse 1.25s infinite;
}
@keyframes hlcRecordPulse { 50%{box-shadow:0 0 0 6px rgba(220,38,38,.12)} }

.hlc-upload-status,
.hlc-admin-upload-status {
  margin:0 12px 7px;
  padding:7px 10px;
  border-radius:10px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
}
.hlc-upload-status.is-error,.hlc-admin-upload-status.is-error { background:#fef2f2;color:#b91c1c; }

.hlc-attachment { display:block; max-width:100%; }
.hlc-image-attachment img,
.hlc-admin-image-attachment img {
  display:block;
  width:100%;
  max-height:260px;
  object-fit:cover;
  border-radius:12px;
  background:#e2e8f0;
}
.hlc-audio-attachment audio,
.hlc-admin-audio-attachment audio { display:block; width:100%; min-width:210px; max-width:100%; height:40px; }
.hlc-file-attachment,
.hlc-admin-file-attachment {
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:11px;
  background:rgba(255,255,255,.14);
  color:inherit !important;
  text-decoration:none !important;
  font-weight:650;
  overflow-wrap:anywhere;
}
.hlc-message.is-agent .hlc-file-attachment,
.hlc-admin-message.is-visitor .hlc-admin-file-attachment { background:#f1f5f9;color:#0f172a !important; }
.hlc-bubble.is-deleted,
.hlc-admin-bubble.is-deleted { font-style:italic; opacity:.68; }

.hlc-admin-message { position:relative; }
.hlc-admin-message-actions {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  font-size:11px;
}
.hlc-admin-message-delete {
  appearance:none;
  border:0;
  background:transparent;
  color:#94a3b8;
  font-size:11px;
  padding:2px 3px;
  cursor:pointer;
}
.hlc-admin-message-delete:hover { color:#dc2626; text-decoration:underline; }
.hlc-admin-rich-toolbar {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
}
.hlc-admin-rich-toolbar .hlc-admin-upload-status { margin:0; flex:1; }

.hlc-rich-settings-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  font-size:11px;
  font-weight:700;
}

@media (max-width:700px) {
  .hlc-message-form { gap:6px !important; }
  .hlc-composer-tools { gap:4px; }
  .hlc-tool-button { width:36px;height:36px;min-width:36px;border-radius:11px;font-size:18px; }
  .hlc-audio-attachment audio { min-width:175px; }
  .hlc-image-attachment img { max-height:210px; }
}

@media (prefers-reduced-motion:reduce) {
  .hlc-typing-dots i,.hlc-tool-button.is-recording,.hlc-admin-tool-button.is-recording { animation:none !important; }
}
