/* CS Foundation live chat – visitor widget */
.csfa-chat{--c-harbor:var(--harbor,#0b4a4f);--c-mission:var(--mission,#12777c);--c-lantern:var(--lantern,#f0a23b);--c-on-lantern:var(--on-lantern,#102528);--c-ink:var(--ink,#102528);--c-muted:var(--muted,#4c6265);--c-ground:var(--limewash,#f3f6f3);--c-line:var(--mortar,#d5deda);
	font-family:var(--sans,'CSF Sans',Lato,system-ui,sans-serif);color:var(--c-ink);font-size:16px;line-height:1.5}
.csfa-chat *,.csfa-chat *::before,.csfa-chat *::after{box-sizing:border-box}
.csfa-chat-launcher{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:9990;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 18px;
	border:0;border-radius:28px;background:var(--c-harbor);color:#fff;font:700 16px/1 var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);cursor:pointer;box-shadow:0 10px 30px rgba(6,40,43,.28),0 0 0 3px rgba(255,255,255,.9);transition:transform .18s ease,bottom .25s ease}
.csfa-chat-launcher:hover{transform:translateY(-2px)}
.csfa-chat-launcher:focus-visible{outline:3px solid var(--c-lantern);outline-offset:3px}
.csfa-chat-launcher svg{color:var(--c-lantern)}
.csfa-chat-badge{position:absolute;top:-6px;right:-4px;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--c-lantern);color:var(--c-on-lantern);font:700 13px/24px var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);text-align:center;box-shadow:0 0 0 3px #fff}
.csfa-chat.is-open .csfa-chat-launcher{transform:scale(.9);opacity:0;pointer-events:none}
body.csfa-install-open .csfa-chat-launcher{bottom:calc(112px + env(safe-area-inset-bottom))}

.csfa-chat-panel{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:9991;width:min(390px,calc(100vw - 40px));height:min(620px,calc(100dvh - 120px));
	display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(6,40,43,.32),0 0 0 1px rgba(6,40,43,.08);
	animation:csfa-chat-in .22s cubic-bezier(.2,.8,.2,1)}
.csfa-chat-panel[hidden]{display:none}
@keyframes csfa-chat-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

.csfa-chat-head{display:flex;align-items:center;gap:12px;padding:16px 12px 16px 16px;background:var(--c-harbor);color:#fff}
.csfa-chat-avatar{border-radius:10px;flex:none}
.csfa-chat-head-text{flex:1;min-width:0}
.csfa-chat-head h2{margin:0;font:700 17px/1.25 var(--slab,'CSF Slab',Georgia,serif);color:#fff;letter-spacing:-.01em}
.csfa-chat-status{margin:2px 0 0;font-size:13px;line-height:1.35;color:rgba(255,255,255,.82);display:flex;gap:7px;align-items:baseline}
.csfa-chat-status i{flex:none;width:8px;height:8px;border-radius:50%;background:#a7b5b3;transform:translateY(-1px)}
.csfa-chat.is-online .csfa-chat-status i{background:#5fd38a;box-shadow:0 0 0 3px rgba(95,211,138,.25)}
.csfa-chat-x,.csfa-chat-end{flex:none;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:8px}
.csfa-chat-x{width:40px;height:40px;display:grid;place-items:center}
.csfa-chat-end{font:700 13px var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);padding:8px 10px;color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:3px}
.csfa-chat-x:hover,.csfa-chat-end:hover{background:rgba(255,255,255,.1);color:#fff}
.csfa-chat-x:focus-visible,.csfa-chat-end:focus-visible{outline:2px solid var(--c-lantern);outline-offset:1px}

.csfa-chat-body{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--c-ground)}
.csfa-chat-start{overflow:auto;padding:20px;display:flex;flex-direction:column;background:#fff;flex:1}
.csfa-chat-start[hidden],.csfa-chat-log[hidden],.csfa-chat-ended[hidden],.csfa-chat-compose[hidden]{display:none}
.csfa-chat-greeting{margin:0 0 14px;font:400 18px/1.4 var(--slab,'CSF Slab',Georgia,serif);color:var(--c-harbor)}
.csfa-chat-away-note{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:var(--lantern-wash,#fdf0dc);font-size:14px}
.csfa-chat-start label{font-weight:700;font-size:14px;margin:0 0 4px}
.csfa-chat-opt{font-weight:400;color:var(--c-muted)}
.csfa-chat-start input,.csfa-chat-start textarea{width:100%;margin:0 0 12px;padding:10px 12px;min-height:44px;border:1px solid #a9bcb8;border-radius:8px;font:400 16px/1.4 var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);color:var(--c-ink);background:#fff}
.csfa-chat-start textarea{resize:vertical;min-height:84px}
.csfa-chat-start input:focus,.csfa-chat-start textarea:focus,.csfa-chat-compose textarea:focus{outline:0;border-color:var(--c-mission);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-mission) 22%,transparent)}
.csfa-chat-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.csfa-chat-error{margin:0 0 12px;padding:10px 12px;border-left:4px solid #b3261e;background:#fbeeed;color:#8a1c16;font-size:14px;font-weight:700;border-radius:0 6px 6px 0}
.csfa-chat-error[hidden]{display:none}
.csfa-chat-go,.csfa-chat-new{min-height:48px;border:0;border-radius:8px;background:var(--c-lantern);color:var(--c-on-lantern);font:700 16px var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);cursor:pointer}
.csfa-chat-go:disabled{opacity:.7;cursor:progress}
.csfa-chat-go:focus-visible,.csfa-chat-new:focus-visible{outline:3px solid var(--c-mission);outline-offset:2px}
.csfa-chat-fine{margin:10px 0 0;font-size:13px;color:var(--c-muted)}
.csfa-chat-fine a{color:var(--c-mission)}

.csfa-chat-log{list-style:none;margin:0;padding:16px 14px 8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px;overscroll-behavior:contain}
.csfa-m{max-width:84%;display:flex;flex-direction:column}
.csfa-m-body{margin:0;padding:10px 13px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.45}
.csfa-m-time{font-size:11px;color:var(--c-muted);margin:3px 6px 6px}
.csfa-m-visitor{align-self:flex-end;align-items:flex-end}
.csfa-m-visitor .csfa-m-body{background:var(--c-harbor);color:#fff;border-bottom-right-radius:4px}
.csfa-m-staff{align-self:flex-start}
.csfa-m-staff .csfa-m-body{background:#fff;box-shadow:0 0 0 1px var(--c-line);border-bottom-left-radius:4px}
.csfa-m-who{font-size:12px;font-weight:700;color:var(--c-mission);margin:6px 6px 3px}
.csfa-m-system{align-self:center;max-width:92%;text-align:center}
.csfa-m-system .csfa-m-body{background:transparent;color:var(--c-muted);font-size:13px;padding:6px 8px}
.csfa-m.is-pending .csfa-m-body{opacity:.7}
.csfa-m.is-failed .csfa-m-body{background:#8a1c16}.csfa-m.is-failed{cursor:pointer}.csfa-m.is-failed .csfa-m-time{color:#8a1c16;font-weight:700}

.csfa-chat-ended{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;text-align:center;background:#fff}
.csfa-chat-new{padding:0 22px}

.csfa-chat-compose{display:flex;align-items:flex-end;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--c-line);background:#fff}
.csfa-chat-compose textarea{flex:1;resize:none;min-height:44px;max-height:140px;padding:11px 12px;border:1px solid #a9bcb8;border-radius:10px;font:400 16px/1.35 var(--csfa-font,'CSF Sans',Lato,system-ui,sans-serif);color:var(--c-ink)}
.csfa-chat-compose button{flex:none;width:44px;height:44px;border:0;border-radius:10px;background:var(--c-lantern);color:var(--c-on-lantern);display:grid;place-items:center;cursor:pointer}
.csfa-chat-compose button:focus-visible{outline:3px solid var(--c-mission);outline-offset:2px}
.csfa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media (max-width:560px){
	.csfa-chat-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:56px;height:56px;padding:0;justify-content:center;border-radius:50%}
	.csfa-chat-launcher-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.csfa-chat-launcher svg{width:26px;height:26px}
	.csfa-chat-panel{inset:0;width:100%;height:100dvh;border-radius:0;right:0;bottom:0}
	.csfa-chat-head{padding-top:calc(14px + env(safe-area-inset-top))}
	html.csfa-chat-locked,html.csfa-chat-locked body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.csfa-chat-panel{animation:none}.csfa-chat-launcher{transition:none}}
@media print{.csfa-chat{display:none}}
