.cs-chat{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
.cs-chat__bubble{width:56px;height:56px;border-radius:9999px;background:#e94560;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px rgba(233,69,96,.45);position:relative;transition:transform 200ms ease,background-color 200ms ease;flex-shrink:0}
.cs-chat__bubble:hover{background:#c73652;transform:scale(1.06)}
.cs-chat__bubble:focus-visible{outline:2px solid #e94560;outline-offset:4px}
.cs-chat__bubble::before{content:'';position:absolute;inset:0;border-radius:9999px;background:#e94560;animation:cs-pulse 2.8s ease-out infinite 1.2s;z-index:-1;pointer-events:none}
@keyframes cs-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.4);opacity:0}}
.cs-chat__panel{position:absolute;bottom:68px;right:0;width:340px;background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transform:scale(.88) translateY(12px);opacity:0;pointer-events:none;transition:transform 220ms ease,opacity 220ms ease}
.cs-chat__panel.is-open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}
.cs-chat__header{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:.875rem 1rem .875rem 1.25rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.cs-chat__avatar{width:34px;height:34px;border-radius:9999px;background:#e94560;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:800;flex-shrink:0;letter-spacing:.02em}
.cs-chat__header-info{flex:1;min-width:0}
.cs-chat__header-info strong{display:block;font-size:.9375rem;line-height:1.2}
.cs-chat__header-info span{font-size:.75rem;opacity:.55}
.cs-chat__header-close{appearance:none;background:none;border:none;cursor:pointer;color:rgba(255,255,255,.55);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:9999px;font-size:1.25rem;line-height:1;transition:background-color 150ms ease,color 150ms ease;flex-shrink:0}
.cs-chat__header-close:hover{background:rgba(255,255,255,.12);color:#fff}
.cs-chat__header-close:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}
.cs-chat__phone-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:#16213e;color:rgba(255,255,255,.75);font-size:.8125rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background-color 150ms ease,color 150ms ease;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}
.cs-chat__phone-bar:hover{background:#0f3460;color:#fff}
.cs-chat__messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:180px;max-height:300px;scroll-behavior:smooth}
.cs-msg{display:flex;flex-direction:column;max-width:85%}
.cs-msg--bot{align-self:flex-start}
.cs-msg--user{align-self:flex-end}
.cs-msg__bubble{padding:.625rem .875rem;border-radius:12px;font-size:.9375rem;line-height:1.5;word-break:break-word}
.cs-msg--bot .cs-msg__bubble{background:#f3f4f6;color:#1a1a1a;border-bottom-left-radius:4px}
.cs-msg--user .cs-msg__bubble{background:#e94560;color:#fff;border-bottom-right-radius:4px}
.cs-typing .cs-msg__bubble{display:flex;gap:5px;align-items:center;padding:.75rem .875rem}
.cs-typing-dot{width:6px;height:6px;border-radius:9999px;background:#9ca3af;animation:cs-bounce .9s ease-in-out infinite}
.cs-typing-dot:nth-child(2){animation-delay:.18s}
.cs-typing-dot:nth-child(3){animation-delay:.36s}
@keyframes cs-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.cs-chat__contact{padding:.75rem 1rem 1rem;border-top:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}
.cs-chat__contact p{color:#6b7280;font-size:.875rem;margin-bottom:.625rem;line-height:1.4}
.cs-chat__contact input{width:100%;padding:.5rem .75rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.875rem;margin-bottom:.5rem;font-family:inherit;transition:border-color 150ms ease;background:#fff}
.cs-chat__contact input:focus{outline:none;border-color:#e94560}
.cs-chat__contact .btn{width:100%;padding:.5rem 1rem;font-size:.9rem;border-radius:8px}
.cs-chat__footer{padding:.625rem .875rem;border-top:1px solid #e5e7eb;display:flex;gap:.5rem;align-items:flex-end;flex-shrink:0}
.cs-chat__input{flex:1;resize:none;border:1.5px solid #e5e7eb;border-radius:12px;padding:.5rem .75rem;font-size:.9375rem;line-height:1.5;max-height:100px;overflow-y:auto;font-family:inherit;transition:border-color 150ms ease;background:#fff}
.cs-chat__input:focus{outline:none;border-color:#e94560}
.cs-chat__send{width:36px;height:36px;border-radius:9999px;background:#e94560;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background-color 150ms ease,transform 150ms ease}
.cs-chat__send:hover{background:#c73652}
.cs-chat__send:active{transform:scale(.92)}
.cs-chat__send:disabled{opacity:.45;cursor:not-allowed}
.cs-chat__send:focus-visible{outline:2px solid #e94560;outline-offset:3px}
@media(max-width:400px){.cs-chat{bottom:1rem;right:1rem}.cs-chat__panel{width:calc(100vw - 2rem)}}
