/* ============================================================================
   SESY CHAT · sesy-chat.css — real estate agent widget
   Loads after styles.css. Uses the same tokens; falls back if absent.
============================================================================ */
#sesyChat{--c-ink:var(--ink,#181510);--c-line:var(--line,rgba(24,21,16,.12));--c-teal:var(--teal,#5FA69A);--c-teal-d:var(--teal-dark,#3E8479);--c-soft:var(--filter-bg,#EAF4F1);--c-mut:var(--ink-45,rgba(24,21,16,.45));font-family:'Inter',system-ui,sans-serif;}

/* launcher */
#sesyChatFab{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;display:inline-flex;align-items:center;gap:8px;background:var(--ink,#181510);color:#fff;border:none;border-radius:999px;padding:12px 18px;font:700 13px 'Inter',sans-serif;cursor:pointer;box-shadow:0 10px 26px rgba(24,21,16,.28);}
#sesyChatFab:hover{background:var(--jungle,#22392F);}
#sesyChatFab .dot{width:7px;height:7px;border-radius:50%;background:#5FA69A;box-shadow:0 0 0 3px rgba(95,166,154,.25);}
#sesyChatFab.hide{display:none;}

/* panel */
#sesyChat{position:fixed;right:20px;bottom:20px;z-index:96;width:min(380px,calc(100vw - 32px));height:min(600px,calc(100vh - 40px));background:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:0 26px 60px rgba(24,21,16,.28);display:none;flex-direction:column;overflow:hidden;}
#sesyChat.open{display:flex;}
.sc-head{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--c-line);background:var(--c-soft);}
.sc-head b{font:700 13.5px 'Inter',sans-serif;color:var(--c-ink);}
.sc-head span{font-size:11px;color:var(--c-mut);display:block;margin-top:1px;}
.sc-avatar{width:32px;height:32px;border-radius:50%;background:var(--c-teal-d);color:#fff;display:grid;place-items:center;font-size:15px;flex:0 0 auto;}
.sc-x{margin-left:auto;background:none;border:none;font-size:16px;cursor:pointer;color:var(--c-mut);padding:4px 6px;line-height:1;}
.sc-x:hover{color:var(--c-ink);}

.sc-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fff;}
.sc-msg{max-width:86%;font-size:13.5px;line-height:1.55;padding:10px 13px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;}
.sc-msg.bot{background:var(--c-soft);color:var(--c-ink);border-bottom-left-radius:4px;align-self:flex-start;}
.sc-msg.me{background:var(--ink,#181510);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;}
.sc-msg a{color:inherit;font-weight:700;}
.sc-msg.bot a{color:var(--c-teal-d);}
.sc-typing{display:flex;gap:4px;align-self:flex-start;padding:12px 14px;background:var(--c-soft);border-radius:12px;border-bottom-left-radius:4px;}
.sc-typing i{width:6px;height:6px;border-radius:50%;background:var(--c-mut);animation:scBlink 1.2s infinite;}
.sc-typing i:nth-child(2){animation-delay:.2s}.sc-typing i:nth-child(3){animation-delay:.4s}
@keyframes scBlink{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* listing cards inside the log */
.sc-card{display:flex;gap:10px;align-items:center;border:1px solid var(--c-line);border-radius:10px;padding:8px;background:#fff;text-align:left;width:100%;cursor:pointer;font-family:inherit;}
.sc-card:hover{border-color:var(--c-teal);}
.sc-card img{width:56px;height:56px;object-fit:cover;border-radius:7px;flex:0 0 auto;background:var(--c-soft);}
.sc-card .t{font:700 12.5px 'Inter',sans-serif;color:var(--c-ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sc-card .m{font:600 11px 'JetBrains Mono',monospace;color:var(--c-teal-d);margin-top:3px;}
.sc-cards{display:flex;flex-direction:column;gap:6px;align-self:flex-start;width:86%;}

.sc-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;}
.sc-chip{background:#fff;border:1px solid var(--c-line);border-radius:999px;padding:7px 12px;font:600 11.5px 'Inter',sans-serif;color:var(--c-ink);cursor:pointer;}
.sc-chip:hover{border-color:var(--c-teal);color:var(--c-teal-d);}

.sc-foot{border-top:1px solid var(--c-line);padding:10px;display:flex;gap:8px;align-items:flex-end;background:#fff;}
.sc-foot textarea{flex:1;border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;font:400 13.5px 'Inter',sans-serif;resize:none;max-height:96px;outline:none;color:var(--c-ink);}
.sc-foot textarea:focus{border-color:var(--c-teal-d);}
.sc-send{background:var(--c-teal-d);color:#fff;border:none;border-radius:10px;width:40px;height:40px;font-size:16px;cursor:pointer;flex:0 0 auto;}
.sc-send:disabled{opacity:.4;cursor:default;}
.sc-wa{display:block;text-align:center;font:700 11.5px 'Inter',sans-serif;color:#1F9D57;text-decoration:none;padding:0 14px 10px;}

@media(max-width:520px){
  #sesyChat{right:0;bottom:0;width:100vw;height:88vh;border-radius:14px 14px 0 0;}
  #sesyChatFab{bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:11px 15px;font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.sc-typing i{animation:none;}}