.gt-chatbot,.gt-chatbot button,.gt-chatbot input,.gt-chatbot textarea { font-family:var(--gt-font); font-synthesis:none; }
.gt-chatbot { position:fixed; z-index:11000; inset:0; width:100%; height:100%; pointer-events:none; }
.gt-chatbot button,.gt-chatbot section { pointer-events:auto; }
.gt-chat-launcher { position:fixed; z-index:11002; right:18px; bottom:88px; display:grid; place-items:center; width:58px; height:58px; padding:0; color:#fff; background:#16183a; border:2px solid #4f52cf; border-radius:16px; box-shadow:0 12px 28px rgba(22,24,58,.3); cursor:grab; touch-action:none; transition:box-shadow .2s ease,transform .2s ease,background .2s ease,opacity .2s ease,visibility .2s ease; }
.gt-chat-launcher:hover { transform:translateY(-2px); background:#2e3192; box-shadow:0 15px 32px rgba(22,24,58,.38); }
.gt-chatbot.is-open .gt-chat-launcher { opacity:0; visibility:hidden; pointer-events:none; transform:scale(.85); }
.gt-chat-launcher:active { cursor:grabbing; }
.gt-chat-launcher svg { width:27px; height:27px; color:var(--gt-gold-light); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gt-chat-pulse { position:absolute; right:3px; top:3px; width:10px; height:10px; background:#7ee3a1; border:2px solid #16183a; border-radius:50%; }
.gt-chat-backdrop { position:fixed; z-index:11000; inset:0; background:rgba(7,8,15,.25); opacity:0; transition:opacity .3s ease; }
.gt-chatbot.is-open .gt-chat-backdrop { opacity:1; }
.gt-chat-drawer { position:fixed; z-index:11001; top:0; right:0; display:flex; flex-direction:column; width:min(420px,100vw); height:100dvh; color:var(--gt-blue-900); background:#fff; box-shadow:-24px 0 70px rgba(7,8,15,.2); transform:translateX(104%); visibility:hidden; transition:transform .38s cubic-bezier(.2,.8,.2,1),visibility .38s; }
.gt-chatbot.is-open .gt-chat-drawer { transform:none; visibility:visible; }
.gt-chat-header { display:grid; grid-template-columns:44px 1fr 36px; gap:11px; align-items:center; min-height:76px; padding:12px 15px; color:#fff; background:#16183a; border-bottom:4px solid #2e3192; }
.gt-chat-avatar { position:relative; display:grid; place-items:center; width:42px; height:42px; overflow:visible; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:#2e3192; }
.gt-chat-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.gt-chat-avatar i { position:absolute; right:0; bottom:1px; width:9px; height:9px; border:2px solid var(--gt-blue-700); border-radius:50%; background:#7ee3a1; }
.gt-chat-header p { font-size:14px; font-weight:500; }
.gt-chat-header div>span { display:block; color:rgba(255,255,255,.68); font-size:10px; }
.gt-chat-close { display:grid; place-items:center; width:34px; height:34px; color:var(--gt-gold-light); background:rgba(255,255,255,.1); border:0; border-radius:50%; font-size:24px; cursor:pointer; }
.gt-chat-welcome { flex:1; padding:clamp(28px,7vh,58px) 26px 24px; overflow-y:auto; }
.gt-chat-kicker { color:var(--gt-indigo); font-size:14px; font-weight:500; letter-spacing:0; text-transform:none; }
.gt-chat-welcome h2 { margin:10px 0 12px; font-size:clamp(27px,8vw,36px); font-weight:400; line-height:1.1; letter-spacing:-.03em; }
.gt-chat-welcome>p:not(.gt-chat-kicker) { color:var(--gt-gray-600); font-size:14px; font-weight:400; line-height:1.6; }
.gt-chat-topics { display:grid; gap:7px; margin:18px 0 0; padding:0; list-style:none; }
.gt-chat-topics li { position:relative; padding-left:16px; color:var(--gt-gray-600); font-size:12px; font-weight:400; line-height:1.5; }
.gt-chat-topics li::before { content:""; position:absolute; left:0; top:.48em; width:7px; height:3px; background:var(--gt-gold); }
#gt-chat-lead-form { display:grid; gap:12px; margin-top:24px; }
#gt-chat-lead-form label { display:grid; gap:5px; }
#gt-chat-lead-form label span { color:var(--gt-gray-600); font-size:11px; font-weight:500; }
#gt-chat-lead-form input { width:100%; padding:11px 12px; color:var(--gt-blue-900); background:var(--gt-gray-50); border:1px solid var(--gt-blue-100); border-radius:6px; outline:none; }
#gt-chat-lead-form input:focus { border-color:var(--gt-blue-500); box-shadow:0 0 0 3px rgba(79,125,253,.1); }
#gt-chat-lead-form button { display:block; padding:12px 14px; color:#fff; background:#2e3192; border:0; border-radius:6px; font-weight:500; text-align:center; cursor:pointer; }
.gt-chat-welcome>small { display:block; margin-top:12px; color:var(--gt-gray-400); font-size:9px; text-align:center; }
.gt-chat-error { color:#ffb5b5; padding:8px 10px; background:#721c24; border-radius:5px; font-size:11px; }
.gt-chat-conversation { flex:1; min-height:0; display:flex; flex-direction:column; }
.gt-chat-conversation[hidden],.gt-chat-welcome[hidden],.gt-chat-backdrop[hidden] { display:none!important; }
.gt-chat-messages { flex:1; display:flex; flex-direction:column; gap:12px; padding:20px 16px; overflow-y:auto; background:#f7f8fc; }
.gt-chat-message { max-width:86%; padding:10px 12px; border-radius:13px; font-size:12px; line-height:1.5; animation:gt-chat-message-in .3s ease-out; }
.gt-chat-message-bot { align-self:flex-start; color:var(--gt-blue-900); background:#fff; border:1px solid var(--gt-blue-100); border-bottom-left-radius:3px; }
.gt-chat-message-user { align-self:flex-end; color:#fff; background:#2e3192; border-bottom-right-radius:3px; }
.gt-chat-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.gt-chat-links a { padding:5px 8px; color:var(--gt-blue-700); background:var(--gt-blue-50,#eef3ff); border:1px solid var(--gt-blue-100); border-radius:999px; font-size:10px; font-weight:600; }
.gt-chat-typing { display:flex; gap:4px; width:max-content; }
.gt-chat-typing i { width:5px; height:5px; border-radius:50%; background:var(--gt-blue-400); animation:gt-chat-dot 1s infinite alternate; }.gt-chat-typing i:nth-child(2){animation-delay:.18s}.gt-chat-typing i:nth-child(3){animation-delay:.36s}
@keyframes gt-chat-dot { to{transform:translateY(-4px);opacity:.45} }
@keyframes gt-chat-message-in { from{opacity:0;transform:translateY(8px)} }
.gt-chat-suggestions { display:flex; gap:6px; padding:8px 14px; overflow-x:auto; background:#fff; border-top:1px solid var(--gt-gray-200); scrollbar-width:none; }
.gt-chat-suggestions button { flex:none; padding:6px 9px; color:var(--gt-blue-700); background:#fff; border:1px solid var(--gt-blue-200); border-radius:999px; font-size:10px; cursor:pointer; }
.gt-chat-compose { display:grid; grid-template-columns:1fr 42px; gap:8px; padding:10px 12px; background:#fff; border-top:1px solid var(--gt-gray-200); }
.gt-chat-compose textarea { max-height:90px; padding:10px 11px; color:var(--gt-blue-900); background:var(--gt-gray-50); border:1px solid var(--gt-blue-100); border-radius:8px; resize:none; outline:none; font-size:12px; }
.gt-chat-compose button { display:grid; place-items:center; width:42px; height:42px; color:var(--gt-gold-light); background:#16183a; border:0; border-radius:10px; cursor:pointer; }.gt-chat-compose button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.gt-chat-disclaimer { padding:0 0 8px; color:var(--gt-gray-400); background:#fff; font-size:8px; text-align:center; }
body.gt-chat-open { overflow:hidden; }
@media(max-width:600px){.gt-chat-launcher{right:12px;bottom:70px;width:54px;height:54px}.gt-chat-drawer{top:0;right:0;bottom:auto;height:100dvh;width:100vw;border-radius:0;transform:translateX(100%);overscroll-behavior:none}.gt-chatbot.is-open .gt-chat-drawer{transform:translateX(0)}.gt-chat-header{flex:none;min-height:68px;padding-top:max(10px,env(safe-area-inset-top))}.gt-chat-welcome{padding:22px 20px max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}.gt-chat-messages{min-height:0;padding:14px 12px;overscroll-behavior:contain}.gt-chat-suggestions{flex:none;padding:7px 12px}.gt-chat-compose{flex:none;padding:8px 10px}.gt-chat-compose textarea,#gt-chat-lead-form input{font-size:16px}.gt-chat-disclaimer{flex:none;padding-bottom:max(7px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.gt-chat-drawer,.gt-chat-message{transition:none;animation:none}}
