/* FEDE™ Real Estate — public assistant.
   Same tokens as the site: navy --ink, gold --gold, Georgia headings. Every
   value falls back to a literal, because the listing pages declare a smaller
   :root than the home page does. */

.fa-launch{
  position:fixed; z-index:150;
  inset-inline-end:1.1rem; bottom:1.1rem;
  width:56px; height:56px; border-radius:50%; cursor:pointer;
  background:var(--ink,#08182b); border:2px solid var(--gold,#e0c07a);
  color:var(--gold,#e0c07a); display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.3); padding:0;
}
/* Lifted clear of the WhatsApp button on the pages that carry one. */
.fa-launch.fa-up{ bottom:calc(1.1rem + 56px + .7rem); }
.fa-launch:hover{ background:var(--ink-2,#0f2740); }
.fa-launch svg{ width:28px; height:28px; }
.fa-launch:focus-visible{ outline:3px solid #9cc3f5; outline-offset:3px; }
.fa-launch[hidden]{ display:none; }

.fa-panel{
  position:fixed; z-index:210;
  inset-inline-end:1.1rem; bottom:1.1rem;
  width:min(24rem, calc(100vw - 2rem));
  max-height:min(36rem, calc(100vh - 2.2rem));
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--paper,#f9f8f5); color:var(--ink,#08182b);
  border:1px solid var(--brass-line,#a68d50); border-radius:14px;
  box-shadow:0 18px 48px rgba(8,24,43,.34);
  font-size:.96rem; line-height:1.55;
}
.fa-panel[hidden]{ display:none; }

.fa-head{
  display:flex; align-items:center; gap:.6rem;
  background:var(--ink,#08182b); color:var(--paper,#f9f8f5);
  padding:.7rem .8rem .7rem 1rem; border-bottom:2px solid var(--gold,#e0c07a);
}
.fa-head h2{
  font-family:Georgia,'Times New Roman',Times,serif; font-weight:600;
  font-size:1.02rem; margin:0; color:#fff; letter-spacing:.02em; flex:1 1 auto;
}
.fa-x{
  flex:0 0 auto; width:36px; height:36px; border-radius:50%; cursor:pointer;
  background:transparent; border:1px solid rgba(255,255,255,.45); color:#fff;
  font-size:1.05rem; line-height:1; padding:0;
}
.fa-x:hover{ background:rgba(255,255,255,.16); }
.fa-x:focus-visible{ outline:3px solid #9cc3f5; outline-offset:2px; }

.fa-thread{ flex:1 1 auto; overflow-y:auto; padding:.9rem; display:grid; gap:.7rem; }
.fa-turn{ display:grid; gap:.4rem; }
.fa-ask{
  justify-self:end; max-width:88%; background:var(--paper-deep,#e9e7e0);
  border-radius:12px 12px 2px 12px; padding:.5rem .75rem; white-space:pre-wrap;
}
.fa-say{
  background:#fff; border:1px solid rgba(8,24,43,.14); border-radius:12px 12px 12px 2px;
  padding:.6rem .8rem; white-space:pre-wrap;
}
.fa-say.fa-bad{ border-color:#a4262c; color:#7a1d22; }

.fa-wait{ display:flex; align-items:center; gap:.55rem; color:var(--ink-soft,#374a5c); font-size:.92rem; }
.fa-dot{
  width:9px; height:9px; border-radius:50%; background:var(--brass-line,#a68d50);
  animation:fa-pulse 1.1s ease-in-out infinite;
}
@keyframes fa-pulse{ 0%,100%{ opacity:.25; transform:scale(.8);} 50%{ opacity:1; transform:scale(1);} }
@media (prefers-reduced-motion:reduce){ .fa-dot{ animation:none; opacity:.8; } }

.fa-hits{ list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.fa-hits a{
  display:flex; gap:.6rem; align-items:center; text-decoration:none;
  background:#fff; border:1px solid rgba(8,24,43,.14); border-radius:10px;
  padding:.45rem .55rem; color:var(--ink,#08182b);
}
.fa-hits a:hover{ border-color:var(--brass-line,#a68d50); }
.fa-hits img{ width:56px; height:42px; object-fit:cover; border-radius:6px; flex:0 0 auto; background:#e3e0d8; }
.fa-hits .fa-h-b{ min-width:0; }
.fa-hits b{ display:block; font-size:.9rem; font-weight:700; line-height:1.25;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fa-hits span{ display:block; font-size:.82rem; color:var(--ink-soft,#374a5c); }
.fa-hits em{ font-style:normal; color:var(--brass,#7f5e20); font-weight:700; }

.fa-agent{
  background:var(--ink,#08182b); color:#e9e6de; border-radius:11px; padding:.65rem .75rem;
  display:flex; gap:.65rem; align-items:center;
}
.fa-agent img{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.fa-agent b{ color:#fff; display:block; font-size:.93rem; }
.fa-agent .fa-a-r{ font-size:.8rem; color:#c2ccd6; display:block; }
.fa-agent .fa-a-l{ display:flex; gap:.4rem; margin-top:.35rem; flex-wrap:wrap; }
.fa-agent .fa-a-l a{
  font-size:.8rem; font-weight:700; text-decoration:none; border-radius:999px;
  padding:.28rem .7rem; border:1px solid var(--gold,#e0c07a); color:var(--gold,#e0c07a);
}
.fa-agent .fa-a-l a:hover{ background:var(--gold,#e0c07a); color:var(--ink,#08182b); }
.fa-agent .fa-a-l a:focus-visible{ outline:3px solid #9cc3f5; outline-offset:2px; }

.fa-chips{ display:flex; flex-wrap:wrap; gap:.35rem; }
.fa-chips button{
  font:inherit; font-size:.84rem; cursor:pointer; border-radius:999px;
  padding:.35rem .75rem; min-height:34px;
  border:1px solid var(--brass-line,#a68d50); background:#fff; color:var(--brass,#7f5e20);
}
.fa-chips button:hover{ background:var(--brass,#7f5e20); color:#fff; }

.fa-foot{ border-top:1px solid rgba(8,24,43,.14); padding:.6rem .7rem .7rem; background:#fff; }
.fa-form{ display:flex; gap:.45rem; align-items:flex-end; margin:0; max-width:none; }
.fa-form textarea{
  flex:1 1 auto; font:inherit; font-size:.95rem; resize:none; width:auto;
  min-height:44px; max-height:7rem; padding:.55rem .65rem; border-radius:9px;
  border:1px solid rgba(8,24,43,.3); background:#fff; color:var(--ink,#08182b);
}
.fa-go{
  flex:0 0 auto; width:44px; height:44px; border-radius:9px; cursor:pointer; padding:0;
  background:var(--ink,#08182b); border:2px solid var(--ink,#08182b); color:var(--paper,#f9f8f5);
}
.fa-go:hover{ background:var(--ink-soft,#374a5c); }
.fa-go[disabled]{ opacity:.45; cursor:not-allowed; }
.fa-go svg{ width:20px; height:20px; display:block; margin:auto; }
.fa-note{ margin:.5rem 0 0; font-size:.75rem; line-height:1.4; color:var(--ink-soft,#374a5c); }
.fa-seed{ margin:0 0 .1rem; font-size:.78rem; color:var(--ink-soft,#374a5c); }

.fa-panel :focus-visible{ outline:3px solid var(--focus,#0b5cab); outline-offset:2px; }

@media (max-width: 520px){
  .fa-panel{
    inset-inline:0; bottom:0; width:100%; max-height:82vh;
    border-radius:14px 14px 0 0; border-inline:0; border-bottom:0;
  }
}
