.ch-fab{position:fixed;right:22px;bottom:22px;z-index:70;width:68px;height:68px;border-radius:50%;border:3px solid #ffd36b;background:radial-gradient(circle at 35% 30%,#d93a3f,#8e1520);box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 0 6px rgba(255,211,107,.18);cursor:pointer;padding:0;-webkit-appearance:none;appearance:none;animation:chBounce 2.8s ease-in-out infinite;display:flex;align-items:center;justify-content:center}
.ch-fab svg{width:50px;height:50px}
.ch-fab:hover,.ch-fab:focus-visible{animation-play-state:paused;transform:scale(1.08);outline:none;box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 0 4px #ffd36b}
.ch-fab .lbl{position:absolute;right:76px;top:50%;transform:translateY(-50%);background:#fff8e6;color:#9e1b24;font:700 14px Lato,sans-serif;padding:7px 12px;border-radius:16px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.ch-fab .dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#7ee08a;border:2px solid #fff}
@keyframes chBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ch-open .ch-fab{animation:none}.ch-open .ch-fab .lbl{display:none}
.ch-panel{position:fixed;right:22px;bottom:104px;z-index:71;width:370px;max-width:calc(100vw - 24px);height:min(560px,calc(100vh - 140px));display:none;flex-direction:column;background:#fffaf0;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(40,14,8,.5);border:3px solid #6b3e1f;font-family:Lato,sans-serif;color:#3a2a1a;transform-origin:bottom right}
.ch-open .ch-panel{display:flex;animation:chIn .28s cubic-bezier(.2,1.3,.5,1)}
@keyframes chIn{from{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:none}}
.ch-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#7a141c,#b3202a);color:#fff;position:relative}
.ch-head:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:6px;background:repeating-linear-gradient(90deg,#ffcf4a 0 6px,transparent 6px 14px,#ff5a4a 14px 20px,transparent 20px 28px,#7ee08a 28px 34px,transparent 34px 42px)}
.ch-head svg{width:40px;height:40px;background:#fff3d6;border-radius:50%}
.ch-head b{display:block;font-family:'Playfair Display',serif;font-size:1.05rem}.ch-head small{opacity:.85}
.ch-x{margin-left:auto;background:rgba(255,255,255,.15);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}
.ch-x:focus-visible{outline:2px solid #ffd36b}
.ch-log{flex:1;overflow-y:auto;padding:18px 12px 8px;background:#fbf1de;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.ch-m{max-width:85%;padding:9px 13px;border-radius:16px;line-height:1.45;font-size:.95rem;white-space:pre-line;animation:chIn .2s}
.ch-bot{align-self:flex-start;background:#fff;border:1px solid #f0d7a5;border-bottom-left-radius:4px}
.ch-me{align-self:flex-end;background:#2f5a34;color:#fff;border-bottom-right-radius:4px}
.ch-m table{border-collapse:collapse;margin-top:6px;font-size:.85rem;width:100%}.ch-m td{padding:2px 6px;border-bottom:1px dashed #e4cfa5;white-space:nowrap}
.ch-act{display:inline-block;margin-top:8px;background:#e8b04a;color:#3a1a00;border:0;border-radius:14px;padding:5px 12px;font-weight:700;cursor:pointer;font-size:.85rem}
.ch-typing{display:flex;gap:4px;padding:12px 14px}.ch-typing i{width:7px;height:7px;border-radius:50%;background:#b3202a;animation:chT 1s infinite}.ch-typing i:nth-child(2){animation-delay:.15s}.ch-typing i:nth-child(3){animation-delay:.3s}
@keyframes chT{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.ch-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;background:#fbf1de;border-top:1px solid #f0d7a5}
.ch-quick button{border:1.5px solid #b3202a;background:#fff;color:#9e1b24;border-radius:14px;padding:5px 10px;font:600 .8rem Lato,sans-serif;cursor:pointer}
.ch-quick button:hover,.ch-quick button:focus-visible{background:#b3202a;color:#fff;outline:none}
.ch-form{display:flex;gap:6px;padding:8px 10px;background:#fff}
.ch-form input{flex:1;min-width:0;border:1.5px solid #e4cfa5;border-radius:18px;padding:9px 14px;font:inherit;font-size:16px;background:#fffaf0}
.ch-form input:focus{outline:none;border-color:#b3202a}
.ch-form button{border:0;border-radius:50%;width:40px;height:40px;background:#b3202a;color:#fff;font-size:17px;cursor:pointer}
.ch-cta{display:flex;gap:6px;padding:0 10px 10px;background:#fff}
.ch-cta a{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:.85rem;padding:8px;border-radius:14px;background:#2f5a34;color:#fff}.ch-cta a+a{background:#6b3e1f}
.ch-cta a:focus-visible,.ch-form button:focus-visible,.ch-act:focus-visible{outline:2px solid #e8b04a;outline-offset:2px}
.ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:520px){.ch-fab{right:12px;bottom:12px;width:58px;height:58px}.ch-fab svg{width:42px;height:42px}.ch-fab .lbl{display:none}
 .ch-panel{right:0;left:0;bottom:0;width:100%;max-width:none;height:min(82vh,640px);border-radius:22px 22px 0 0;border-width:3px 0 0}
 .ch-open .ch-fab{display:none}}
@media (prefers-reduced-motion:reduce){.ch-fab{animation:none}}
