/* Visitor chat. Inherits the public site's typefaces; no global overrides. */
.rd-chat {
    --chat-ink:var(--color-darkbrown,#2c2623);
    --chat-muted:var(--color-brown-10,#6c655a);
    --chat-paper:var(--color-white,#f4f3ef);
    --chat-surface:#fff;
    --chat-line:var(--color-brown-80,#deddda);
    --chat-accent:var(--color-brown,#5c5448);
    --chat-soft:#ebe6dd;
    --chat-focus:var(--color-red,#6e270f);
    --chat-radius:20px;
    color:var(--chat-ink);
    font:14px/1.5 var(--font-body,Arial,sans-serif);
}
.rd-chat[hidden],.rd-chat [hidden]{display:none!important}
.rd-chat *{box-sizing:border-box}
.rd-chat button,.rd-chat input,.rd-chat textarea{font:inherit}
.rd-chat button{cursor:pointer;min-height:44px;letter-spacing:normal;text-transform:none}
.rd-chat button:disabled{cursor:not-allowed;opacity:.6}
.rd-chat :focus-visible{outline:3px solid var(--chat-focus)!important;outline-offset:3px}
.rd-chat a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.rd-chat-launcher{position:fixed;z-index:1050;right:24px;bottom:24px;max-width:calc(100vw - 32px)}
.rd-chat-teaser{display:grid;gap:8px;width:286px;max-width:100%}
.rd-chat-teaser-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rd-chat-teaser-label{display:flex;align-items:center;gap:8px;background:var(--chat-surface);border:1px solid var(--chat-line);border-radius:24px;padding:7px 12px;font-size:12px;box-shadow:0 3px 16px #2c262312}
.rd-chat-teaser-label img,.rd-chat-launch img{object-fit:contain}
.rd-chat-invitation{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--chat-line);border-radius:28px;background:var(--chat-surface);color:var(--chat-ink);padding:14px 20px;box-shadow:0 6px 24px #2c262324;text-align:left;min-height:54px!important}
.rd-chat-invitation:hover,.rd-chat-launch:hover{background:var(--chat-paper)}
.rd-chat-launch{display:flex;align-items:center;gap:10px;border:1px solid var(--chat-line);border-radius:30px;background:var(--chat-surface);color:var(--chat-ink);padding:10px 18px;box-shadow:0 5px 24px #2c262324}
.rd-chat-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--chat-accent);width:44px;min-width:44px;height:44px;padding:0;font-size:24px!important}
.rd-chat-icon:hover{background:var(--chat-soft);border-color:var(--chat-line)}
.rd-chat-teaser-top .rd-chat-icon{background:var(--chat-surface);border-color:var(--chat-line);box-shadow:0 3px 12px #2c262314}
.rd-chat-dialog{position:fixed;inset:auto 24px 24px auto;margin:0;width:400px;max-width:calc(100vw - 24px);height:660px;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--chat-line);border-radius:var(--chat-radius);background:var(--chat-paper);color:var(--chat-ink);box-shadow:0 16px 64px #2c262333;overflow:auto;overscroll-behavior:contain}
.rd-chat-dialog::backdrop{background:#2c262314}
.rd-chat-panel{display:flex;flex-direction:column;min-height:100%;height:100%}
.rd-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 16px 16px 20px;background:var(--chat-surface);border-radius:var(--chat-radius) var(--chat-radius) 0 0}
.rd-chat-agent-card{display:flex;align-items:center;gap:12px;min-width:0}
.rd-chat-avatar{display:grid;place-items:center;background:var(--chat-paper);border:1px solid var(--chat-line);border-radius:50%;width:44px;height:44px;flex:none}
.rd-chat-avatar img{object-fit:contain}
.rd-chat h2{font:400 16px/1.3 var(--font-medium,var(--font-body,Arial,sans-serif));margin:0;color:var(--chat-ink);letter-spacing:normal}
.rd-chat-agent-status{font-size:11px;display:block;margin-top:4px;color:var(--chat-muted)}
.rd-chat-topbar{display:flex;flex:none}
.rd-chat-availability{font-size:11px;line-height:1.5;margin:0;padding:10px 20px;border-bottom:1px solid var(--chat-line);color:var(--chat-muted)}
.rd-chat-welcome{display:flex;flex-direction:column;flex:1;gap:20px;padding:28px 24px 16px}
.rd-chat-eyebrow{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--chat-muted);margin-bottom:10px}
.rd-chat-intro h3{font:400 38px/1.12 var(--font-serif,Georgia,serif);color:var(--chat-accent);margin:0;letter-spacing:-.025em}
.rd-chat-welcome-bubble{background:var(--chat-surface);border:1px solid var(--chat-line);padding:16px 18px;border-radius:14px 14px 14px 3px;margin:0;line-height:1.65}
.rd-chat-welcome-footer{margin-top:auto;display:grid;gap:16px;padding-top:4px}
.rd-chat-welcome-footer p{font-size:13px;line-height:1.6;color:var(--chat-muted);margin:0}
.rd-chat-welcome-footer small{font-size:11px;text-align:center;color:var(--chat-muted)}
.rd-chat-start{display:grid;gap:8px;margin:16px;padding:20px;background:var(--chat-surface);border:1px solid var(--chat-line);border-radius:16px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#bbb4aa transparent}
.rd-chat-start h3{font:400 28px/1.2 var(--font-serif,Georgia,serif);margin:0;color:var(--chat-accent)}
.rd-chat-start p{margin:0 0 12px;font-size:13px;color:var(--chat-muted)}
.rd-chat-start>label:not(.rd-chat-consent){font-size:13px;margin-top:6px}
.rd-chat-required,.rd-chat-field-error{color:#9d3828}
.rd-chat-field-error,.rd-chat-field-hint{font-size:12px;line-height:1.5}
.rd-chat-field-hint{color:var(--chat-muted)}
.rd-chat input[aria-invalid=true]{border-color:#9d3828!important}
.rd-chat input:not([type=checkbox]),.rd-chat textarea{width:100%;padding:12px 14px;border:1px solid #8d877f;border-radius:8px;background:var(--chat-surface);color:var(--chat-ink);min-height:46px}
.rd-chat input::placeholder,.rd-chat textarea::placeholder{color:var(--chat-muted);opacity:1}
.rd-chat-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.55;padding:10px 0;margin:0;cursor:pointer}
.rd-chat-consent input{margin-top:3px;min-width:18px;width:18px;height:18px;accent-color:var(--chat-accent)}
.rd-chat-primary{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;background:var(--chat-accent);color:#fff;border:1px solid var(--chat-accent);border-radius:24px;font-weight:400;min-height:46px!important}
.rd-chat-primary:hover:not(:disabled){background:var(--chat-ink);border-color:var(--chat-ink)}
.rd-chat-welcome-footer .rd-chat-primary{justify-content:space-between}
.rd-chat-welcome-footer .rd-chat-primary span{font-size:20px}
.rd-chat-conversation{position:relative;display:flex;flex-direction:column;flex:1;min-height:260px}
.rd-chat-messages{flex:1;min-height:100px;padding:20px;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#bbb4aa transparent}
.rd-chat-message{margin:0 24px 20px 0;font-size:14px;white-space:pre-wrap}
.rd-chat-message strong{font-size:11px;display:block;margin:0 0 6px;font-weight:400;color:var(--chat-muted)}
.rd-chat-message p{margin:0;padding:12px 16px;background:var(--chat-surface);border:1px solid var(--chat-line);border-radius:14px 14px 14px 3px;line-height:1.6}
.rd-chat-message[data-kind=visitor]{margin-left:24px;margin-right:0}
.rd-chat-message[data-kind=visitor] p{background:var(--chat-accent);border-color:var(--chat-accent);color:#fff;border-radius:14px 14px 3px 14px}
.rd-chat-message[data-kind=visitor] strong,.rd-chat-message[data-kind=visitor] time{text-align:right}
.rd-chat-message[data-kind=system]{margin:0 0 20px;font-size:12px;color:var(--chat-muted);text-align:center}
.rd-chat-message[data-kind=system] strong,.rd-chat-message[data-kind=system] time{display:none}
.rd-chat-message[data-kind=system] p{background:transparent;border:0;padding:0}
.rd-chat-message a{display:block;font-size:12px;padding:8px 0 0}
.rd-chat-message time{display:block;font-size:10px;margin-top:6px;color:var(--chat-muted)}
.rd-chat-status{font-size:11px;min-height:18px;padding:0 20px;margin:4px 0 10px;color:var(--chat-muted)}
.rd-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 16px 12px;background:var(--chat-surface);border-top:1px solid var(--chat-line)}
.rd-chat-compose label{font-size:12px;grid-column:1/-1}
.rd-chat-compose textarea{resize:none;height:74px;min-height:74px;line-height:1.5}
.rd-chat-compose .rd-chat-primary{align-self:end;max-width:82px;border-radius:10px;padding:12px;line-height:1.25}
.rd-chat-actions{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 10px 8px;background:var(--chat-surface);gap:4px;border-radius:0 0 var(--chat-radius) var(--chat-radius)}
.rd-chat-actions button{background:transparent;border:0;color:var(--chat-accent);font-size:12px;padding:8px 10px;text-decoration:underline;text-underline-offset:3px}
.rd-chat-actions [data-chat-end]{color:#8b3330}
.rd-chat-latest{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:1;white-space:nowrap;border:1px solid var(--chat-line);border-radius:24px;padding:8px 16px;background:var(--chat-surface);color:var(--chat-ink);box-shadow:0 4px 16px #2c26231a;font-size:12px!important}
.rd-chat-error{flex:none;padding:12px 16px;background:#fff0eb;border-left:3px solid #9d3828;color:#842c15;font-size:12px;margin:12px 16px 0;overflow-wrap:anywhere}
@media(max-width:1200px){.rd-chat-launcher{bottom:calc(76px + env(safe-area-inset-bottom));right:16px}.rd-chat-dialog{bottom:16px;right:12px}}
@media(max-width:480px){.rd-chat-dialog{width:calc(100vw - 24px)}.rd-chat-launcher{right:12px}.rd-chat-teaser{width:264px}.rd-chat-header{padding:16px 12px}.rd-chat-agent-card{gap:8px}.rd-chat h2{font-size:14px}.rd-chat-agent-status{font-size:10px}.rd-chat-start{padding:20px}.rd-chat input:not([type=checkbox]),.rd-chat textarea{font-size:16px}.rd-chat-welcome{padding:24px 20px 16px}.rd-chat-messages{padding:16px}.rd-chat-compose{gap:8px}.rd-chat-agent-card>div{min-width:0}}
@media(max-height:680px){.rd-chat-dialog{height:calc(100dvh - 32px)}.rd-chat-welcome{gap:16px;padding-top:18px}.rd-chat-intro h3{font-size:30px}.rd-chat-welcome-footer{gap:12px}.rd-chat-header{padding-top:12px;padding-bottom:12px}.rd-chat-conversation{min-height:260px}}
@media(prefers-reduced-motion:reduce){.rd-chat *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
