.h2oh-ai textarea { display:block; width:min(100%,760px); margin:8px 0 16px; }
.h2oh-ai label { display:block; margin-top:18px; font-weight:600; }
.h2oh-ai pre { max-width:760px; overflow:auto; white-space:pre-wrap; padding:14px; background:#f4f6f8; border:1px solid #c9d3dc; }
.h2oh-ai-chat { max-width:680px; padding:24px; border:1px solid #9fc7da; border-radius:12px; background:#fff; color:#11334c; }
.h2oh-ai-chat textarea { display:block; box-sizing:border-box; width:100%; min-height:72px; margin:8px 0; }
.h2oh-ai-chat .h2oh-ai-messages { max-height:340px; overflow:auto; }
.h2oh-ai-chat .h2oh-ai-messages p { padding:10px 12px; background:#eff7fa; border-radius:8px; overflow-wrap:anywhere; white-space:pre-wrap; }
.h2oh-ai-chat button { padding:10px 18px; cursor:pointer; }
.h2oh-ai-chat .h2oh-ai-estimate { margin:14px 0; padding:16px; border:2px solid #087f8c; border-radius:10px; background:#f8fcfc; }
.h2oh-ai-estimate table { width:100%; border-collapse:collapse; font-size:.94em; }
.h2oh-ai-estimate th,.h2oh-ai-estimate td { text-align:left; padding:6px; border-bottom:1px solid #d4e6e8; }
.h2oh-ai-estimate td { text-align:right; white-space:nowrap; }
.h2oh-ai-estimate .h2oh-ai-total { display:flex; justify-content:space-between; gap:12px; background:none; padding:6px 0; }
.h2oh-ai-estimate a { display:inline-block; padding:10px 14px; border-radius:7px; color:white; background:#075469; }
.h2oh-ai-dock { position:fixed; right:18px; bottom:18px; z-index:2147483000!important; isolation:isolate; pointer-events:none; }
.h2oh-ai-launch { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:5px; width:136px; max-width:calc(100vw - 20px); height:54px; background:#c94355; border:2px solid white; border-radius:999px; color:white; padding:7px 8px; font:700 11px/1.1 system-ui,sans-serif; text-align:center; white-space:nowrap; box-shadow:0 3px 14px #12384455; cursor:pointer; pointer-events:auto; touch-action:manipulation; }
.h2oh-ai-launch small { display:block; font-size:11px; font-weight:500; opacity:.92; margin-top:3px; }
.h2oh-ai-bubble { font-size:23px; line-height:1; }
.h2oh-ai-launch-full { display:inline; }
.h2oh-ai-launch-short,.h2oh-ai-launch small { display:none; }
.h2oh-ai-launch[aria-expanded="true"] { display:none; }
.h2oh-ai-dock-panel { position:fixed; right:16px; bottom:16px; display:flex; flex-direction:column; width:min(420px,calc(100vw - 24px)); height:min(80vh,780px); height:min(80dvh,780px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:hidden; pointer-events:auto; background:white; box-shadow:0 10px 34px #12384477; border-radius:12px; font:15px/1.45 system-ui,sans-serif; }
.h2oh-ai-dock-panel[hidden] { display:none; }
.h2oh-ai-dock-panel .h2oh-ai-chat { display:flex; flex:1; min-height:0; flex-direction:column; max-width:none; border:0; padding:14px; overflow:hidden; }
.h2oh-ai-dock-panel .h2oh-ai-chat .h2oh-ai-messages { display:block; flex:1 1 0; height:0; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; }
body.h2oh-ai-sitewide .h2oh-ai-dock-panel .h2oh-ai-chat .h2oh-ai-messages { flex:1 1 0!important; height:0!important; min-height:0!important; max-height:none!important; overflow-y:scroll!important; overflow-x:hidden!important; overscroll-behavior-y:contain!important; -webkit-overflow-scrolling:touch; touch-action:pan-y!important; }
.h2oh-ai-dock-panel .h2oh-ai-chat form { flex:none; padding:8px 0; background:#fff; border-top:1px solid #dce9ed; }
.h2oh-ai-dock-panel .h2oh-ai-chat form label { margin-top:0; }
.h2oh-ai-dock-panel .h2oh-ai-chat form textarea { min-height:58px; max-height:110px; resize:vertical; }
.h2oh-ai-dock-panel .h2oh-ai-chat.h2oh-ai-has-conversation .h2oh-ai-intro { display:none; }
.h2oh-ai-dock-panel .h2oh-ai-chat.h2oh-ai-has-conversation .h2oh-ai-privacy { font-size:12px; line-height:1.35; margin:4px 0 10px; }
.h2oh-ai-dock-panel .h2oh-ai-chat.h2oh-ai-has-conversation .h2oh-ai-links { font-size:12px; margin:5px 0; }
.h2oh-ai-dock-panel .h2oh-ai-chat h2 { font:700 23px/1.2 system-ui,sans-serif; margin:10px 0 12px; }
.h2oh-ai-dock-panel .h2oh-ai-chat button[type="submit"] { background:#075469; color:white; border:0; border-radius:8px; font-weight:700; }
.h2oh-ai-dock-panel .h2oh-ai-chat textarea { border:1px solid #92b4bf; border-radius:7px; padding:10px; font:inherit; }
.h2oh-ai-toolbar { flex:none; display:flex; justify-content:space-between; padding:8px; background:#fff; border-bottom:1px solid #e5eff1; }
.h2oh-ai-toolbar button { border:0; border-radius:6px; background:#edf5f6; color:#123844; padding:7px 10px; cursor:pointer; font:inherit; }
.h2oh-ai-sitewide .chatboxButton[data-chatlio="true"] { display:none !important; }
/* Keep the four corner actions aligned as one set. */
body.h2oh-ai-sitewide .h2r-floating-inquiry,
body.h2oh-ai-sitewide .floatingWhatsApp,
body.h2oh-ai-sitewide #captain-launch,
body.h2oh-ai-sitewide .h2oh-ai-launch {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  width:176px; height:54px; border:2px solid #fff!important; border-radius:999px;
  padding:6px 10px; gap:6px; white-space:nowrap;
  font:700 13px/1.15 Arial,Helvetica,sans-serif;
  box-shadow:0 4px 18px #07384633;
}
body.h2oh-ai-sitewide .h2r-floating-inquiry { left:16px!important; bottom:82px!important; }
body.h2oh-ai-sitewide .floatingWhatsApp { right:16px!important; bottom:82px!important; }
body.h2oh-ai-sitewide .floatingWhatsApp { background:#22a35a!important; color:#fff!important; }
body.h2oh-ai-sitewide .floatingWhatsApp, body.h2oh-ai-sitewide .floatingWhatsApp * { color:#fff!important; }
body.h2oh-ai-sitewide .h2oh-ai-launch[aria-expanded="true"] { display:none!important; }
body.h2oh-ai-sitewide #captain-launch { left:16px!important; bottom:16px!important; }
body.h2oh-ai-sitewide .h2oh-ai-dock { right:16px!important; bottom:16px!important; }
body.h2oh-ai-sitewide #captain-launch .captain-thumb { width:40px; height:40px; flex:0 0 40px; }
body.h2oh-ai-sitewide .h2oh-ai-bubble { font-size:20px; }
@media(max-width:600px){
  .h2oh-ai-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
  .h2oh-ai-launch{width:136px;height:54px;padding:7px 8px;gap:5px;font-size:11px;border-radius:999px}
  .h2oh-ai-launch-full{display:inline}
  .h2oh-ai-launch-short,.h2oh-ai-launch small{display:none}
  .h2oh-ai-bubble{font-size:20px}
  .h2oh-ai-dock-panel{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);height:min(78vh,720px);height:min(78dvh,720px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}
  .h2oh-ai-dock-panel .h2oh-ai-chat p,.h2oh-ai-dock-panel .h2oh-ai-chat label{font-size:15px;line-height:1.45}
  body.h2oh-ai-sitewide .h2r-floating-inquiry,
  body.h2oh-ai-sitewide .floatingWhatsApp,
  body.h2oh-ai-sitewide #captain-launch,
  body.h2oh-ai-sitewide .h2oh-ai-launch { width:min(176px,calc((100vw - 30px)/2)); height:54px; padding:6px; font-size:11px; gap:4px; }
  body.h2oh-ai-sitewide .h2r-floating-inquiry { left:10px!important; bottom:76px!important; }
  body.h2oh-ai-sitewide .floatingWhatsApp { right:10px!important; bottom:76px!important; }
  /* Mobile theme hides the WhatsApp artwork while leaving its link clickable. */
  html body.h2oh-ai-sitewide .floatingWhatsApp {
    display:flex!important; visibility:visible!important; opacity:1!important;
    position:fixed!important; z-index:2147483002!important;
    background:#22a35a!important; color:#fff!important;
    border:2px solid #fff!important; box-shadow:0 4px 18px #07384655!important;
    text-decoration:none!important; font-size:0!important;
  }
  html body.h2oh-ai-sitewide .floatingWhatsApp > * { display:none!important; }
  html body.h2oh-ai-sitewide .floatingWhatsApp::before {
    content:'☎'; display:inline-block; font:700 20px/1 Arial,sans-serif;
    color:#fff; margin-right:6px;
  }
  html body.h2oh-ai-sitewide .floatingWhatsApp::after {
    content:'WhatsApp'; display:inline-block; font:700 12px/1 Arial,sans-serif;
    color:#fff;
  }
  body.h2oh-ai-sitewide #captain-launch { left:10px!important; bottom:10px!important; max-width:none!important; overflow:hidden; }
  body.h2oh-ai-sitewide .h2oh-ai-dock { right:10px!important; bottom:max(10px,env(safe-area-inset-bottom))!important; }
  body.h2oh-ai-sitewide #captain-launch .captain-thumb { width:34px; height:34px; flex-basis:34px; }
  body.h2oh-ai-sitewide .h2oh-ai-bubble { font-size:18px; }
}