.assistant-hero-button,.assistant-overview-button{display:grid;justify-items:start;gap:2px;min-height:58px;text-align:left;box-shadow:0 12px 24px rgba(249,115,22,.24)}.assistant-hero-button small,.assistant-overview-button small{font-size:.76rem;font-weight:650;opacity:.92}.assistant-overview-button{margin-top:8px}.assistant-float{position:fixed;z-index:50;right:22px;bottom:22px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-width:248px;padding:11px 18px 11px 12px;border:0;border-radius:999px;background:var(--blue);color:#fff;text-align:left;box-shadow:0 12px 32px rgba(121,52,8,.32);cursor:pointer;transition:opacity .2s ease,transform .2s ease}.assistant-float.is-suppressed{opacity:0;transform:translateY(18px);pointer-events:none}.assistant-float span{grid-row:span 2;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#fff;color:var(--blue);font-size:1.25rem;font-weight:900}.assistant-float strong{font-size:.92rem}.assistant-float small{font-size:.72rem;opacity:.94}.assistant-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:28px;overflow:auto;border:1px solid var(--line);border-radius:14px;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.3)}.assistant-dialog::backdrop{background:rgba(20,20,20,.58)}.assistant-dialog form{display:grid;gap:16px}.assistant-dialog label{display:grid;gap:7px;font-weight:800}.assistant-dialog textarea{width:100%;min-height:112px;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}.assistant-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:2rem;cursor:pointer}.assistant-intro,.assistant-direct{margin:0;color:var(--muted)}.assistant-safety{margin:-6px 0 0;font-size:.84rem;color:var(--muted)}.assistant-dialog .assistant-message{min-height:1.4em;color:var(--muted)}.assistant-dialog .assistant-message.is-error{color:#9b1c1c;font-weight:800}.assistant-answer{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.assistant-answer p:not(.support-label){margin:6px 0 0;line-height:1.65;white-space:pre-line}.assistant-answer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.assistant-answer-actions .button{margin:0}.assistant-dialog .button[disabled]{opacity:.65;cursor:wait}@media(max-width:640px){.assistant-hero-button,.assistant-overview-button{width:100%}.assistant-float{right:12px;bottom:calc(74px + env(safe-area-inset-bottom));min-width:0;padding-right:14px}.assistant-float small{display:none}.assistant-dialog{padding:24px 18px}.assistant-answer-actions{display:grid}.assistant-answer-actions .button{text-align:center}.assistant-dialog textarea{min-height:100px}}
.assistant-dialog:not([open]) { display: none; }
.assistant-dialog [hidden] { display: none; }
.assistant-float.is-suppressed { visibility: hidden; }
.assistant-dialog { max-height: calc(100dvh - 32px); }
.assistant-dialog .assistant-message { padding: 0; background: none; border: 0; }
@media (prefers-reduced-motion: reduce) { .assistant-float { transition: none; } }

/* One conversation: advice, contact choice, receipt. */
.assistant-dialog h2 { margin: 0 0 10px; font-size: clamp(1.7rem, 5vw, 2.3rem); }
.assistant-dialog h3 { margin: 0 0 8px; font-size: 1.12rem; }
.assistant-stage { margin: 0 0 22px; color: var(--muted); font-size: .85rem; }
.assistant-dialog .assistant-answer { margin: 18px 0; }
.assistant-dialog .assistant-answer h3 { margin-top: 22px; }
.assistant-dialog .assistant-direct { margin-top: 22px; font-size: .88rem; }
.assistant-dialog .assistant-message:empty { display: none; }
.assistant-dialog .checkbox-field { display: flex; gap: 10px; align-items: start; font-size: .86rem; font-weight: 400; }
.assistant-dialog .checkbox-field input { flex-shrink: 0; }
.assistant-contact-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border: 0; padding: 0; margin: 0; }
.assistant-contact-choices label { position: relative; cursor: pointer; }
.assistant-contact-choices input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.assistant-contact-choices span { padding: 16px; border: 2px solid var(--line); border-radius: 12px; background: #fff; }
.assistant-contact-choices small { display: block; margin-top: 4px; font-size: .76rem; font-weight: 400; color: var(--muted); }
.assistant-contact-choices input:checked + span { border-color: var(--green); background: #effaf5; }
.assistant-contact-choices input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 3px; }
.assistant-contact-preview { padding: 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: .88rem; }
.assistant-contact-preview summary { cursor: pointer; font-weight: 650; }
.assistant-contact-preview p { white-space: pre-line; overflow-wrap: anywhere; }
.assistant-text-button { border: 0; background: transparent; padding: 12px; color: var(--ink); font: inherit; text-decoration: underline; cursor: pointer; }
.assistant-receipt { padding: 24px 0; text-align: center; }
.assistant-receipt > span { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 18px; border-radius: 50%; background: #e3f7ed; color: #126749; font-size: 2rem; }
.contact-assistant-invite { align-self: center; padding: clamp(24px, 4vw, 40px); border: 1px solid #c9e6dc; border-radius: 20px; background: linear-gradient(135deg, #fff, #edf8f3); box-shadow: 0 20px 50px #123c2510; }
.contact-assistant-invite h3 { font-size: 1.8rem; line-height: 1.2; margin: 12px 0; }
.contact-assistant-invite p { color: var(--muted); }
.contact-assistant-invite .button { margin-top: 12px; }
.contact-assistant-invite .assistant-text-button { display: block; margin-top: 10px; }
.assistant-invite-icon { display: inline-block; margin-bottom: 18px; color: var(--green); font-size: 2.2rem; }
.assistant-dialog .assistant-close { position: sticky; float: right; top: 0; z-index: 2; margin: -8px -8px 0 8px; width: 36px; height: 36px; border-radius: 50%; background: #fff; line-height: 1; }

/* Keep Google's body-level challenge above the assistant and interactive. */
.assistant-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(20,20,20,.58); }
.assistant-dialog[open] { position: fixed; inset: 0; margin: auto; height: fit-content; z-index: 101; }
body.assistant-is-open { overflow: hidden; }

.grecaptcha-badge { visibility: hidden; }
.captcha-disclosure { margin: 0; font-size: .75rem; line-height: 1.45; color: var(--muted); font-weight: 400; }
