/* EOL visitor assistant. Keep every rule scoped to the widget. */
#eol-chat {
    --chat-red: #b20d20;
    --chat-ink: #1c2735;
    --chat-muted: #677486;
    --chat-border: #dce2ea;
    position: relative;
    z-index: 10020;
    color: var(--chat-ink);
    font: 400 14px/1.5 Barlow, "Segoe UI", Arial, sans-serif;
    text-align: left;
}
#eol-chat *, #eol-chat *::before, #eol-chat *::after { box-sizing: border-box; }
#eol-chat [hidden] { display: none !important; }
#eol-chat button, #eol-chat input { font: inherit; letter-spacing: normal; }
#eol-chat button { cursor: pointer; text-transform: none; }
#eol-chat button:disabled { cursor: wait; opacity: .6; }
#eol-chat button:focus-visible, #eol-chat a:focus-visible, #eol-chat summary:focus-visible {
    outline: 3px solid #5389cf;
    outline-offset: 3px;
}
#eol-chat .eol-chat-launch {
    position: fixed;
    right: 24px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    margin: 0;
    padding: 12px 22px;
    border: 1px solid #ffffff40;
    border-radius: 50px;
    background: var(--chat-red);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 6px 24px #6a071c38;
}
#eol-chat .eol-chat-launch:hover { background: #960c1b; }
#eol-chat .eol-chat-panel {
    position: fixed;
    right: 24px;
    bottom: 86px;
    display: flex;
    flex-direction: column;
    width: 420px;
    max-width: calc(100vw - 32px);
    height: 720px;
    max-height: calc(100vh - 108px);
    max-height: calc(100dvh - 108px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e0e4e9;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 70px #18243d35;
    isolation: isolate;
}
#eol-chat .eol-chat-heading {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 84px;
    margin: 0;
    padding: 18px 22px;
    background: linear-gradient(120deg, #bc1024, #990c1c);
    color: #fff;
}
#eol-chat .eol-chat-heading strong { display: block; color: #fff; font-size: 20px; font-weight: 700; line-height: 1.3; }
#eol-chat .eol-chat-heading small { display: block; margin-top: 4px; color: #fff; font-size: 12px; opacity: .88; }
#eol-chat .eol-chat-heading-actions { display: flex; align-items: center; gap: 8px; }
#eol-chat .eol-chat-close {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #ffffff14;
    color: #fff;
    font-size: 25px;
    line-height: 1;
}
#eol-chat .eol-chat-close:hover { background: #ffffff2b; }
#eol-chat .eol-chat-end { padding: 6px 9px; border: 1px solid #ffffff70; border-radius: 7px; background: transparent; color: #fff; font-size: 12px; white-space: nowrap; }
#eol-chat .eol-chat-onboarding {
    flex: 1 1 auto;
    min-height: 0;
    padding: 18px 22px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #c8cfda transparent;
    background: #f7f9fc;
}
#eol-chat .eol-chat-onboarding h3 { margin: 0 0 5px; color: var(--chat-ink); font-size: 20px; line-height: 1.3; font-weight: 700; }
#eol-chat .eol-chat-onboarding > p { margin: 0 0 14px; color: var(--chat-muted); font-size: 13px; line-height: 1.55; }
#eol-chat .eol-chat-registration { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; background: transparent; }
#eol-chat .eol-chat-registration > label:not(.eol-chat-consent) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #344257;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}
#eol-chat .eol-chat-registration > label > input:not([type="checkbox"]) {
    display: block;
    width: 100%;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--chat-border);
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--chat-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    box-shadow: 0 1px 2px #1c273504;
    transition: border-color .15s, box-shadow .15s;
}
#eol-chat .eol-chat-registration input::placeholder, #eol-chat .eol-chat-form input::placeholder { color: #8b95a4; opacity: 1; }
#eol-chat .eol-chat-registration > label > input:not([type="checkbox"]):focus, #eol-chat .eol-chat-form input:focus {
    border-color: var(--chat-red);
    outline: none;
    box-shadow: 0 0 0 3px #b20d2012;
}
#eol-chat .eol-chat-registration .eol-chat-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 2px 0 0;
    padding: 9px;
    border: 1px solid #e4e8ee;
    border-radius: 9px;
    background: #eff2f7;
    color: #607085;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
}
#eol-chat .eol-chat-consent input[type="checkbox"] { appearance: auto; display: block; flex: 0 0 15px; width: 15px; height: 15px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--chat-red); }
#eol-chat .eol-chat-consent span { min-width: 0; overflow-wrap: anywhere; }
#eol-chat .eol-chat-start {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 11px 16px;
    border: 0;
    border-radius: 9px;
    background: var(--chat-red);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    text-align: center;
    box-shadow: 0 4px 10px #b20d201a;
}
#eol-chat .eol-chat-start:hover { background: #970b1c; }
#eol-chat .eol-chat-messages { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 18px; background: #f7f9fc; }
#eol-chat .eol-chat-bubble { max-width: 96%; margin: 0 0 14px; padding: 12px 14px; border: 1px solid #e3e8ef; border-radius: 14px; background: #fff; color: var(--chat-ink); font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
#eol-chat .eol-chat-user { margin-left: 24px; border-color: #f1d3d9; background: #fcecef; }
#eol-chat .eol-chat-bubble > div > a { color: #ad0e22; font-weight: 600; text-decoration: underline; }
#eol-chat .eol-chat-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; white-space: normal; }
#eol-chat .eol-chat-links a { display: inline-block; padding: 5px 8px; border: 1px solid #e8cbd1; border-radius: 7px; background: #fff; color: #a70d20; font-size: 12px; text-decoration: none; }
#eol-chat .eol-chat-links a:hover { background: #fff1f3; }
#eol-chat .eol-chat-prompts { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 6px; padding: 12px 14px 0; background: #fff; }
#eol-chat .eol-chat-prompts button { margin: 0; padding: 6px 9px; border: 1px solid var(--chat-border); border-radius: 20px; background: #fff; color: #4c596b; font-size: 12px; }
#eol-chat .eol-chat-prompts button:hover { border-color: #c9a0a7; color: var(--chat-red); }
#eol-chat .eol-chat-status { flex: 0 0 auto; min-height: 0; margin: 0; padding: 0; background: #fff; color: #a00e20; font-size: 12px; line-height: 1.45; }
#eol-chat .eol-chat-status:not(:empty) { padding: 8px 16px; }
#eol-chat .eol-chat-form { display: flex; flex: 0 0 auto; gap: 8px; margin: 0; padding: 12px 14px 10px; border: 0; background: #fff; }
#eol-chat .eol-chat-form input { display: block; flex: 1; min-width: 0; width: 100%; height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--chat-border); border-radius: 10px; outline: none; background: #fff; color: var(--chat-ink); font-size: 14px; }
#eol-chat .eol-chat-form button { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: var(--chat-red); color: #fff; font-size: 24px; }
#eol-chat .eol-chat-restart { width: calc(100% - 32px); margin: 0 16px 12px; }
#eol-chat .eol-chat-note { flex: 0 0 auto; margin: 0; padding: 10px 18px 12px; border-top: 1px solid #edf0f4; background: #fff; color: #7d8797; font-size: 10px; line-height: 1.5; }
#eol-chat .eol-chat-availability { display: block; }
#eol-chat .eol-chat-availability:not(:empty) { margin-bottom: 5px; }
#eol-chat .eol-chat-note details { margin: 0; padding: 0; font-size: 11px; }
#eol-chat .eol-chat-note summary { display: list-item; margin: 0; padding: 0; color: #657387; cursor: pointer; }
#eol-chat .eol-chat-end-dialog {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 360px;
    max-width: calc(100vw - 32px);
    height: fit-content;
    min-height: 0;
    max-height: calc(100dvh - 40px);
    margin: 0;
    padding: 20px;
    overflow: auto;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: var(--chat-ink);
    font: inherit;
    box-shadow: 0 16px 55px #18243d40;
}
#eol-chat .eol-chat-end-dialog::backdrop { background: #15202e99; }
#eol-chat .eol-chat-end-dialog h3 { margin: 0 0 8px; color: var(--chat-ink); font-size: 18px; font-weight: 700; line-height: 1.3; }
#eol-chat .eol-chat-end-dialog p { margin: 0 0 16px; color: #607085; font-size: 13px; }
#eol-chat .eol-chat-end-status:empty { display: none; }
#eol-chat .eol-chat-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
#eol-chat .eol-chat-dialog-actions button { min-height: 36px; margin: 0; padding: 7px 12px; border: 1px solid var(--chat-border); border-radius: 6px; background: #fff; color: #46556a; font: inherit; font-size: 13px; }
#eol-chat .eol-chat-dialog-actions .eol-chat-confirm-end { border-color: var(--chat-red); background: var(--chat-red); color: #fff; }
#eol-chat .eol-chat-end-status { color: #a00e20; }
#eol-chat .eol-chat-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 480px) {
    #eol-chat .eol-chat-panel { right: 10px; bottom: 76px; width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100vh - 92px); max-height: calc(100dvh - 92px); border-radius: 18px; }
    #eol-chat .eol-chat-heading { min-height: 76px; padding: 15px 18px; }
    #eol-chat .eol-chat-heading strong { font-size: 19px; }
    #eol-chat .eol-chat-heading small { font-size: 11px; }
    #eol-chat .eol-chat-onboarding { padding: 18px; }
    #eol-chat .eol-chat-registration > label > input:not([type="checkbox"]), #eol-chat .eol-chat-form input { font-size: 16px; }
    #eol-chat .eol-chat-launch { right: 14px; bottom: 14px; min-height: 48px; padding: 11px 19px; }
}
@media (prefers-reduced-motion: reduce) {
    #eol-chat * { transition: none !important; }
}
