/* Groundwork concierge widget. Self-contained, fixed overlay, brand colors. */
.litm-chat { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 9999;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.litm-chat * { box-sizing: border-box; }

.litm-chat__launch {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.7rem 1.05rem; border: 1px solid #1c1b18; border-radius: 100px;
  background: #1c1b18; color: #fff; font-size: 0.82rem; letter-spacing: 0.02em;
  cursor: pointer; box-shadow: 0 10px 30px -12px rgba(28,27,24,0.5); transition: transform .15s, background .15s, color .15s;
}
.litm-chat__launch:hover { transform: translateY(-1px); }
.litm-chat__launch .dot { width: 7px; height: 7px; border-radius: 50%; background: #8a6f3b; }
.litm-chat[data-open="true"] .litm-chat__launch { display: none; }

.litm-chat__panel {
  display: none; flex-direction: column; width: min(23rem, calc(100vw - 2rem));
  height: min(34rem, calc(100vh - 2.4rem)); background: #fff; border: 1px solid #e7e3d9;
  border-radius: 14px; overflow: hidden; box-shadow: 0 24px 70px -20px rgba(28,27,24,0.45);
}
.litm-chat[data-open="true"] .litm-chat__panel { display: flex; }

.litm-chat__head { display: flex; align-items: center; justify-content: space-between;
  padding: 0.85rem 1rem; border-bottom: 1px solid #e7e3d9; }
.litm-chat__title { font-family: "Newsreader", Georgia, serif; font-size: 1.02rem; color: #1c1b18; }
.litm-chat__title span { display: block; font-family: inherit; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: #908c83; margin-top: 1px; }
.litm-chat__close { background: none; border: 0; font-size: 1.3rem; line-height: 1; color: #908c83; cursor: pointer; padding: 0 0.2rem; }
.litm-chat__close:hover { color: #1c1b18; }

.litm-chat__log { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.7rem; }
.litm-msg { max-width: 85%; padding: 0.6rem 0.8rem; border-radius: 12px; font-size: 0.9rem; line-height: 1.5; white-space: pre-wrap; word-wrap: break-word; }
.litm-msg.bot { align-self: flex-start; background: #f5f3ee; color: #1c1b18; border-bottom-left-radius: 4px; }
.litm-msg.me { align-self: flex-end; background: #1c1b18; color: #fff; border-bottom-right-radius: 4px; }
.litm-msg a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.litm-msg.typing { color: #908c83; font-style: italic; }

.litm-chat__form { display: flex; gap: 0.5rem; padding: 0.8rem; border-top: 1px solid #e7e3d9; }
.litm-chat__input { flex: 1; min-width: 0; resize: none; max-height: 6rem; padding: 0.6rem 0.7rem;
  font-family: inherit; font-size: 0.9rem; color: #1c1b18; background: #fff; border: 1px solid #e7e3d9; border-radius: 8px; }
.litm-chat__input:focus { outline: none; border-color: #1c1b18; }
.litm-chat__send { flex: none; padding: 0 0.95rem; border: 1px solid #1c1b18; background: #1c1b18; color: #fff;
  border-radius: 8px; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: background .15s, color .15s; }
.litm-chat__send:hover { background: transparent; color: #1c1b18; }
.litm-chat__send[disabled] { opacity: 0.5; cursor: default; }
.litm-chat__fine { padding: 0 0.8rem 0.7rem; font-size: 0.68rem; color: #908c83; }

@media (max-width: 30rem) {
  .litm-chat { right: 0.8rem; bottom: 0.8rem; left: 0.8rem; }
  .litm-chat__launch { width: 100%; justify-content: center; }
  .litm-chat__panel { width: 100%; height: min(32rem, calc(100vh - 1.8rem)); }
}
