/* Legnoux site concierge — proactive hello popup (shared by every page).
   Colours ride the site theme variables, with explicit dark-mode rules so
   the box looks right on pages that define their own palette too. */

.lxc-wrap{
  position:fixed;right:20px;bottom:20px;z-index:200;
  width:360px;max-width:92vw;
  font-family:inherit;color:var(--ink,#1B1813);
  opacity:0;transform:translateY(18px);pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
}
.lxc-wrap.lxc-open{opacity:1;transform:translateY(0);pointer-events:auto}
@media (prefers-reduced-motion:reduce){.lxc-wrap{transition:none}}

.lxc-card{
  background:var(--bg,#FAF7F2);
  border:1px solid var(--line,#E4DCCB);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 60px -18px rgba(20,18,14,.38),0 4px 14px rgba(20,18,14,.12);
}
html[data-theme="dark"] .lxc-card{background:#1E1813;border-color:#3A322A;color:#EDE7DB;box-shadow:0 30px 60px -18px rgba(0,0,0,.65),0 4px 14px rgba(0,0,0,.4)}

/* Header */
.lxc-head{
  display:flex;align-items:center;gap:11px;
  background:var(--dark,#14120E);color:#EDE7DB;
  padding:13px 14px;
}
.lxc-ava{width:38px;height:38px;border-radius:50%;flex:0 0 38px;object-fit:cover;border:2px solid #B08D57;background:#14120E}
.lxc-head-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.lxc-name{font-weight:600;font-size:.98rem;letter-spacing:.02em}
.lxc-sub{font-size:.76rem;color:#B9AE9C}
.lxc-close{
  margin-left:auto;flex:0 0 34px;width:34px;height:34px;
  background:transparent;border:0;border-radius:50%;
  color:#EDE7DB;font-size:1.35rem;line-height:1;cursor:pointer;padding:0;
}
.lxc-close:hover{background:rgba(237,231,219,.14)}
.lxc-close:focus-visible{outline:2px solid #B08D57;outline-offset:2px}

/* Body */
.lxc-body{padding:16px 16px 18px;max-height:min(62vh,540px);overflow-y:auto}
.lxc-msg{
  background:var(--bg2,#F3EEE5);border:1px solid var(--line,#E4DCCB);
  border-radius:4px 14px 14px 14px;padding:11px 13px;
}
html[data-theme="dark"] .lxc-msg{background:#2A211A;border-color:#3A322A}
.lxc-msg p{margin:0;font-size:.93rem;line-height:1.5}

/* Typing dots */
.lxc-typing{display:inline-flex;gap:5px;align-items:center;background:var(--bg2,#F3EEE5);border:1px solid var(--line,#E4DCCB);border-radius:4px 14px 14px 14px;padding:12px 14px}
html[data-theme="dark"] .lxc-typing{background:#2A211A;border-color:#3A322A}
.lxc-typing span{width:7px;height:7px;border-radius:50%;background:var(--oak,#A97C50);opacity:.35;animation:lxcBlink 1.1s infinite}
.lxc-typing span:nth-child(2){animation-delay:.18s}
.lxc-typing span:nth-child(3){animation-delay:.36s}
@keyframes lxcBlink{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.lxc-typing span{animation:none;opacity:.7}}

/* Quick-reply chips */
.lxc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lxc-chip{
  appearance:none;background:transparent;cursor:pointer;
  border:1px solid var(--oak,#A97C50);color:var(--oak,#A97C50);
  border-radius:999px;padding:8px 13px;font-size:.85rem;font-family:inherit;
  transition:background .2s,color .2s;
}
.lxc-chip:hover{background:var(--oak,#A97C50);color:#FBF9F4}
.lxc-chip:focus-visible{outline:2px solid var(--oak,#A97C50);outline-offset:2px}
html[data-theme="dark"] .lxc-chip{border-color:#C79A63;color:#C79A63}
html[data-theme="dark"] .lxc-chip:hover{background:#C79A63;color:#171310}

/* Mini form */
.lxc-form{margin-top:6px}
.lxc-lab{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#6F675A);margin:12px 0 5px;font-weight:500}
.lxc-form .lxc-lab:first-child{margin-top:2px}
.lxc-form textarea,.lxc-form input[type="text"]{
  width:100%;box-sizing:border-box;font-family:inherit;font-size:.95rem;
  color:var(--ink,#1B1813);background:#fff;
  border:1px solid var(--line,#E4DCCB);border-radius:10px;padding:10px 12px;
}
.lxc-form textarea{resize:vertical;min-height:64px}
.lxc-form textarea:focus,.lxc-form input[type="text"]:focus{outline:2px solid var(--oak,#A97C50);outline-offset:0;border-color:var(--oak,#A97C50)}
html[data-theme="dark"] .lxc-form textarea,html[data-theme="dark"] .lxc-form input[type="text"]{background:#171310;color:#EDE7DB;border-color:#3A322A}
.lxc-send{
  margin-top:14px;width:100%;cursor:pointer;
  background:#B08D57;color:#171310;border:0;border-radius:999px;
  padding:12px 18px;font-size:.95rem;font-weight:600;font-family:inherit;letter-spacing:.02em;
  transition:background .2s;
}
.lxc-send:hover{background:#C79A63}
.lxc-send:disabled{opacity:.6;cursor:default}
.lxc-send:focus-visible{outline:2px solid var(--oak,#A97C50);outline-offset:2px}
.lxc-err{margin:12px 0 0;font-size:.88rem;line-height:1.45;color:#9C3B2E}
html[data-theme="dark"] .lxc-err{color:#E08A7B}
.lxc-err a{color:inherit;font-weight:600}

/* Thank-you state */
.lxc-done p{margin:0;font-size:.95rem;line-height:1.55}
.lxc-done a{color:var(--oak,#A97C50);font-weight:600;white-space:nowrap}

/* Small screens: full-width sheet feel, still clear of edges */
@media (max-width:480px){
  .lxc-wrap{right:12px;left:12px;width:auto;max-width:none;bottom:12px}
  .lxc-body{max-height:58vh}
}
