/* Zoe Clean website chatbot — isolated from Phlox/Elementor and WhatsApp widget. */
#zoe-chatbot{position:relative;z-index:9999;font-family:Inter,"Segoe UI",Arial,sans-serif;letter-spacing:normal}
#zoe-chatbot *{box-sizing:border-box}
#zoe-chatbot [hidden]{display:none!important}
#zoe-chatbot .zoe-chat-toggle{position:fixed;right:17px;bottom:100px;z-index:9998;display:flex;align-items:center;gap:9px;min-height:51px;padding:10px 18px;background:linear-gradient(130deg,#057ab6,#00a9df);color:#fff;border:1px solid rgba(255,255,255,.8);border-radius:32px;box-shadow:0 9px 29px rgba(3,46,82,.24);font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
#zoe-chatbot .zoe-chat-toggle:hover{transform:translateY(-2px);box-shadow:0 13px 31px rgba(3,46,82,.33)}
#zoe-chatbot .zoe-chat-toggle:focus-visible,#zoe-chatbot button:focus-visible,#zoe-chatbot a:focus-visible,#zoe-chatbot input:focus-visible,#zoe-chatbot textarea:focus-visible,#zoe-chatbot select:focus-visible{outline:3px solid #36ccff;outline-offset:2px}
#zoe-chatbot .zoe-chat-toggle-icon{width:25px;height:25px;display:grid;place-items:center;background:#ffffff29;border-radius:50%;font-size:20px;line-height:1}
#zoe-chatbot .zoe-chat-panel{position:fixed;z-index:9999;right:16px;bottom:158px;width:min(398px,calc(100vw - 32px));height:min(630px,calc(100dvh - 190px));min-height:350px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d1e9f5;border-radius:20px;background:#fff;box-shadow:0 22px 65px rgba(3,31,61,.3);color:#0a2a47;font-size:14px}
#zoe-chatbot .zoe-chat-header{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(115deg,#074675,#068cc3);color:#fff}
#zoe-chatbot .zoe-chat-mark{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.24);font-size:22px;font-weight:900;color:#fff}
#zoe-chatbot .zoe-chat-header-copy{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
#zoe-chatbot .zoe-chat-header-copy strong{font-size:15px;color:#fff}
#zoe-chatbot .zoe-chat-header-copy small{font-size:10.5px;line-height:1.3;color:#dff8ff;margin-top:4px}
#zoe-chatbot .zoe-chat-close{border:0;background:rgba(255,255,255,.16);color:#fff;font-weight:600;font-size:26px;line-height:1;cursor:pointer;border-radius:10px;width:34px;height:34px;display:grid;place-items:center}
#zoe-chatbot .zoe-chat-content{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px 14px 19px;scrollbar-width:thin}
#zoe-chatbot .zoe-chat-log{display:flex;flex-direction:column;gap:13px;padding-bottom:8px}
#zoe-chatbot .zoe-chat-message{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#zoe-chatbot .zoe-chat-message.zoe-chat-user{align-items:flex-end}
#zoe-chatbot .zoe-chat-author{font-size:10px;font-weight:800;color:#5a7285;margin:0 5px}
#zoe-chatbot .zoe-chat-bubble{max-width:96%;white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f8fc;padding:12px 14px;border-radius:15px 15px 15px 3px;color:#213e57;font-size:13px;line-height:1.6;border:1px solid #e0f0f7}
#zoe-chatbot .zoe-chat-user .zoe-chat-bubble{background:#0a84bc;border-color:#0a84bc;color:#fff;border-radius:15px 15px 3px 15px}
#zoe-chatbot .zoe-chat-links{display:flex;gap:6px;flex-wrap:wrap;max-width:97%;margin-top:2px}
#zoe-chatbot .zoe-chat-links a{display:inline-block;text-decoration:none;background:#e7f7ff;border:1px solid #b7e3fa;color:#006caa;padding:6px 9px;border-radius:10px;font-size:11px;font-weight:750}
#zoe-chatbot .zoe-chat-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:11px;border-top:1px solid #e6eef4}
#zoe-chatbot .zoe-chat-chip{background:#f6fbfe;color:#076a9f;border:1px solid #cde7f3;font-size:11px;font-weight:750;padding:7px 10px;border-radius:20px;line-height:1.4;text-align:left;cursor:pointer}
#zoe-chatbot .zoe-chat-chip:hover{background:#e8f7ff}
#zoe-chatbot .zoe-chat-question-form{margin-top:15px}
#zoe-chatbot .zoe-chat-input-label{display:block;font-size:11px;font-weight:800;color:#164267;margin-bottom:5px}
#zoe-chatbot .zoe-chat-input-wrap{display:flex;gap:5px}
#zoe-chatbot .zoe-chat-input-wrap input{flex:1;min-width:0;height:42px;padding:9px 11px;border:1px solid #cddde8;border-radius:10px;color:#183b56;background:#fff;font-size:12.5px}
#zoe-chatbot .zoe-chat-input-wrap button,#zoe-chatbot .zoe-chat-send-lead{background:#078cc5;color:#fff;font-size:12px;font-weight:850;border:0;border-radius:10px;cursor:pointer;padding:10px 13px}
#zoe-chatbot .zoe-chat-enquiry-toggle{width:100%;margin-top:13px;border:1px solid #9bd6ee;background:#eaf7fc;color:#086a9f;border-radius:11px;padding:11px 12px;font-size:12.5px;font-weight:850;cursor:pointer}
#zoe-chatbot .zoe-chat-enquiry{margin-top:12px;border-top:1px solid #dceaf2;padding-top:13px}
#zoe-chatbot .zoe-chat-enquiry-heading h3{font-size:17px;font-weight:850;margin:0 0 5px;color:#0a3157;line-height:1.25}
#zoe-chatbot .zoe-chat-enquiry-heading p{font-size:11.5px;line-height:1.5;color:#5a7387;margin:0 0 13px}
#zoe-chatbot .zoe-chat-lead-form{display:grid;gap:10px}
#zoe-chatbot .zoe-chat-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
#zoe-chatbot .zoe-chat-lead-form label{min-width:0;display:block;color:#264861;font-size:11px;font-weight:800;line-height:1.5}
#zoe-chatbot .zoe-chat-lead-form label>span:not(.zoe-chat-consent span){color:#da3b4b}
#zoe-chatbot .zoe-chat-lead-form input:not([type=checkbox]),#zoe-chatbot .zoe-chat-lead-form select,#zoe-chatbot .zoe-chat-lead-form textarea{width:100%;max-width:100%;display:block;margin-top:5px;padding:9px 10px;background:#fff;border:1px solid #cbdce7;border-radius:8px;color:#1b3b55;font-size:12px;font-weight:400;min-height:38px;line-height:1.35}
#zoe-chatbot .zoe-chat-lead-form textarea{resize:vertical;min-height:80px}
#zoe-chatbot .zoe-chat-lead-form .zoe-chat-hp{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
#zoe-chatbot .zoe-chat-consent{display:flex!important;gap:9px;align-items:flex-start;font-size:10.5px!important;font-weight:500!important;color:#546c7d!important}
#zoe-chatbot .zoe-chat-consent input{margin-top:3px;flex:none}
#zoe-chatbot .zoe-chat-consent a{color:#077cbd;text-decoration:underline;font-weight:750}
#zoe-chatbot .zoe-chat-security{font-size:10.5px;color:#567389;background:#f5f9fc;border-left:3px solid #06a0d8;padding:9px;margin:0}
#zoe-chatbot .zoe-chat-send-lead{width:100%;min-height:42px;margin-bottom:4px}
#zoe-chatbot .zoe-chat-send-lead:disabled{opacity:.6;cursor:wait}
#zoe-chatbot .zoe-chat-result{font-size:11.5px;line-height:1.5}
#zoe-chatbot .zoe-chat-result.is-success{color:#087645;background:#e7f7ed;padding:8px;border-radius:8px}
#zoe-chatbot .zoe-chat-result.is-error{color:#a51f25;background:#fff0f1;padding:8px;border-radius:8px}
@media(max-width:600px){#zoe-chatbot .zoe-chat-toggle{right:14px;bottom:93px;min-height:47px;padding:8px 13px;font-size:12px}#zoe-chatbot .zoe-chat-panel{right:8px;bottom:148px;width:calc(100vw - 16px);height:min(660px,calc(100dvh - 165px));min-height:260px;border-radius:18px}#zoe-chatbot .zoe-chat-header{padding:13px}#zoe-chatbot .zoe-chat-content{padding:12px}}
@media(max-width:365px){#zoe-chatbot .zoe-chat-two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#zoe-chatbot .zoe-chat-toggle{transition:none}#zoe-chatbot .zoe-chat-toggle:hover{transform:none}}
