/* Ask LISA — every rule is scoped under .alisa so nothing leaks into the theme or Elementor */
.alisa, .alisa *{ box-sizing:border-box; }
.alisa{
  --a-bg:#0b0f14; --a-panel:#161b22; --a-bubble:#23292f; --a-line:rgba(242,101,34,.35);
  --a-text:#edf1f5; --a-soft:#b7c1cc; --a-mute:#8a95a3; --a-or:#f26522;
  --a-font:"Avenir Next","Avenir","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,sans-serif;
  --a-mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
  position:fixed; right:22px; bottom:44px; z-index:99999;
  font-family:var(--a-font); font-size:15px; line-height:1.55; color:var(--a-text);
}

/* launcher */
.alisa-launch{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  background:var(--a-or); color:#1a0a02; border:0; border-radius:999px;
  padding:13px 20px 13px 16px; font:700 15px/1 var(--a-font);
  box-shadow:0 10px 30px rgba(0,0,0,.45); transition:transform .15s, filter .15s;
}
.alisa-launch:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.alisa-launch svg{ width:20px; height:20px; flex:0 0 auto; }
.alisa.open .alisa-launch{ display:none; }

/* panel */
.alisa-panel{
  display:none; flex-direction:column;
  width:390px; height:min(620px, calc(100vh - 44px));
  background:var(--a-bg); border:1px solid var(--a-line); border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.6); overflow:hidden;
}
.alisa.open .alisa-panel{ display:flex; }

.alisa-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px; background:var(--a-panel); border-bottom:1px solid var(--a-line);
}
.alisa-title{ font-weight:700; font-size:16px; letter-spacing:-.01em; }
.alisa-title b{ color:var(--a-or); }
.alisa-sub{ font-family:var(--a-mono); font-size:10px; letter-spacing:.14em; color:var(--a-mute); text-transform:uppercase; margin-top:2px; }
.alisa-close{
  background:transparent; border:0; color:var(--a-soft); cursor:pointer;
  width:32px; height:32px; border-radius:8px; font-size:22px; line-height:1;
}
.alisa-close:hover{ background:rgba(255,255,255,.06); color:var(--a-text); }

.alisa-log{ flex:1 1 auto; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; }
.alisa-msg{ max-width:88%; padding:10px 13px; border-radius:12px; white-space:normal; word-wrap:break-word; }
.alisa-msg p{ margin:0; }
.alisa-msg p + p{ margin-top:8px; }
.alisa-msg ul{ margin:6px 0 0; padding-left:18px; }
.alisa-msg li{ margin:2px 0; }
.alisa-msg a{ color:var(--a-or); text-decoration:underline; text-underline-offset:2px; }
.alisa-bot{ align-self:flex-start; background:var(--a-bubble); color:var(--a-soft); border-top-left-radius:4px; }
.alisa-bot strong{ color:var(--a-text); }
.alisa-user{ align-self:flex-end; background:var(--a-or); color:#1a0a02; border-top-right-radius:4px; font-weight:500; }

.alisa-typing{ display:inline-flex; gap:4px; padding:4px 2px; }
.alisa-typing i{ width:7px; height:7px; border-radius:50%; background:var(--a-mute); animation:alisaDot 1.2s infinite ease-in-out; }
.alisa-typing i:nth-child(2){ animation-delay:.15s; }
.alisa-typing i:nth-child(3){ animation-delay:.3s; }
@keyframes alisaDot{ 0%,80%,100%{ opacity:.25; transform:translateY(0);} 40%{ opacity:1; transform:translateY(-3px);} }

.alisa-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 12px; }
.alisa-chips:empty{ display:none; }
.alisa-chip{
  background:transparent; border:1px solid var(--a-line); color:var(--a-soft); cursor:pointer;
  border-radius:999px; padding:7px 12px; font:500 13px/1.2 var(--a-font); text-align:left;
}
.alisa-chip:hover{ border-color:var(--a-or); color:var(--a-or); }
.alisa-chip:nth-child(-n+2){ background:var(--a-or); border-color:var(--a-or); color:#1a0a02; font-weight:700; }
.alisa-chip:nth-child(-n+2):hover{ filter:brightness(1.08); color:#1a0a02; }

.alisa-form{ display:flex; gap:8px; padding:12px; border-top:1px solid var(--a-line); background:var(--a-panel); }
.alisa-input{
  flex:1 1 auto; resize:none; min-height:42px; max-height:120px;
  background:var(--a-bg); color:var(--a-text); border:1px solid rgba(255,255,255,.12); border-radius:10px;
  padding:10px 12px; font:400 15px/1.4 var(--a-font); outline:none;
}
.alisa-input:focus{ border-color:var(--a-or); }
.alisa-send{
  flex:0 0 auto; width:44px; border:0; border-radius:10px; cursor:pointer;
  background:var(--a-or); color:#1a0a02; display:grid; place-items:center;
}
.alisa-send:disabled{ opacity:.45; cursor:default; }
.alisa-send svg{ width:18px; height:18px; }

.alisa-foot{ padding:0 14px 10px; background:var(--a-panel); font-size:10.5px; color:var(--a-mute); line-height:1.5; }

.alisa button:focus-visible, .alisa textarea:focus-visible{ outline:2px solid var(--a-or); outline-offset:2px; }

@media (max-width:520px){
  .alisa{ right:12px; bottom:26px; }
  .alisa.open{ inset:0; right:0; bottom:0; }
  .alisa-panel{ width:100vw; height:100dvh; border-radius:0; border:0; }
}
@media (prefers-reduced-motion:reduce){
  .alisa-launch{ transition:none; }
  .alisa-typing i{ animation:none; opacity:.6; }
}

/* Bookings button, shown under LISA's reply once a booking link is set */
.alisa .alisa-book{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px;
  background:var(--a-or); color:#1a0a02 !important; text-decoration:none !important;
  font:700 14px/1 var(--a-font); padding:11px 16px; border-radius:9px;
}
.alisa .alisa-book:hover{ filter:brightness(1.08); }

/* LISA's portrait */
/* launcher: Lisa's portrait on top, the Ask LISA label tucked under it */
.alisa .alisa-launch.has-av{
  flex-direction:column; align-items:center; gap:0;
  background:transparent; padding:0; border-radius:0; box-shadow:none;
}
.alisa .alisa-launch.has-av:hover{ filter:none; transform:translateY(-2px); }
.alisa .alisa-av{
  width:92px; height:92px; border-radius:50%; background:#fff; object-fit:cover;
  border:3px solid var(--a-or); box-shadow:0 12px 30px rgba(0,0,0,.5);
  flex:0 0 auto; display:block;
}
.alisa .alisa-launch.has-av span{
  position:relative; z-index:1; margin-top:0;
  background:var(--a-or); color:#1a0a02; white-space:nowrap;
  padding:9px 18px; border-radius:999px; font:700 15px/1 var(--a-font);
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.alisa .alisa-launch.has-av:hover span{ filter:brightness(1.08); }
@media (max-width:520px){
  .alisa .alisa-av{ width:74px; height:74px; }
  .alisa .alisa-launch.has-av span{ font-size:14px; padding:8px 15px; margin-top:0; }
}
.alisa .alisa-id{ display:flex; align-items:center; gap:11px; }
.alisa .alisa-hav{
  width:42px; height:42px; border-radius:50%; background:#fff; object-fit:cover;
  border:2px solid var(--a-or); flex:0 0 auto; display:block;
}
.alisa .alisa-row{ display:flex; align-items:flex-end; gap:8px; align-self:flex-start; max-width:94%; }
.alisa .alisa-row .alisa-msg{ max-width:100%; }
.alisa .alisa-mav{
  width:30px; height:30px; border-radius:50%; background:#fff; object-fit:cover;
  flex:0 0 auto; display:block; margin-bottom:2px;
}
