/* Connecting Solutions — premium on-site chat widget */
:root{
  --cs-chat-z:80;
  --cs-chat-accent:#00809A;
  --cs-chat-accent-h:#006A80;
  --cs-chat-teal:#005A6B;
  --cs-chat-aqua:#00AECF;
  --cs-chat-dark:#0D1013;
}
.cs-chat-root{position:fixed;right:24px;bottom:24px;z-index:var(--cs-chat-z);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.cs-chat-launch{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 18px 0 8px;border:0;border-radius:999px;background:linear-gradient(160deg,var(--cs-chat-accent),var(--cs-chat-teal));color:#fff;font:inherit;font-size:14.5px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 28px rgba(0,90,107,.35);transition:transform .18s,box-shadow .18s}
.cs-chat-launch:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(0,90,107,.42)}
.cs-chat-launch:focus-visible{outline:3px solid rgba(0,174,207,.55);outline-offset:3px}
.cs-chat-launch .cs-chat-fab{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.cs-chat-launch svg{width:20px;height:20px;fill:currentColor}
.cs-chat-launch[aria-expanded="true"]{display:none}
.cs-chat-panel{position:absolute;right:0;bottom:0;width:min(400px,calc(100vw - 32px));height:min(640px,calc(100vh - 40px));background:#fff;border-radius:20px;box-shadow:0 28px 64px rgba(10,20,25,.28),0 0 0 1px rgba(16,24,32,.06);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s,transform .2s}
.cs-chat-root.is-open .cs-chat-panel{opacity:1;pointer-events:auto;transform:none}
.cs-chat-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:linear-gradient(160deg,#0D1013,#10343C);color:#fff}
.cs-chat-head img{height:36px;width:auto}
.cs-chat-head .cs-chat-id{flex:1;min-width:0}
.cs-chat-head strong{display:block;font-size:14.5px;font-weight:650;letter-spacing:-.01em}
.cs-chat-head span{display:block;font-size:12px;color:#9DB4BA}
.cs-chat-close{flex:none;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cs-chat-close:hover{background:rgba(255,255,255,.1)}
.cs-chat-close svg{width:18px;height:18px}
.cs-chat-log{flex:1;overflow:auto;padding:18px 16px 8px;background:#F6F7F8;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.cs-msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:16px;line-height:1.5;color:#212327}
.cs-msg p{margin:0 0 .5em}.cs-msg p:last-child{margin:0}
.cs-msg a{color:var(--cs-chat-accent);font-weight:600}
.cs-msg.bot{align-self:flex-start;background:#fff;border:1px solid #E6E8EB;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(16,24,32,.04)}
.cs-msg.user{align-self:flex-end;background:var(--cs-chat-accent);color:#fff;border-bottom-right-radius:6px}
.cs-msg.user a{color:#fff;text-decoration:underline}
.cs-msg.sys{align-self:center;background:transparent;border:0;color:#7B828A;font-size:12.5px;padding:2px 0}
.cs-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 12px;background:#F6F7F8}
.cs-chip{appearance:none;border:1px solid #D9DDE1;background:#fff;color:#212327;font:inherit;font-size:14px;font-weight:500;padding:10px 14px;min-height:44px;border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.cs-chip:hover,.cs-chip:focus-visible{border-color:var(--cs-chat-accent);color:var(--cs-chat-accent);outline:none}
.cs-chat-form{flex:none;display:flex;gap:8px;padding:12px;border-top:1px solid #E6E8EB;background:#fff}
.cs-chat-form input[type="text"],.cs-chat-form input[type="email"],.cs-chat-form input[type="tel"]{flex:1;border:1px solid #D5DADE;border-radius:10px;padding:11px 12px;font:inherit;font-size:16px;color:#212327;background:#fff;min-height:44px}
.cs-chat-form input:focus{outline:3px solid rgba(0,128,154,.18);border-color:var(--cs-chat-accent)}
.cs-chat-send{flex:none;width:44px;height:44px;border:0;border-radius:10px;background:var(--cs-chat-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cs-chat-send:hover{background:var(--cs-chat-accent-h)}
.cs-chat-send svg{width:18px;height:18px;fill:currentColor}
.cs-chat-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.cs-typing{display:inline-flex;gap:4px;padding:6px 2px}
.cs-typing i{width:6px;height:6px;border-radius:50%;background:#7B828A;opacity:.4;animation:cs-dot 1s infinite}
.cs-typing i:nth-child(2){animation-delay:.15s}.cs-typing i:nth-child(3){animation-delay:.3s}
@keyframes cs-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
@media (max-width:640px){
  /* Sit above the sticky call/quote bar; do not cover it. */
  .cs-chat-root{right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .cs-chat-panel{width:calc(100vw - 24px);height:min(620px, calc(100dvh - 100px - env(safe-area-inset-bottom,0px)));border-radius:16px}
  .cs-chat-launch{height:52px;padding-right:16px}
  /* Mobile already has a sticky call bar — hide the floating call chip if both would clash. */
  .float-call{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .cs-chat-launch,.cs-chat-panel,.cs-chip{transition:none!important}
  .cs-typing i{animation:none}
}
.cs-chat-head img{height:42px;width:auto;margin-right:4px}
.cs-chat-head .cs-chat-id{flex:1}
.cs-chat-head span{display:block;font-size:12px;color:#9DB4BA;margin-top:2px}

.cs-chat-legal{flex:none;margin:0;padding:0 12px 10px;font-size:11.5px;line-height:1.4;color:#7B828A;text-align:center;background:#fff}
.cs-chat-legal a{color:inherit;text-decoration:underline}
.cs-chat-legal[hidden]{display:none!important}
