
/* On-brand, fully local concierge messaging */
.re-chat{--chat-accent:#c4a77d;--chat-dark:#101310;--chat-paper:#f6f2ea;--chat-title:Georgia,serif;position:fixed;right:24px;bottom:24px;z-index:99990;color:var(--chat-dark);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}
.re-chat[data-theme="2"]{--chat-accent:#b86c50;--chat-dark:#27231f;--chat-paper:#f3f0e9;--chat-title:Georgia,serif}
.re-chat[data-theme="3"]{--chat-accent:#315dfa;--chat-dark:#101d32;--chat-paper:#fafbfc;--chat-title:Arial,Helvetica,sans-serif}
.re-chat *{box-sizing:border-box}.re-chat button,.re-chat input{font:inherit}.re-chat button{cursor:pointer}
.re-chat-toggle{display:flex;align-items:center;gap:11px;background:var(--chat-dark);color:#fff;border:1px solid var(--chat-accent);box-shadow:0 14px 40px #0003;padding:15px 19px;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;transition:transform .2s,box-shadow .2s}
.re-chat[data-theme="2"] .re-chat-toggle{border-radius:45px;background:var(--chat-accent)}
.re-chat[data-theme="3"] .re-chat-toggle{background:var(--chat-accent);border-color:var(--chat-accent);border-radius:16px}
.re-chat-toggle:hover{transform:translateY(-3px);box-shadow:0 20px 45px #0004}.re-chat-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.re-chat-panel{width:min(390px,calc(100vw - 28px));height:min(570px,calc(100dvh - 104px));min-height:355px;position:absolute;right:0;bottom:67px;display:flex;flex-direction:column;background:#fff;box-shadow:0 20px 80px #0004;border:1px solid #e3ded5;overflow:hidden;border-radius:9px;animation:chatEnter .22s ease-out}
.re-chat[data-theme="2"] .re-chat-panel{border-radius:19px}.re-chat[data-theme="3"] .re-chat-panel{border-radius:20px;border-color:#d8dee8}
.re-chat-panel[hidden],.re-chat-name[hidden],.re-chat-conversation[hidden]{display:none!important}
.re-chat-head{background:var(--chat-dark);color:#fff;padding:20px 20px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.re-chat[data-theme="2"] .re-chat-head{background:var(--chat-paper);color:var(--chat-dark);border-bottom:1px solid #dacfc3}
.re-chat[data-theme="3"] .re-chat-head{background:var(--chat-dark)}
.re-chat-head strong{font:400 23px/1.1 var(--chat-title);letter-spacing:-.035em}.re-chat[data-theme="3"] .re-chat-head strong{font-weight:750}.re-chat-head small{display:block;letter-spacing:.14em;text-transform:uppercase;font-size:9px;margin-bottom:5px;color:var(--chat-accent)}
.re-chat-close{border:1px solid #ffffff55;background:transparent;color:inherit;width:35px;height:35px;border-radius:50%;font-size:22px;display:grid;place-items:center;line-height:1}
.re-chat[data-theme="2"] .re-chat-close{border-color:#b9a79b}
.re-chat-name{flex:1;padding:34px 25px 25px;background:var(--chat-paper);display:flex;flex-direction:column;justify-content:center}
.re-chat-name h3{font:400 32px/1.05 var(--chat-title);margin:0 0 16px;color:var(--chat-dark);letter-spacing:-.04em}.re-chat[data-theme="3"] .re-chat-name h3{font-weight:750}
.re-chat-name p{font-size:13px;color:#6f6c66;line-height:1.6;margin:0 0 26px}
.re-chat-name label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:9px;color:var(--chat-dark)}
.re-chat-name input,.re-chat-composer input{min-width:0;width:100%;border:1px solid #c9c3bc;outline:none;border-radius:3px;background:white;color:#262626;padding:14px;font-size:14px}
.re-chat-name input:focus,.re-chat-composer input:focus{border-color:var(--chat-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--chat-accent) 20%,transparent)}
.re-chat-start,.re-chat-send{border:0;background:var(--chat-dark);color:#fff;padding:15px 18px;margin-top:13px;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}
.re-chat[data-theme="2"] .re-chat-start,.re-chat[data-theme="2"] .re-chat-send{background:var(--chat-accent)}
.re-chat[data-theme="3"] .re-chat-start,.re-chat[data-theme="3"] .re-chat-send{background:var(--chat-accent);border-radius:8px}
.re-chat-conversation{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--chat-paper)}
.re-chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:20px 15px}
.re-chat-message{max-width:88%;padding:12px 14px;border-radius:12px 12px 12px 3px;align-self:flex-start;background:#fff;color:var(--chat-dark);box-shadow:0 2px 10px #0000000c;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.re-chat-message.from-visitor{align-self:flex-end;border-radius:12px 12px 3px 12px;background:var(--chat-dark);color:#fff}
.re-chat[data-theme="3"] .re-chat-message.from-visitor{background:var(--chat-accent)}
.re-chat-message span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.12em;opacity:.65;margin-bottom:5px}
.re-chat-suggestions{display:flex;gap:7px;overflow-x:auto;padding:0 14px 12px;scrollbar-width:thin}
.re-chat-suggestions button{flex:none;background:transparent;border:1px solid #bbb3a6;border-radius:25px;color:var(--chat-dark);padding:7px 10px;font-size:11px}
.re-chat-composer{display:flex;align-items:center;gap:7px;padding:12px;background:#fff;border-top:1px solid #e9e7e2}
.re-chat-composer input{border:none;padding:10px 8px;box-shadow:none!important}.re-chat-composer input:focus{outline:2px solid var(--chat-accent);outline-offset:-2px}
.re-chat-send{padding:11px 14px;margin:0;flex:none}
.re-chat-notice{text-align:center;font-size:10px;color:#666;line-height:1.4;padding:8px 10px;background:#fff;border-top:1px solid #eee}
.re-chat-toggle:focus-visible,.re-chat button:focus-visible{outline:3px solid var(--chat-accent);outline-offset:3px}
@keyframes chatEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.re-chat{right:13px;bottom:14px}.re-chat-panel{bottom:64px;width:calc(100vw - 26px);height:min(560px,calc(100dvh - 100px))}.re-chat-toggle{padding:13px 15px}}
@media(prefers-reduced-motion:reduce){.re-chat *{animation:none!important;transition:none!important}}
