/* Contact stays quiet until a visitor chooses to open it. */
[data-chat-open][hidden]{display:none!important}.contact-actions{flex-wrap:wrap}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:9px;border:1px solid #cbd6c9;background:#fff;color:var(--ink);border-radius:30px;padding:12px 18px;box-shadow:0 4px 20px #24392f12;font-size:13px;font-weight:600}.chat-launcher:hover{background:var(--soft);border-color:var(--accent)}
#contact-chat{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(420px,calc(100vw - 32px));height:min(690px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:16px;padding:0;overflow:hidden;box-shadow:0 20px 80px #14251d30}#contact-chat[open]{display:flex;flex-direction:column}#contact-chat::backdrop{background:#1b302324;backdrop-filter:blur(2px)}
.chat-head{display:flex;align-items:center;gap:12px;padding:22px 22px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.chat-head img{width:40px;height:40px;object-fit:cover;border-radius:50%;background:var(--soft)}.chat-kicker{display:block;font-size:9px;letter-spacing:.12em;color:var(--accent);margin-bottom:3px}.chat-head h2{font-size:17px;letter-spacing:-.04em}#chat-close{margin-left:auto;align-self:flex-start;min-width:36px;min-height:36px;border:0;border-radius:50%;font-size:25px;line-height:1;background:var(--soft);font-weight:300}.chat-body{flex:1;min-height:70px;overflow:auto;overscroll-behavior:contain;padding:20px 22px}.chat-body>p{font-size:13px;line-height:1.85;margin-bottom:22px}#chat-messages{display:flex;flex-direction:column;gap:14px}.chat-message{max-width:94%;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.8}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;color:inherit}.chat-message small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.chat-message.is-visitor{align-self:flex-end;background:#eaf0e7}.chat-message.is-admin{align-self:flex-start;background:#f4f3ee}
#chat-form{border-top:1px solid var(--line);padding:15px 22px 12px;flex-shrink:0}#chat-form>label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}#chat-message{display:block;width:100%;resize:vertical;min-height:78px;max-height:140px;border:1px solid #cbd5c7;border-radius:8px;background:#fff;font:14px/1.7 var(--display);padding:11px 12px;color:var(--ink);letter-spacing:-.02em}#chat-message:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#chat-message::placeholder{color:#7d867f;font-size:12px}.chat-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}#chat-count{font-size:10px;color:var(--muted)}#chat-send{font-size:12px;min-height:40px;padding:8px 14px;gap:15px}#chat-send:disabled{opacity:.45}.chat-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#chat-status{font-size:11px;line-height:1.6;margin-top:9px;overflow-wrap:anywhere}#chat-status:empty{display:none}#chat-status[data-error="true"]{color:#9e3828}
.chat-foot{padding:12px 22px 16px;border-top:1px solid var(--line);background:#fafbf8;flex-shrink:0}.chat-foot p{font-size:11px;line-height:1.7}.chat-foot>div{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:11px}.chat-foot a{text-decoration:underline;text-underline-offset:3px}#chat-reset{border:0;background:transparent;padding:0;color:var(--muted);font-size:10px}.chat-foot .chat-privacy{font-size:9px;margin-top:10px;color:#798177}
@media(max-width:600px){.chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:12px;padding:11px 15px}#contact-chat{inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;width:auto;height:min(660px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:14px}.chat-head{padding:16px 18px 14px}.chat-body{padding:16px 18px}.chat-head h2{font-size:16px}#chat-form{padding:12px 18px}#chat-message{font-size:16px;min-height:75px;max-height:105px}.chat-foot{padding:10px 18px 12px}.footer{padding-bottom:90px}}
@media(max-height:600px){#contact-chat{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);bottom:8px}.chat-head{padding:10px 16px}.chat-head img,.chat-kicker,.chat-privacy{display:none}.chat-foot{padding:8px 16px}.chat-body{padding:10px 16px;min-height:45px}#chat-intro{margin-bottom:8px}#chat-form{padding:8px 16px}#chat-message{min-height:52px;height:52px}.chat-foot>div{margin-top:4px}}
