/* Ask Resi / Ask Busi — the floating helper (T-118). Self-contained: this file and
   ask.js are droppable into any brand, which is the same rule the QR hub follows. */
.ask-dock{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;flex-direction:column;
  gap:10px;align-items:flex-end}
.ask-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#fff;
  box-shadow:0 6px 22px rgba(43,38,34,.22);display:grid;place-items:center;transition:transform .15s}
.ask-btn:hover{transform:translateY(-2px)}
.ask-btn img{width:44px;height:44px;display:block;pointer-events:none}
.ask-btn .lbl{position:absolute;right:66px;background:#2B2622;color:#fff;font:600 12px/1 sans-serif;
  padding:7px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.ask-btn:hover .lbl,.ask-btn:focus-visible .lbl{opacity:1}
.ask-panel{position:fixed;right:18px;bottom:18px;z-index:9999;width:min(380px,calc(100vw - 36px));
  max-height:min(560px,calc(100vh - 36px));background:#FBF7F0;color:#2B2622;border-radius:16px;
  box-shadow:0 18px 50px rgba(43,38,34,.3);display:flex;flex-direction:column;overflow:hidden;
  font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.ask-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;
  border-bottom:1px solid #EAE1D4}
.ask-head img{width:30px;height:30px}
.ask-head b{flex:1;font-size:.98rem}
.ask-x{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:#6E655C;padding:0 4px}
.ask-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ask-msg{max-width:86%;padding:9px 12px;border-radius:14px;font-size:.93rem;overflow-wrap:anywhere}
.ask-msg.them{background:#fff;border:1px solid #EAE1D4;align-self:flex-start;border-bottom-left-radius:4px}
.ask-msg.you{background:#2F7E77;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.ask-msg.note{align-self:center;background:none;color:#6E655C;font-size:.82rem;text-align:center;max-width:100%}
/* The door to /search/ (T-307). Reads as an offer, not as another sentence from the
   helper — a link that looks like chat gets skimmed past. */
.ask-msg.ask-door{background:#F6F1E8;border:1px solid #E2D6C4;font-size:.88rem}
.ask-msg.ask-door a{color:#2F7E77;font-weight:700;text-decoration:underline}
[data-ask-side="com"] .ask-msg.ask-door a{color:#2E5E8C}
.ask-foot{border-top:1px solid #EAE1D4;background:#fff;padding:10px;display:flex;gap:8px}
.ask-foot input{flex:1;font:inherit;padding:10px 12px;border:1px solid #EAE1D4;border-radius:22px;
  background:#FBF7F0;color:#2B2622;min-width:0}
.ask-foot input:focus{outline:2px solid #2F7E77;outline-offset:1px}
.ask-foot button{background:#2F7E77;color:#fff;border:0;border-radius:22px;padding:0 16px;
  font:inherit;font-weight:700;cursor:pointer}
.ask-foot button:disabled{opacity:.5;cursor:default}
.ask-fine{padding:0 14px 10px;color:#6E655C;font-size:.74rem;background:#fff}
[data-ask-side="com"] .ask-msg.you,[data-ask-side="com"] .ask-foot button{background:#2E5E8C}
[data-ask-side="com"] .ask-foot input:focus{outline-color:#2E5E8C}
@media (prefers-reduced-motion: reduce){.ask-btn{transition:none}.ask-btn:hover{transform:none}}

/* Soft Shawn handoff (A-133/T-288) — grows inline in the log, no form-page detour. */
.ask-help{padding:0 14px 8px;background:#fff}
.ask-help-btn{width:100%;background:none;border:1px dashed #C7BBA6;color:#6E655C;border-radius:10px;
  padding:7px;font-size:.78rem;cursor:pointer}
.ask-help-btn:hover{border-color:#2F7E77;color:#2F7E77}
[data-ask-side="com"] .ask-help-btn:hover{border-color:#2E5E8C;color:#2E5E8C}
.ask-hoform{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #EAE1D4;
  border-radius:12px;padding:10px;margin-top:2px}
.ask-hoform input,.ask-hoform textarea{font:inherit;font-size:15px;padding:8px 10px;border:1px solid #EAE1D4;
  border-radius:8px;background:#FBF7F0;color:#2B2622}
.ask-hoform button{background:#2F7E77;color:#fff;border:0;border-radius:8px;padding:8px;
  font-weight:700;cursor:pointer}
[data-ask-side="com"] .ask-hoform button{background:#2E5E8C}

/* Full-page chat (A-133/T-288) — the /ask/ landing page. Same visual language as the
   floating panel, laid out inline instead of fixed-position. */
#askPageChat{background:#FBF7F0;border:1px solid #EAE1D4;border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;min-height:420px;max-height:70vh;margin-top:1.5rem}
#askPageChat .ask-log{flex:1;min-height:220px}
#askPageChat .ask-foot input{font-size:16px}


/* Why a contact detail is being asked for (A-145, T-322). Shown only after a Send that
   could not have worked — never as a warning sitting there before anybody typed. */
.ask-hoform .ho-why{margin:2px 0 6px;font-size:.82rem;color:#8a3b2f;line-height:1.35;}

/* Three fields, two consents and a microphone (A-148, T-327). */
.ask-hoform .ho-note-wrap{position:relative;display:block;}
.ask-hoform .ho-note-wrap textarea{width:100%;box-sizing:border-box;padding-right:40px;}
/* The mic sits inside the box it dictates into, so there is no doubt what it fills. */
.ask-hoform .ho-mic{position:absolute;right:6px;bottom:8px;width:30px;height:30px;padding:0;
  border:1px solid #EAE1D4;border-radius:50%;background:#fff;cursor:pointer;font-size:14px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;}
.ask-hoform .ho-mic:hover{border-color:#2F7E77;}
.ask-hoform .ho-mic.on{background:#B5462F;border-color:#B5462F;animation:ho-pulse 1.2s ease-in-out infinite;}
@keyframes ho-pulse{0%,100%{box-shadow:0 0 0 0 rgba(181,70,47,.45);}50%{box-shadow:0 0 0 6px rgba(181,70,47,0);}}
@media (prefers-reduced-motion:reduce){.ask-hoform .ho-mic.on{animation:none;}}
/* Consent rows: the whole line is the hit area, and the text is never shrunk to hide it. */
.ask-hoform .ho-ok{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.4;
  color:#3f3a35;cursor:pointer;margin:2px 0;}
.ask-hoform .ho-ok input{margin:2px 0 0;flex:0 0 auto;width:15px;height:15px;cursor:pointer;}
.ask-hoform .ho-why{margin:2px 0 4px;font-size:12px;color:#8a3b2f;line-height:1.35;}
