.eric-chat,
.eric-chat * { box-sizing: border-box; }
.eric-chat { position: fixed; z-index: 9999; right: 22px; bottom: 22px; color: #102044; font: 14px/1.5 'Plus Jakarta Sans', system-ui, sans-serif; }
.eric-chat button { font: inherit; cursor: pointer; }
.eric-chat__toggle { display: flex; align-items: center; gap: 12px; padding: 13px 18px; border: 0; border-radius: 999px; color: #fff; background: #102044; box-shadow: 0 12px 30px rgba(16,32,68,.26); font-weight: 700 !important; }
.eric-chat__toggle span { color: #a7c0ff; font-size: 20px; line-height: 1; }
.eric-chat__toggle:hover, .eric-chat__toggle:focus-visible { background: #214578; }
.eric-chat__panel { position: absolute; right: 0; bottom: calc(100% + 12px); width: min(370px, calc(100vw - 32px)); height: min(530px, calc(100dvh - 110px)); flex-direction: column; overflow: hidden; border: 1px solid #d7e2f2; border-radius: 18px; background: #fff; box-shadow: 0 22px 65px rgba(16,32,68,.2); }
.eric-chat__panel:not([hidden]) { display: flex; }
.eric-chat__panel[hidden], .eric-chat__suggestions[hidden] { display: none !important; }
.eric-chat__header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 17px 18px; color: #fff; background: #102044; }
.eric-chat__header strong { display: block; font-size: 15px; }
.eric-chat__header small { display: block; margin-top: 2px; color: #d6e2f6; font-size: 11px; }
.eric-chat__close { width: 32px; height: 32px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.13); font-size: 23px !important; line-height: 1 !important; }
.eric-chat__messages { flex: 1; min-height: 0; padding: 18px; overflow-y: auto; overflow-wrap: anywhere; background: #f8fbff; }
.eric-chat__message { max-width: 88%; margin: 0 0 12px; padding: 10px 13px; border-radius: 13px; white-space: pre-wrap; line-height: 1.5; }
.eric-chat__message--bot { margin-right: auto; border: 1px solid #dfe9f7; border-bottom-left-radius: 4px; background: #fff; }
.eric-chat__message--user { margin-left: auto; border-bottom-right-radius: 4px; color: #fff; background: #244a87; }
.eric-chat__message a { color: #244a87; text-decoration: underline; }
.eric-chat__suggestions { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 15px 0; }
.eric-chat__suggestions button { padding: 6px 9px; border: 1px solid #cad9ed; border-radius: 999px; color: #204482; background: #fff; font-size: 11px; }
.eric-chat__suggestions button:hover { background: #edf4ff; }
.eric-chat__form { display: flex; gap: 8px; padding: 12px 15px 7px; }
.eric-chat__form input { min-width: 0; flex: 1; padding: 10px 12px; border: 1px solid #c6d6ea; border-radius: 10px; background: #fff; font: inherit; }
.eric-chat__form button { width: 38px; height: 38px; flex: none; border: 0; border-radius: 10px; color: #fff; background: #244a87; font-size: 23px; line-height: 1; }
.eric-chat__form button:disabled { opacity: .5; cursor: wait; }
.eric-chat__footer { margin: 0; padding: 0 15px 12px; color: #627188; text-align: center; font-size: 11px; }
.eric-chat__footer a { color: #244a87; text-decoration: underline; }
.eric-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; }
.eric-chat :focus-visible { outline: 2px solid #6086e6; outline-offset: 2px; }
@media (max-width: 480px) { .eric-chat { right: 16px; bottom: 16px; } .eric-chat__panel { height: min(530px, calc(100dvh - 100px)); } }
