/* All styles are scoped to the additive widget; existing site is untouched. */
#tc-livechat { --tc-chat-blue: #2457f5; --tc-chat-ink: #10213b; position: fixed; top: auto; left: auto; width: max-content; height: auto; padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; right: 24px; bottom: 24px; z-index: 850; font: 14px/1.5 Inter, Arial, sans-serif; color: var(--tc-chat-ink); text-align: left; letter-spacing: normal; }
#tc-livechat *, #tc-livechat *::before, #tc-livechat *::after { box-sizing: border-box; }
#tc-livechat [hidden] { display: none !important; }
#tc-livechat button, #tc-livechat textarea, #tc-livechat input { font: inherit; }
#tc-livechat button { cursor: pointer; }
#tc-livechat button:focus-visible, #tc-livechat a:focus-visible, #tc-livechat textarea:focus-visible { outline: 3px solid #7899ff; outline-offset: 3px; }
#tc-livechat button svg { width: 24px; height: 24px; flex: none; }
#tc-livechat .tc-chat-launcher { display: flex; align-items: center; gap: 11px; min-height: 54px; padding: 14px 21px; border: 1px solid #ffffff3d; border-radius: 18px; background: var(--tc-chat-blue); color: #fff; box-shadow: 0 8px 28px #1b43b538; font-weight: 600; transition: background .2s, transform .2s; }
#tc-livechat .tc-chat-launcher:hover { background: #1746d8; transform: translateY(-2px); }
#tc-livechat .tc-chat-launcher[aria-expanded=true] { background: #11233e; }
#tc-livechat .tc-chat-unread { width: 9px; height: 9px; border-radius: 50%; background: #aeefff; box-shadow: 0 0 0 3px #fff3; }
#tc-livechat .tc-chat-hint { position: absolute; bottom: 68px; right: 0; width: 290px; background: #fff; border: 1px solid #e2e9f6; border-radius: 20px 20px 6px 20px; padding: 21px 22px 18px; box-shadow: 0 14px 46px #1e396323; }
#tc-livechat .tc-chat-hint strong { font-size: 17px; letter-spacing: -.03em; }
#tc-livechat .tc-chat-hint p { margin: 7px 0 14px; color: #60708a; font-size: 13px; line-height: 1.6; }
#tc-livechat .tc-chat-hint-close { position: absolute; right: 7px; top: 5px; width: 32px; height: 32px; border: 0; border-radius: 50%; color: #63718c; background: transparent; font-size: 23px; }
#tc-livechat .tc-chat-hint-open { display: flex; align-items: center; gap: 32px; padding: 0; border: 0; background: none; color: #2457f5; font-size: 13px; font-weight: 600; }
#tc-livechat .tc-chat-panel { position: absolute; bottom: 68px; right: 0; display: flex; flex-direction: column; width: 368px; height: 516px; max-height: calc(100dvh - 114px); background: #fff; border: 1px solid #dfe7f4; border-radius: 24px; box-shadow: 0 22px 70px #0d285233, 0 3px 14px #0d285210; overflow: hidden; }
#tc-livechat .tc-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 22px 22px 17px; border-bottom: 1px solid #edf1f8; background: #fff; flex: none; }
#tc-livechat .tc-chat-wordmark { font-size: 25px; font-weight: 800; line-height: 1.15; letter-spacing: -.055em; }
#tc-livechat .tc-chat-wordmark b { color: #5756f5; background: linear-gradient(130deg, #2e6ff1, #b443c6); background-clip: text; -webkit-text-fill-color: transparent; }
#tc-livechat .tc-chat-header p { font-size: 12px; color: #71819a; margin: 5px 0 0; }
#tc-livechat .tc-chat-close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: #61728c; background: #f3f6fb; border: 0; border-radius: 12px; }
#tc-livechat .tc-chat-close:hover { color: #13233b; background: #e8eef8; }
#tc-livechat .tc-chat-mode { padding: 7px 14px; background: #fff5de; color: #735313; text-align: center; font-size: 11px; flex: none; }
#tc-livechat .tc-chat-feed { padding: 22px 20px 10px; overflow-y: auto; overscroll-behavior: contain; flex: 1; min-height: 0; scrollbar-width: thin; scrollbar-color: #cdd7e8 transparent; background: linear-gradient(180deg, #f8faff, #fff 90%); }
#tc-livechat .tc-chat-welcome { margin: 14px 0 0; }
#tc-livechat .tc-chat-eyebrow { display: block; color: #647ea9; font-size: 9px; letter-spacing: .12em; font-weight: 600; }
#tc-livechat .tc-chat-welcome h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.055em; margin: 11px 0 12px; font-weight: 650; color: #152b4a; }
#tc-livechat .tc-chat-welcome p { color: #71819a; font-size: 13px; line-height: 1.75; margin: 0; }
#tc-livechat .tc-chat-messages { display: flex; flex-direction: column; gap: 14px; }
#tc-livechat .tc-chat-message { max-width: 90%; padding: 11px 14px 8px; border-radius: 16px; margin: 0; }
#tc-livechat .tc-chat-message p { font-size: 13px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 6px; }
#tc-livechat .tc-chat-message span { display: block; font-size: 9px; line-height: 1.45; opacity: .78; }
#tc-livechat .tc-chat-visitor { background: #2457f5; color: #fff; border-bottom-right-radius: 5px; align-self: flex-end; }
#tc-livechat .tc-chat-operator { background: #edf2fa; color: #172e4c; border-bottom-left-radius: 5px; align-self: flex-start; }
#tc-livechat .tc-chat-connection { flex: none; padding: 5px 20px 9px; margin: 0; font-size: 10px; line-height: 1.5; color: #6a7a94; }
#tc-livechat .tc-chat-compose { position: relative; display: flex; align-items: flex-end; flex: none; gap: 7px; margin: 0 16px; padding: 10px 10px 10px 14px; border: 1px solid #dce4f1; border-radius: 16px; background: #fff; }
#tc-livechat .tc-chat-compose:focus-within { border-color: #93acf8; box-shadow: 0 0 0 3px #2457f50a; }
#tc-livechat .tc-chat-compose textarea { width: 100%; min-width: 0; padding: 3px 0; resize: none; background: transparent; border: 0; outline: none; border-radius: 0; color: #152b4a; font-size: 14px; line-height: 1.55; max-height: 90px; }
#tc-livechat .tc-chat-compose textarea::placeholder { color: #8996aa; }
#tc-livechat .tc-chat-send { display: grid; place-items: center; width: 37px; height: 37px; flex: 0 0 37px; border: 0; border-radius: 12px; color: #fff; background: #2457f5; }
#tc-livechat .tc-chat-send:disabled { background: #eaf0fa; color: #8195b7; cursor: default; }
#tc-livechat .tc-chat-privacy { flex: none; padding: 10px 16px 13px; color: #7e8a9f; text-align: center; font-size: 9px; line-height: 1.6; }
#tc-livechat .tc-chat-privacy a { color: #536c92; text-decoration: underline; text-underline-offset: 2px; }
#tc-livechat .tc-chat-error { margin: 8px 18px 0; padding: 0; color: #a33539; font-size: 11px; flex: none; }
#tc-livechat .tc-chat-reconnect { margin: 8px 18px 0; padding: 6px 10px; border: 1px solid #c5d4f7; border-radius: 9px; background: #f3f7ff; color: #2457f5; font-size: 12px; }
#tc-livechat .tc-chat-trap, #tc-livechat .tc-chat-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 680px) {
  #tc-livechat { right: 12px; bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
  #tc-livechat .tc-chat-launcher { min-height: 46px; padding: 10px 15px; border-radius: 15px; font-size: 12px; }
  #tc-livechat .tc-chat-launcher svg { width: 21px; height: 21px; }
  #tc-livechat .tc-chat-panel { bottom: 58px; width: min(368px, calc(100vw - 40px)); height: 475px; max-height: calc(100dvh - 164px - env(safe-area-inset-bottom, 0px)); border-radius: 21px; }
  #tc-livechat .tc-chat-header { padding: 16px 18px 13px; }
  #tc-livechat .tc-chat-feed { padding: 16px; }
  #tc-livechat .tc-chat-hint { bottom: 58px; max-width: calc(100vw - 40px); }
  #tc-livechat .tc-chat-compose textarea { font-size: 16px; }
}
@media (max-height: 580px) {
  #tc-livechat { bottom: 12px; }
  #tc-livechat .tc-chat-panel { max-height: calc(100dvh - 84px); bottom: 64px; }
  #tc-livechat .tc-chat-header { padding: 10px 18px; }
  #tc-livechat .tc-chat-privacy { display: none; }
  #tc-livechat .tc-chat-compose { margin-bottom: 10px; }
  #tc-livechat .tc-chat-mode { padding: 4px 10px; }
}
@media (prefers-reduced-motion: reduce) { #tc-livechat * { transition: none !important; } }
