.chat-fab{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:125;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 20px 0 14px;border:0;border-radius:28px;background:var(--ink);color:#fff;font:650 .95rem var(--body);box-shadow:0 12px 30px -10px rgba(20,22,26,.6),0 0 0 1px rgba(255,255,255,.08) inset;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.chat-fab:hover{transform:translateY(-2px)}
.chat-fab .av{width:32px;height:32px;border-radius:50%;background:var(--blue);display:grid;place-items:center;position:relative}
.chat-fab .av svg{width:18px;height:18px}
.chat-fab .av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#35d07f;border:2px solid var(--ink)}
.chat-panel{position:fixed;z-index:140;right:0;bottom:0;left:0;height:min(82vh,680px);max-height:82dvh;display:flex;flex-direction:column;background:#f4f3ee;border-radius:22px 22px 0 0;box-shadow:0 -14px 50px -12px rgba(20,22,26,.45);overflow:hidden;transform:translateY(105%);visibility:hidden;transition:transform .32s var(--ease),visibility 0s .32s}
.chat-panel.open{transform:none;visibility:visible;transition:transform .32s var(--ease)}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 8px 14px 16px;background:var(--ink);color:#fff}
.chat-head .av{flex:none;width:42px;height:42px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font:800 1.05rem var(--head);color:#fff;position:relative}
.chat-head .av::after{content:"";position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#35d07f;border:2px solid var(--ink)}
.chat-head .t{flex:1;min-width:0}.chat-head strong{display:block;font:700 1.02rem var(--head)}.chat-head small{display:block;color:#b9bdc6;font-size:.78rem;line-height:1.3}
.chat-x{flex:none;width:44px;height:44px;border:0;background:none;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;border-radius:50%}.chat-x:hover{background:rgba(255,255,255,.1)}
.chat-log{flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;scroll-behavior:smooth}
.chat-row{display:flex;align-items:flex-end;gap:8px;animation:chatIn .28s var(--ease) both}
.chat-row.me{justify-content:flex-end}
.chat-row .mini{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 .75rem var(--head)}
.chat-msg{max-width:82%;padding:11px 15px;border-radius:18px;font-size:.96rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.chat-row.bot .chat-msg{background:#fff;color:var(--text);border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(20,22,26,.08)}
.chat-row.me .chat-msg{background:var(--ink);color:#fff;border-bottom-right-radius:5px}
.chat-msg a{font-weight:650;color:var(--blue-d)}
.chat-typing{display:inline-flex;gap:4px;align-items:center;padding:6px 2px}
.chat-typing i{width:7px;height:7px;border-radius:50%;background:#a3a7b0;animation:chatDot 1.1s infinite ease-in-out}
.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes chatDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes chatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat-sug{padding:4px 14px 10px}
.chat-sug p{margin:0 0 8px;color:var(--mute);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.chat-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chat-chips button{flex:none;min-height:40px;padding:0 15px;border:1px solid #d9d6ca;border-radius:20px;background:#fff;color:var(--ink);font:550 .88rem var(--body);cursor:pointer;transition:border-color .2s,background .2s}
.chat-chips button:hover{border-color:var(--ink);background:#fbfaf6}
.chat-cta{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 10px}
.chat-cta a{min-height:42px;padding:0 15px;border:1px solid #d9d6ca;border-radius:21px;background:#fff;color:var(--ink);font:600 .88rem var(--body);text-decoration:none;display:inline-flex;align-items:center}
.chat-cta a.primary{background:var(--orange);border-color:var(--orange);color:#1b0d02}
.chat-form{display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e6e3d9}
.chat-form input{flex:1;min-width:0;min-height:48px;padding:0 18px;border:1px solid #d9d6ca;border-radius:24px;background:#f7f6f1;font:1rem var(--body);color:var(--ink)}
.chat-form input:focus{outline:2px solid var(--blue);outline-offset:1px;background:#fff}
.chat-form button{flex:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--orange);color:#1b0d02;display:grid;place-items:center;cursor:pointer}
.chat-form button:disabled{opacity:.5}
.chat-form button svg{width:20px;height:20px}
.chat-foot{padding:0 14px 8px;background:#fff;color:var(--mute);font-size:.72rem;text-align:center}
@media(min-width:760px){.chat-fab{bottom:20px;right:20px}.chat-panel{left:auto;right:20px;bottom:20px;width:392px;height:min(640px,calc(100vh - 40px));border-radius:22px}}
@media(prefers-reduced-motion:reduce){.chat-panel,.chat-row{transition:none;animation:none}.chat-typing i{animation:none}}
@media(max-width:1019px){.chat-fab{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:14px;width:56px;height:56px;min-height:0;padding:0;justify-content:center;border-radius:50%}.chat-fab>span:last-child{display:none}.chat-fab .av{width:36px;height:36px}}
.chat-fab{background:var(--blue-deep)}.chat-fab:hover{background:#085578}
.chat-head{background:linear-gradient(135deg,var(--blue-deep),var(--blue-mid))}.chat-head .av{background:#fff;color:var(--blue-deep)}.chat-head small{color:#d6edf8}
.chat-row.me .chat-msg{background:var(--blue-deep)}
.chat-form button{background:var(--orange-btn);color:#fff}
.chat-cta a.primary{background:var(--orange-btn);border-color:var(--orange-btn);color:#fff}
.chat-chips button:hover{border-color:var(--blue-mid)}

/* original-style launcher: white bubble with the question, round avatar */
.chat-fab{background:#fff;color:#2f302f;box-shadow:0 10px 30px -8px rgba(20,22,26,.35),0 0 0 1px rgba(20,22,26,.06);padding:0 8px 0 20px;flex-direction:row-reverse;gap:12px;font-weight:600;font-size:.9rem}
.chat-fab:hover{background:#fff;transform:translateY(-2px)}
.chat-fab .av{width:44px;height:44px;background:#1cb7f6;box-shadow:0 0 0 3px #fff}.chat-fab .av::after{border-color:#fff}
.chat-fab .av svg{width:22px;height:22px}
@media(max-width:1019px){.chat-fab{padding:0;background:transparent;box-shadow:none}.chat-fab .av{width:56px;height:56px;box-shadow:0 10px 24px -6px rgba(20,22,26,.5)}.chat-fab .av svg{width:26px;height:26px}.chat-fab>span:first-child{display:none}.chat-fab>span:last-child{display:none}}
