/* Shield live chat widget */
.lc-root { --lc-orange:#E85D04; --lc-ink:#1e1f24; --lc-muted:#667085; --lc-line:#e6e8ee; --lc-soft:#fff7f0; font-family:Poppins,system-ui,sans-serif; }
.wa-fab {
  position: fixed; right: 18px; bottom: 88px; z-index: 9990;
  border-radius: 999px; text-decoration: none;
  background: #25D366; color: #fff;
  box-shadow: 0 10px 28px rgba(37,211,102,.35);
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px 6px 6px;
  max-width: calc(100vw - 28px);
  transition: transform .15s ease, box-shadow .15s ease;
}
.wa-fab:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(37,211,102,.42); color: #fff; }
.wa-fab-icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: #128C7E; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wa-fab-label {
  display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
  text-align: left; line-height: 1.15; padding-right: 4px;
}
.wa-fab-label strong {
  font-size: .82rem; font-weight: 700; color: #fff; letter-spacing: -.01em;
}
.wa-fab-label span {
  font-size: .68rem; font-weight: 600; color: rgba(255,255,255,.92);
}
.lc-fab {
  position: fixed; right: 18px; bottom: 18px; z-index: 9990;
  border: 0; border-radius: 999px;
  background: #fff; color: var(--lc-ink); cursor: pointer;
  box-shadow: 0 10px 28px rgba(232,93,4,.28);
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px 6px 6px;
  max-width: calc(100vw - 28px);
}
.lc-fab img {
  width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: block;
  background: #fff; border: 2px solid var(--lc-orange);
}
.lc-fab-label {
  display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
  text-align: left; line-height: 1.15; padding-right: 4px;
}
.lc-fab-label strong {
  font-size: .82rem; font-weight: 700; color: var(--lc-ink); letter-spacing: -.01em;
}
.lc-fab-label span {
  font-size: .68rem; font-weight: 600; color: var(--lc-orange);
}
.lc-fab-dot {
  position: absolute; top: 6px; left: 40px; width: 12px; height: 12px;
  background: #22c55e; border: 2px solid #fff; border-radius: 50%;
}
.lc-panel {
  position: fixed; right: 18px; bottom: 92px; z-index: 9991;
  width: min(380px, calc(100vw - 24px)); height: min(560px, calc(100vh - 120px));
  background: #fff; border: 1px solid var(--lc-line); border-radius: 18px;
  box-shadow: 0 20px 50px rgba(16,24,40,.18);
  display: flex; flex-direction: column; overflow: hidden;
}
.lc-root--with-wa .lc-panel {
  bottom: 160px;
  height: min(560px, calc(100vh - 180px));
}
.lc-panel[hidden] { display: none !important; }
.lc-head {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 14px 12px; background: linear-gradient(135deg, #1e1f24, #2a2c33); color: #fff;
}
.lc-head img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #fff; border: 2px solid var(--lc-orange); }
.lc-head-text { min-width: 0; flex: 1; }
.lc-head strong {
  display: block; font-size: 1rem; font-weight: 700; color: #ffffff !important;
  letter-spacing: -.01em; line-height: 1.25;
}
.lc-head small { display: block; font-size: .75rem; margin-top: 3px; }
.lc-online { color: #86efac !important; font-weight: 600; opacity: 1 !important; }
.lc-close {
  margin-left: auto; background: transparent; border: 0; color: #fff !important;
  font-size: 1.4rem; line-height: 1; cursor: pointer; opacity: .9; padding: 4px 8px; flex-shrink: 0;
}
.lc-body { flex: 1; overflow: auto; padding: 14px; background: #f7f8fa; display: grid; gap: 10px; align-content: start; }
.lc-msg { max-width: 88%; padding: 10px 12px; border-radius: 14px; font-size: .88rem; line-height: 1.45; word-break: break-word; }
.lc-msg time { display: block; margin-top: 4px; font-size: .68rem; opacity: .65; }
.lc-msg.is-visitor { margin-left: auto; background: var(--lc-orange); color: #fff; border-bottom-right-radius: 4px; }
.lc-msg.is-agent { background: #fff; border: 1px solid var(--lc-line); color: var(--lc-ink); border-bottom-left-radius: 4px; }
.lc-msg.is-system { margin: 4px auto; background: var(--lc-soft); color: #9a3412; border: 1px solid #ffd7b8; font-size: .82rem; text-align: center; max-width: 94%; }
.lc-form { padding: 12px; border-top: 1px solid var(--lc-line); background: #fff; display: grid; gap: 8px; }
.lc-form[hidden],
.lc-form.lc-off,
form.lc-form.lc-off {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.lc-form input, .lc-form textarea {
  width: 100%; border: 1px solid var(--lc-line); border-radius: 12px;
  padding: 10px 12px; font: inherit; color: var(--lc-ink); background: #fff;
}
.lc-form textarea { min-height: 72px; resize: none; }
.lc-form .lc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lc-send {
  border: 0; border-radius: 12px; background: var(--lc-orange); color: #fff;
  font-weight: 700; padding: 11px 14px; cursor: pointer;
}
.lc-send:disabled { opacity: .55; cursor: wait; }
.lc-hint { color: var(--lc-muted); font-size: .75rem; margin: 0; }
.lc-composer { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
@media (max-width: 560px) {
  .wa-fab { right: 12px; bottom: 80px; padding: 5px 12px 5px 5px; }
  .wa-fab-icon { width: 44px; height: 44px; }
  .wa-fab-label strong { font-size: .76rem; }
  .lc-fab { right: 12px; bottom: 14px; padding: 5px 12px 5px 5px; }
  .lc-fab img { width: 44px; height: 44px; }
  .lc-fab-dot { left: 36px; top: 5px; }
  .lc-fab-label strong { font-size: .76rem; }
  .lc-panel { right: 12px; left: 12px; width: auto; bottom: 86px; height: min(70vh, 560px); }
  .lc-root--with-wa .lc-panel { bottom: 148px; height: min(62vh, 560px); }
}
