/* Groundwork concierge widget. Self-contained, fixed overlay, brand tokens. */
.litm-chat { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 9999;
  font-family: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif; }
.litm-chat * { box-sizing: border-box; }

.litm-chat__launch {
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.75rem 1.15rem; border: 1px solid #10041f; border-radius: 999px;
  background: #10041f; color: #fff; font-family: inherit; font-size: 0.85rem; font-weight: 600; letter-spacing: -0.01em;
  cursor: pointer; box-shadow: 0 10px 30px -12px rgba(16, 4, 31, 0.5); transition: transform .15s, background .15s, color .15s;
}
.litm-chat__launch:hover { transform: translateY(-1px); background: #2a1145; }
.litm-chat__launch .dot { width: 8px; height: 8px; border-radius: 50%; background: #e8fd64; }
.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 rgba(16, 4, 31, 0.1);
  border-radius: 24px; overflow: hidden; box-shadow: 0 24px 70px -20px rgba(16, 4, 31, 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.95rem 1.15rem; border-bottom: 1px solid rgba(16, 4, 31, 0.08); }
.litm-chat__title { font-weight: 700; letter-spacing: -0.02em; font-size: 1rem; color: #10041f; }
.litm-chat__title span { display: block; font-weight: 700; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: #fd30f6; margin-top: 2px; }
.litm-chat__close { background: none; border: 0; font-size: 1.3rem; line-height: 1; color: rgba(16, 4, 31, 0.45); cursor: pointer; padding: 0 0.2rem; }
.litm-chat__close:hover { color: #10041f; }

.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.65rem 0.9rem; border-radius: 16px; font-size: 0.9rem; line-height: 1.5; white-space: pre-wrap; word-wrap: break-word; }
.litm-msg.bot { align-self: flex-start; background: #fdf2e5; color: #10041f; border-bottom-left-radius: 5px; }
.litm-msg.me { align-self: flex-end; background: #10041f; color: #fff; border-bottom-right-radius: 5px; }
.litm-msg a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.litm-msg.typing { color: rgba(16, 4, 31, 0.45); font-style: italic; }

.litm-chat__form { display: flex; gap: 0.5rem; padding: 0.8rem; border-top: 1px solid rgba(16, 4, 31, 0.08); }
.litm-chat__input { flex: 1; min-width: 0; resize: none; max-height: 6rem; padding: 0.65rem 0.9rem;
  font-family: inherit; font-size: 0.9rem; color: #10041f; background: #fff; border: 1px solid rgba(16, 4, 31, 0.14); border-radius: 14px; }
.litm-chat__input:focus { outline: none; border-color: #10041f; }
.litm-chat__send { flex: none; padding: 0 1.1rem; border: 1px solid #e8fd64; background: #e8fd64; color: #10041f;
  border-radius: 999px; font-family: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.litm-chat__send:hover { background: #10041f; border-color: #10041f; color: #e8fd64; }
.litm-chat__send[disabled] { opacity: 0.5; cursor: default; }
.litm-chat__fine { padding: 0 0.9rem 0.75rem; font-size: 0.68rem; color: rgba(16, 4, 31, 0.45); }

@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)); }
}
