/* Franco AI Concierge — chat widget. All classes namespaced .fac- to avoid site collisions. */
.fac-root{--fac-navy:#071b2e;--fac-navy2:#0b2036;--fac-blue:#0b5ed7;--fac-blue-d:#0948a8;
  --fac-gold:#e8b04b;--fac-ink:#0f2033;--fac-mut:#5b6b7d;--fac-line:#e6eef6;--fac-bg:#f4f7fb;
  --fac-user:#0b5ed7;--fac-bot:#eef3f9;--fac-shadow:0 18px 50px rgba(7,27,46,.28);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.fac-root *{box-sizing:border-box}
/* isolate from the host theme's heading/serif styles */
.fac-root,.fac-root *{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* Launcher (bottom-left to avoid the site's + / Call pill on the right) */
.fac-launch{position:fixed;left:20px;bottom:20px;z-index:2147483000;display:flex;align-items:center;gap:10px;
  border:none;cursor:pointer;background:linear-gradient(135deg,var(--fac-navy),var(--fac-blue));
  color:#fff;padding:0 18px 0 0;height:60px;border-radius:32px;box-shadow:var(--fac-shadow);
  transition:transform .18s ease,box-shadow .18s ease;font-size:15px;font-weight:700}
.fac-launch:hover{transform:translateY(-2px)}
.fac-launch .fac-ava{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 60px}
.fac-launch .fac-ava svg{width:30px;height:30px}
.fac-launch .fac-llabel{white-space:nowrap}
.fac-launch .fac-dot{width:9px;height:9px;border-radius:50%;background:#37d67a;box-shadow:0 0 0 3px rgba(55,214,122,.25);margin-left:2px}
.fac-hidden{display:none!important}

/* Panel */
.fac-panel{position:fixed;left:20px;bottom:20px;z-index:2147483001;width:390px;max-width:calc(100vw - 40px);
  height:600px;max-height:calc(100vh - 40px);background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:var(--fac-shadow);display:flex;flex-direction:column;animation:fac-pop .22s ease}
@keyframes fac-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

.fac-head{background:linear-gradient(135deg,var(--fac-navy),var(--fac-navy2));color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.fac-head .fac-ava{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:0 0 42px}
.fac-head .fac-ava svg{width:24px;height:24px}
.fac-head h4{margin:0;font-size:15px;font-weight:700;line-height:1.1}
.fac-head .fac-sub{font-size:12px;opacity:.8;display:flex;align-items:center;gap:6px;margin-top:2px}
.fac-head .fac-dot{width:8px;height:8px;border-radius:50%;background:#37d67a}
.fac-head .fac-x{margin-left:auto;background:transparent;border:none;color:#fff;opacity:.85;cursor:pointer;font-size:22px;line-height:1;padding:4px 6px;border-radius:8px}
.fac-head .fac-x:hover{background:rgba(255,255,255,.12)}

.fac-body{flex:1;overflow-y:auto;padding:16px;background:var(--fac-bg);display:flex;flex-direction:column;gap:10px}
.fac-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.fac-bot{align-self:flex-start;background:var(--fac-bot);color:var(--fac-ink);border-bottom-left-radius:5px}
.fac-user{align-self:flex-end;background:var(--fac-user);color:#fff;border-bottom-right-radius:5px}
.fac-msg a{color:inherit;text-decoration:underline}

.fac-typing{align-self:flex-start;background:var(--fac-bot);border-bottom-left-radius:5px;padding:12px 14px;border-radius:14px;display:flex;gap:4px}
.fac-typing span{width:7px;height:7px;border-radius:50%;background:#9fb2c6;animation:fac-b 1.2s infinite}
.fac-typing span:nth-child(2){animation-delay:.2s}.fac-typing span:nth-child(3){animation-delay:.4s}
@keyframes fac-b{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.fac-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 6px;background:var(--fac-bg)}
.fac-chip{background:#fff;border:1px solid var(--fac-line);color:var(--fac-blue);font-weight:600;font-size:13px;
  padding:7px 12px;border-radius:20px;cursor:pointer;transition:.15s}
.fac-chip:hover{border-color:var(--fac-blue);background:#f3f8ff}

.fac-foot{border-top:1px solid var(--fac-line);background:#fff;padding:10px;display:flex;gap:8px;align-items:flex-end}
.fac-input{flex:1;border:1px solid var(--fac-line);border-radius:12px;padding:10px 12px;font-size:14.5px;
  resize:none;max-height:110px;font-family:inherit;color:var(--fac-ink);outline:none}
.fac-input:focus{border-color:var(--fac-blue);box-shadow:0 0 0 3px rgba(11,94,215,.12)}
.fac-send{flex:0 0 auto;width:42px;height:42px;border-radius:12px;border:none;background:var(--fac-blue);color:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.fac-send:hover{background:var(--fac-blue-d)}.fac-send:disabled{opacity:.5;cursor:default}
.fac-send svg{width:20px;height:20px}
.fac-legal{font-size:10.5px;color:var(--fac-mut);text-align:center;padding:0 12px 8px;background:#fff}
.fac-legal b{color:var(--fac-ink)}
.fac-legal a{color:inherit;text-decoration:none}

.fac-banner{margin:0 16px 4px;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center}
.fac-banner.ok{background:#e8f7ee;color:#1c7a43;border:1px solid #bfe6cd}
.fac-banner.urgent{background:#fdeaea;color:#b42121;border:1px solid #f3c2c2}

@media (max-width:520px){
  .fac-panel{left:0;right:0;bottom:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;border-radius:0}
  .fac-head{padding-top:max(14px,env(safe-area-inset-top))}
  .fac-legal{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .fac-launch{left:14px;bottom:max(14px,env(safe-area-inset-bottom))}
}
