/* Site assistant: chat button in the action bar (build.py action_bar) and the panel site.js builds. */
.action-bar .action-link.is-chat{color:#f4f1e9;cursor:pointer;font:inherit}
.action-bar .action-link.is-chat::before{background:rgba(39,47,41,.92)}
.chat-panel{position:fixed;right:22px;bottom:96px;z-index:70;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 130px));display:flex;flex-direction:column;background:#fbfaf6;color:#292e28;border:1px solid #d7d4c8;box-shadow:0 24px 60px rgba(25,36,30,.22);font:15px/1.5 Arial,Helvetica,sans-serif}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #d7d4c8;background:#272f29;color:#f4f1e9}
.chat-head b{font:400 17px/1.2 Georgia,'Times New Roman',serif;flex:1}
.chat-head button{background:transparent;border:0;color:#f4f1e9;font:inherit;font-size:13px;cursor:pointer;padding:4px 6px;opacity:.85}
.chat-head button:hover,.chat-head button:focus-visible{opacity:1;text-decoration:underline}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.chat-msg{max-width:88%;padding:10px 13px;overflow-wrap:anywhere;white-space:pre-line}
.chat-msg.is-bot{align-self:flex-start;background:#fff;border:1px solid #d7d4c8}
.chat-msg.is-me{align-self:flex-end;background:#272f29;color:#f4f1e9}
.chat-msg a{color:#272f29;text-decoration:underline;text-decoration-color:#c3aa7b;text-underline-offset:2px}
.chat-msg.is-wait{color:#65675f;font-style:italic}
.chat-note{margin:0;padding:8px 16px;font-size:11px;line-height:1.4;color:#65675f;border-top:1px solid #d7d4c8}
.chat-note a{color:#65675f}
.chat-enquiry{display:block;margin:0 16px 8px;font-size:13px;color:#272f29}
.chat-form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #d7d4c8}
.chat-form textarea{flex:1;min-width:0;resize:none;height:44px;max-height:120px;border:1px solid #d7d4c8;background:#fff;padding:10px 12px;font:inherit;color:inherit}
.chat-form button{background:#272f29;color:#f4f1e9;border:0;padding:0 16px;font:inherit;font-weight:700;cursor:pointer}
.chat-form button:disabled{opacity:.5;cursor:default}
.chat-form textarea:focus-visible,.chat-form button:focus-visible{outline:2px solid #c3aa7b;outline-offset:1px}
/* Quick-start chips, project card and contact step */
.chat-quick{display:flex;flex-wrap:wrap;gap:6px}
.chat-chip{border:1px solid #d7d4c8;background:#fff;color:#292e28;padding:7px 11px;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.chat-chip:hover,.chat-chip[aria-pressed=true]{background:#272f29;color:#f4f1e9;border-color:#272f29}
.chat-msg.is-system{border-left:3px solid #c3aa7b}
.chat-card{border-top:1px solid #d7d4c8;padding:0 16px;max-height:42%;overflow-y:auto;background:#f4f1e9}
.chat-card summary{cursor:pointer;padding:10px 0;font:400 15px Georgia,'Times New Roman',serif}
.chat-count{color:#8f7a50}
.chat-hint{margin:0 0 8px;font-size:12px;color:#65675f}
.chat-fields{display:grid;gap:6px;margin-bottom:10px}
.chat-fields label{display:grid;gap:2px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#65675f}
.chat-fields textarea{font:inherit;font-size:14px;text-transform:none;letter-spacing:0;color:#292e28;border:1px solid #d7d4c8;background:#fff;padding:6px 8px;resize:vertical;min-height:32px}
.chat-send-brief,.chat-confirm{background:#272f29;color:#f4f1e9;border:0;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;margin-bottom:12px}
.chat-send-brief:disabled,.chat-confirm:disabled{opacity:.45;cursor:default}
.chat-contact{display:grid;gap:8px;padding:12px 16px;border-top:1px solid #d7d4c8;background:#fbfaf6;overflow-y:auto;max-height:55%}
.chat-contact[hidden]{display:none}
.chat-contact b{font:400 16px Georgia,'Times New Roman',serif}
.chat-contact label{display:grid;gap:3px;font-size:12px;color:#65675f}
.chat-contact input:not([type=checkbox]){font:inherit;border:1px solid #d7d4c8;background:#fff;padding:8px 10px;color:#292e28}
.chat-consent{display:flex!important;gap:8px;align-items:flex-start}
.chat-consent a{color:#292e28}
.chat-actions{display:flex;gap:8px;align-items:center}
.chat-back{background:transparent;border:1px solid #d7d4c8;padding:9px 12px;font:inherit;cursor:pointer;margin-bottom:12px}
.chat-contact .error{color:#942d26;font-size:13px;margin:0}
.chat-contact .error:empty{display:none}
.chat-panel .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chat-chip:focus-visible,.chat-send-brief:focus-visible,.chat-confirm:focus-visible,.chat-back:focus-visible,.chat-fields textarea:focus-visible{outline:2px solid #c3aa7b;outline-offset:1px}
/* Phone: full-screen panel that respects notches and the on-screen keyboard */
@media(max-width:560px){
 .chat-panel{inset:0;width:auto;height:100dvh;border:0;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}
 .chat-head button{font-size:15px;padding:8px}
 html.chat-is-open .action-bar{display:none}
 html.chat-is-open,html.chat-is-open body{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.chat-panel *{transition:none!important}}
