/* Scope every rule to Ask Emily; no existing homepage/card styles altered. */
.ask-on-search .ask-launcher{position:fixed;right:1rem;bottom:1rem;z-index:20}
.ask-on-search .ask-chat{top:auto;bottom:5.8rem;max-height:min(650px,calc(100svh - 7rem))}
@media(max-width:760px){.ask-on-search .ask-launcher{right:.7rem;bottom:.7rem}.ask-on-search .ask-chat{top:5.5rem;bottom:5rem;max-height:none}}
.ask-launcher,.ask-chat button,.ask-chat input{font:inherit}
.ask-launcher{position:absolute;right:1.4rem;bottom:174px;z-index:8;display:flex;align-items:center;gap:.6rem;padding:.35rem .9rem .35rem .35rem;max-width:210px;border:2px solid #ead9ba;border-radius:100px;background:#fffdf7;color:#253d2d;box-shadow:0 8px 22px #16291b8c;font-weight:750;line-height:1.1;cursor:pointer}
.ask-launcher:hover,.ask-launcher:focus-visible{outline:3px solid #c4a46e;outline-offset:2px}
.ask-avatar{display:block;width:52px;height:52px;flex:none;object-fit:cover;object-position:50% 23%;border-radius:50%;background:#efe7d9}
.ask-launcher small{display:block;font-size:.67rem;margin-top:.16rem;font-weight:650}
.ask-chat[hidden]{display:none!important}
.ask-chat{position:fixed;z-index:30;right:1rem;top:9rem;width:min(400px,calc(100vw - 2rem));max-height:calc(100svh - 10rem);display:flex;flex-direction:column;overflow:hidden;border:1px solid #b6c3af;border-radius:16px;background:#fffdf8;color:#273028;box-shadow:0 12px 38px #17271d70;font:14px/1.45 system-ui,sans-serif}
.ask-chat *{box-sizing:border-box}
.ask-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ask-head{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;background:#2c3f31;color:#fff}
.ask-head .ask-avatar{width:42px;height:42px}
.ask-head strong{display:block;font-size:1rem;line-height:1.2}
.ask-head small{font-size:.75rem}
.ask-close{margin-left:auto;min-width:42px;min-height:42px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}
.ask-close:hover,.ask-close:focus-visible{outline:2px solid #fff;background:#ffffff28}
.ask-notice{margin:0;padding:.65rem .8rem;background:#f5efe1;border-bottom:1px solid #d8d4c7;font-size:.75rem;line-height:1.35}
.ask-notice a{color:#204e30;font-weight:700;text-decoration:underline}
.ask-start-area[hidden],.ask-interaction[hidden]{display:none!important}
.ask-start-area{padding:1rem .8rem;display:flex;justify-content:center}
.ask-start{min-height:44px;padding:.6rem 1rem;border:0;border-radius:6px;background:#283b2e;color:#fff;font-weight:700;cursor:pointer}
.ask-start:hover,.ask-start:focus-visible{outline:3px solid #aa8a52;outline-offset:2px}
.ask-start:disabled{opacity:.6;cursor:not-allowed}
.ask-interaction{min-height:0;display:flex;flex:1;flex-direction:column}
.ask-messages{min-height:100px;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;padding:.85rem}
.ask-message{max-width:95%;padding:.6rem .75rem;border-radius:10px;overflow-wrap:anywhere;white-space:pre-wrap}
.ask-message.assistant{align-self:flex-start;background:#efefe9}
.ask-message.visitor{align-self:flex-end;background:#dce9db}
.ask-message a{display:block;margin-top:.5rem;color:#1b5130;font-weight:700;text-decoration:underline}
.ask-choices{display:flex;gap:.35rem;overflow-x:auto;padding:.45rem .7rem;border-top:1px solid #dedbd1}
.ask-choices button{flex:none;min-height:38px;padding:.35rem .6rem;border:1px solid #aabaad;border-radius:100px;background:#fff;color:#264632;font-size:.76rem;cursor:pointer}
.ask-choices button:hover,.ask-choices button:focus-visible{outline:2px solid #809b81}
.ask-composer{display:flex;gap:.4rem;padding:.55rem .7rem;border-top:1px solid #dedbd1}
.ask-composer input{flex:1;min-width:0;min-height:42px;padding:.45rem .6rem;border:1px solid #9fa99b;border-radius:6px;color:#273028;background:#fff;font-size:.85rem}
.ask-composer button{min-width:56px;min-height:42px;padding:.45rem;border:0;border-radius:6px;background:#283b2e;color:#fff;font-weight:700;cursor:pointer}
.ask-composer button:disabled,.ask-choices button:disabled{opacity:.6;cursor:not-allowed}
.ask-status{margin:0;padding:0 .75rem .65rem;color:#435347;font-size:.76rem}
.ask-status a{font-weight:700;text-decoration:underline}
@media(max-width:1023px){.ask-launcher{bottom:calc(310px + 1.1rem + 1rem)}}
@media(max-width:760px){.ask-launcher{right:.7rem;bottom:calc(220px + .35rem + 1rem)}.ask-chat{right:.5rem;top:12.5rem;bottom:.5rem;width:calc(100vw - 1rem);max-height:none}.ask-messages{min-height:0}}
@media(max-width:599px){.ask-launcher{bottom:calc(198px + .35rem + 1rem);padding:.28rem .6rem .28rem .28rem}.ask-launcher .ask-avatar{width:42px;height:42px}.ask-launcher span{font-size:.83rem}}
@media(max-width:599px) and (max-height:660px), (min-width:600px) and (max-width:760px) and (max-height:680px), (min-width:761px) and (max-width:1023px) and (max-height:880px){.ask-launcher{bottom:1rem}}
@media(prefers-reduced-motion:no-preference){.ask-launcher:active .ask-avatar{animation:ask-hello .4s ease-out 1}@keyframes ask-hello{0%{transform:rotate(-4deg)}60%{transform:rotate(4deg)}100%{transform:none}}}

/* Local v2 review handoff: inside the existing scrolling chat region, no hidden submit. */
.ask-handoff[hidden]{display:none!important}.ask-handoff{overflow-y:auto;max-height:45%;padding:.7rem .8rem;border-top:2px solid #b6c3af;background:#f6f1e6;font-size:.78rem}.ask-handoff p{margin:.3rem 0 .5rem}.ask-handoff label{display:block;font-weight:700}.ask-handoff textarea{display:block;width:100%;min-height:58px;max-height:90px;resize:vertical;border:1px solid #849684;border-radius:5px;padding:.4rem;font:inherit}.ask-handoff-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.ask-handoff-actions button,.ask-handoff-actions a{padding:.55rem;border-radius:5px;background:#283b2e;color:white;font-weight:700;text-decoration:none;min-height:42px}.ask-handoff-actions button{border:0;cursor:pointer}.ask-handoff-actions :focus-visible{outline:3px solid #aa8a52;outline-offset:2px}

/* Reserve controls when a review note is visible on short phones. The note scrolls instead of covering Send. */
.ask-chat:has(.ask-handoff:not([hidden])) .ask-interaction{min-height:110px;flex:1 1 auto}
.ask-chat:has(.ask-handoff:not([hidden])) .ask-messages{min-height:0;flex:1 1 auto}
.ask-chat:has(.ask-handoff:not([hidden])) .ask-choices,.ask-chat:has(.ask-handoff:not([hidden])) .ask-composer{flex:none}
.ask-chat:has(.ask-handoff:not([hidden])) .ask-handoff{flex:0 1 100px;min-height:0;max-height:35%;overflow-y:auto}

/* Readable replies and a composer that accommodates a real question. */
.ask-message p{margin:0 0 .65rem;white-space:pre-wrap;line-height:1.55}.ask-message p:last-child{margin-bottom:0}
.ask-composer textarea{flex:1;min-width:0;min-height:58px;max-height:130px;resize:vertical;padding:.55rem .65rem;border:1px solid #9fa99b;border-radius:6px;color:#273028;background:#fff;font:inherit;font-size:.85rem;line-height:1.4}
.ask-composer{align-items:flex-end}.ask-composer textarea:focus-visible{outline:2px solid #aa8a52;outline-offset:1px}
.ask-choices{flex-wrap:wrap;overflow:visible}.ask-choices button{white-space:normal;text-align:left;max-width:100%;overflow-wrap:anywhere}
.ask-view-results{margin-top:.65rem;border:1px solid #45664b;border-radius:6px;background:#fff;color:#23422c;padding:.55rem .7rem;min-height:40px;font:inherit;font-weight:650;cursor:pointer}
.ask-view-results:hover,.ask-view-results:focus-visible{outline:2px solid #aa8a52;outline-offset:2px}
.ask-messages{flex:1 1 auto}.ask-choices,.ask-composer,.ask-head,.ask-notice,.ask-status{flex-shrink:0}
@media(max-width:760px){.ask-choices{gap:.3rem;padding:.4rem .6rem}.ask-choices button{min-height:34px;font-size:.72rem}.ask-composer textarea{min-height:54px}.ask-on-search .ask-chat{top:1rem;bottom:5rem}}
