.chat-widget{position:fixed;right:25px;bottom:24px;z-index:30;font-family:'DM Sans',sans-serif}.chat-launcher{display:flex;align-items:center;gap:11px;border:1px solid #ffffff40;border-radius:50px;padding:16px 21px;background:linear-gradient(110deg,#07518a,#087d78);color:#fff;box-shadow:0 8px 30px #07518a30;font-size:max(var(--minimum-text-size, 0px), 12px);font-weight:550;transition:transform .25s,box-shadow .25s}.chat-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 35px #07518a40}.chat-launcher svg,.chat-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-panel{position:absolute;right:0;bottom:74px;width:380px;height:540px;max-height:calc(100dvh - 125px);border:1px solid #d8e8ee;border-radius:17px;background:#fff;box-shadow:0 18px 65px #102e4826;overflow:hidden;opacity:0;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:opacity .24s,transform .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;color:#233d50}.chat-panel[hidden]{display:none}.chat-panel.is-open{opacity:1;transform:none}.chat-heading{padding:20px 16px;background:linear-gradient(115deg,#07518a,#087d78);color:white;display:flex;align-items:center;gap:11px;flex-shrink:0}.chat-avatar{height:37px;width:37px;border-radius:11px;background:#ffffff20;display:grid;place-items:center;font-size:max(var(--minimum-text-size, 0px), 25px);flex-shrink:0}.chat-heading h2{font-size:max(var(--minimum-text-size, 0px), 13px);letter-spacing:0;line-height:1.4;margin:0;color:#fff;font-weight:550}.chat-heading p{font-size:max(var(--minimum-text-size, 0px), 10px);line-height:1.4;color:#c8edef;margin:5px 0 0}.chat-close{border:0;background:#ffffff12;border-radius:50%;color:white;width:29px;height:29px;font-size:max(var(--minimum-text-size, 0px), 23px);margin-left:auto;flex-shrink:0}.chat-messages{flex:1;overflow:auto;min-height:0;padding:20px 16px;background:#f8fbfc;overscroll-behavior:contain;scrollbar-width:thin}.chat-message{max-width:91%;padding:13px 14px;background:white;border:1px solid #e1edf1;border-radius:3px 12px 12px 12px;margin-bottom:13px;animation:chat-message-in .3s ease both}.chat-sender{display:block;font-size:max(var(--minimum-text-size, 0px), 8px);font-weight:650;letter-spacing:.7px;color:#688797;margin-bottom:6px}.chat-message p{font-size:max(var(--minimum-text-size, 0px), 12px);line-height:1.7;color:inherit;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message.visitor{background:#e3f2f6;border-color:#d4e9ef;margin-left:auto;border-radius:12px 3px 12px 12px}.chat-message a{display:inline-block;margin-top:12px;color:#07518a;font-size:max(var(--minimum-text-size, 0px), 11px);font-weight:600;border-bottom:1px solid #a4cbd9;padding-bottom:3px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-top:1px solid #e6eef2;background:#fff}.chat-suggestions button{font-size:max(var(--minimum-text-size, 0px), 9px);color:#076c94;border:1px solid #cde3eb;border-radius:30px;background:#f5fafc;padding:9px 10px;transition:background .2s}.chat-suggestions button:hover{background:#e5f3f7}.chat-form{display:flex;gap:8px;padding:0 16px 12px;align-items:center}.chat-input-label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.chat-form input{flex:1;min-width:0;border:1px solid #d6e5ec;background:#fafcfd;border-radius:8px;padding:13px 12px;font-size:max(var(--minimum-text-size, 0px), 12px);color:#233d50}.chat-send{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:linear-gradient(135deg,#07518a,#087d78);color:white;border:0;border-radius:9px}.chat-send:disabled,.chat-suggestions button:disabled{opacity:.5;cursor:wait}.chat-disclaimer{font-size:max(var(--minimum-text-size, 0px), 8px);line-height:1.7;text-align:center;color:#748995;padding:0 20px 13px;margin:0}.chat-disclaimer a{color:#07518a;text-decoration:underline}.chat-typing{display:flex;gap:5px;padding:14px;background:white;border:1px solid #e1edf1;border-radius:10px;width:fit-content;margin-bottom:13px}.chat-typing span{width:5px;height:5px;background:#4092a6;border-radius:50%;animation:chat-dot 1s ease infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{50%{opacity:.35;transform:translateY(-3px)}}@keyframes chat-message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:640px){.chat-widget{right:16px;bottom:83px}.chat-launcher{padding:14px;border-radius:50%}.chat-launcher>span{display:none}.chat-panel{position:fixed;left:12px;right:12px;bottom:146px;width:auto;height:520px;max-height:calc(100dvh - 170px)}.chat-heading{padding:16px}.chat-messages{padding:15px}.chat-suggestions button{font-size:max(var(--minimum-text-size, 0px), 9px)}.chat-disclaimer{font-size:max(var(--minimum-text-size, 0px), 8px)}}@media(prefers-reduced-motion:reduce){.chat-panel,.chat-launcher{transition:none}.chat-message,.chat-typing span{animation:none}}
.chat-close{min-width:44px;min-height:44px}
@media(max-width:640px){
  .chat-widget{bottom:calc(88px + env(safe-area-inset-bottom))}
  .chat-panel{top:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:auto;max-height:none;z-index:1}
  .chat-form input{font-size:max(var(--minimum-text-size, 0px), 16px);min-height:48px}
  .chat-send{width:48px;height:48px}
  .chat-heading h2{font-size:max(var(--minimum-text-size, 0px), 15px)}
  .chat-heading p,.chat-disclaimer{font-size:max(var(--minimum-text-size, 0px), 11px)}
  .chat-message p{font-size:max(var(--minimum-text-size, 0px), 14px)}
  .chat-suggestions button{font-size:max(var(--minimum-text-size, 0px), 12px);min-height:44px}
}

