.avb-chat{--chat-navy:#152947;--chat-gold:#b89a71;--chat-white:#faf8f4;position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:1050;color:var(--chat-white);font-family:var(--avb-font-ui,"AVB DM Sans",Arial,sans-serif);font-size:13px;font-weight:300;line-height:1.6;text-align:left}.avb-chat,.avb-chat *{box-sizing:border-box}.avb-chat [hidden],.avb-chat[hidden]{display:none!important}.avb-chat button{font:inherit;cursor:pointer;color:inherit;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal}.avb-chat button:focus-visible,.avb-chat a:focus-visible,.avb-chat input:focus-visible,.avb-chat textarea:focus-visible{outline:2px solid var(--chat-gold);outline-offset:4px}.avb-chat-launcher{display:flex;align-items:center;gap:12px;padding:14px 19px;background:var(--chat-navy);border:1px solid var(--chat-gold);box-shadow:0 5px 24px #09152630!important;min-height:52px}.avb-chat-launcher svg{width:25px;height:25px;color:var(--chat-gold)}.avb-chat-launcher span{font-size:11px;letter-spacing:.09em;text-transform:uppercase}.avb-chat-launcher:hover,.avb-chat-send:hover{color:var(--chat-gold);background:#1b3456}.avb-chat-panel{position:absolute;bottom:68px;right:0;width:390px;max-width:calc(100vw - 32px);height:650px;max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);display:flex;flex-direction:column;background:var(--chat-navy);border:1px solid #b89a7166;box-shadow:0 20px 70px #08172855;isolation:isolate;overflow:hidden}.avb-chat-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.13;pointer-events:none;z-index:-1}.avb-chat-header{position:relative;padding:25px 26px 20px;border-bottom:1px solid #b89a7145;flex-shrink:0}.avb-chat-header>span{font-size:10px;letter-spacing:.19em;color:var(--chat-gold)}.avb-chat .avb-chat-header h2{font-family:var(--avb-font-headings,"AVB Cormorant Garamond",Georgia,serif);font-size:35px;line-height:1.1;font-weight:400;color:var(--chat-white);margin:17px 20px 10px 0;text-transform:none;letter-spacing:0}.avb-chat-header p{font-size:11px;color:#e2e6ed;line-height:1.6;margin:0}.avb-chat-close{position:absolute;right:13px;top:13px;width:36px;height:36px;display:grid;place-items:center;background:transparent;border:0;color:var(--chat-gold)!important}.avb-chat-close svg{width:20px;height:20px}.avb-chat-scroll{padding:22px 26px;overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b89a7180 transparent}.avb-chat-reply{border-left:1px solid var(--chat-gold);padding:0 0 0 15px;margin:0 0 24px}.avb-chat-reply>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--chat-gold)}.avb-chat-reply p,.avb-chat-user p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-weight:300;color:var(--chat-white)}.avb-chat-user{margin:20px 0 22px 30px;padding:12px 15px;background:#b89a7120;border-right:1px solid var(--chat-gold)}.avb-chat-form>label,.avb-chat-fields>label{font-size:10px;font-weight:400;color:#e8edf4;letter-spacing:.1em;text-transform:uppercase;display:block}.avb-chat input:not([type=checkbox]):not([type=hidden]),.avb-chat textarea{width:100%;min-height:40px;padding:10px 0;margin:0 0 19px;background:transparent!important;color:var(--chat-white)!important;border:0!important;border-bottom:1px solid var(--chat-gold)!important;border-radius:0!important;box-shadow:none!important;font:300 14px/1.6 var(--avb-font-body,"AVB DM Sans",Arial,sans-serif);resize:vertical}.avb-chat textarea{min-height:72px;max-height:170px}.avb-chat-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.avb-chat-field-email{grid-column:1/-1}.avb-chat .avb-chat-consent{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;line-height:1.6;font-size:10px;margin:1px 0 22px}.avb-chat-consent input{appearance:auto!important;width:15px!important;height:15px!important;min-width:15px;margin:3px 0 0;accent-color:var(--chat-gold)}.avb-chat a{color:var(--chat-white);text-decoration:underline;text-underline-offset:3px}.avb-chat-send{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;border:0;border-bottom:1px solid var(--chat-gold);background:transparent;padding:12px 0;min-height:44px}.avb-chat-send span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.avb-chat-send svg{width:32px;height:16px;color:var(--chat-gold)}.avb-chat-send:disabled{opacity:.5;cursor:wait}.avb-chat-status{font-size:11px;line-height:1.7;color:#ead8bc;margin:15px 0 0}.avb-chat-again{padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--chat-gold)}.avb-chat-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.vp-nav-offcanvas-lock .avb-chat,.vpabfm-lock .avb-chat{visibility:hidden}@media(max-width:600px){.avb-chat{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.avb-chat-launcher{padding:13px;min-height:52px}.avb-chat-launcher span{display:none}.avb-chat-panel{bottom:65px;max-height:calc(100dvh - 105px);width:calc(100vw - 32px)}.avb-chat-header{padding:20px 22px 17px}.avb-chat-scroll{padding:20px 22px}.avb-chat .avb-chat-header h2{font-size:32px}.avb-chat input:not([type=checkbox]):not([type=hidden]),.avb-chat textarea{font-size:16px}}@media(prefers-reduced-motion:no-preference){.avb-chat-panel{animation:avb-chat-enter .22s ease-out}@keyframes avb-chat-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* Live conversation: keep the composer visible while the transcript scrolls. */
.avb-chat-panel{height:720px}.avb-chat-scroll{flex:1;min-height:80px}.avb-chat-form{padding:14px 26px 0;flex-shrink:0;max-height:60%;overflow-y:auto}.avb-chat-identity{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.avb-chat-identity label:not(.avb-chat-consent){font-size:10px;letter-spacing:.1em;color:#e8edf4}.avb-chat-identity label[for=avb-chat-name]{grid-row:1}.avb-chat-identity label[for=avb-chat-email]{grid-column:2;grid-row:1}.avb-chat-identity input[name=name]{grid-column:1;grid-row:2}.avb-chat-identity input[name=email]{grid-column:2;grid-row:2}.avb-chat-consent{grid-column:1/-1}.avb-chat-status{padding:0 26px 14px;margin:10px 0 0;flex-shrink:0}.avb-chat-user>span{font-size:9px;color:#b89a71;letter-spacing:.1em}.avb-chat-again{margin:0 26px 22px;color:#fff}.avb-chat-form>textarea{min-height:50px;margin-bottom:0}.avb-chat [hidden]{display:none!important}.avb-chat input:disabled{display:none}.avb-chat-identity input{min-width:0}.avb-chat-send{color:#fff!important}.avb-chat-panel .avb-chat-send:hover{color:#b89a71!important}@media(max-width:600px){.avb-chat-form{padding:12px 22px 0}.avb-chat-panel{max-height:calc(100dvh - 100px)}.avb-chat-header p{max-width:90%}}

/* Viewport-aware placement: never overlap the website header or reserve page space. */
.avb-chat{--chat-edge:24px;bottom:calc(var(--chat-viewport-bottom,0px) + max(var(--chat-edge),env(safe-area-inset-bottom)));visibility:hidden}
.avb-chat[data-chat-ready]{visibility:visible}
body:has(.vpabh7--intro:not(.avb-intro-complete)) .avb-chat,
.vp-nav-offcanvas-lock .avb-chat,.vpabfm-lock .avb-chat{visibility:hidden}
.avb-chat .avb-chat-panel{bottom:var(--chat-panel-bottom,64px);height:650px;max-height:var(--chat-panel-height,calc(100svh - 230px));min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b89a7180 transparent}
.avb-chat:not([data-chat-started]) .avb-chat-panel{height:auto;overflow-y:auto;display:block}
.avb-chat:not([data-chat-started]) .avb-chat-scroll{min-height:0;max-height:none;overflow:visible;padding-bottom:0}
.avb-chat:not([data-chat-started]) .avb-chat-form{max-height:none;overflow:visible;padding-top:0}
.avb-chat:not([data-chat-started]) .avb-chat-reply{margin-bottom:22px}
.avb-chat[data-chat-started] .avb-chat-scroll{min-height:0}
.avb-chat .avb-chat-form{overscroll-behavior:contain}
@media(max-width:600px){.avb-chat{--chat-edge:16px}.avb-chat .avb-chat-header h2{font-size:29px}.avb-chat .avb-chat-header{padding:18px 22px 15px}.avb-chat .avb-chat-header h2{margin-top:12px}.avb-chat .avb-chat-scroll{padding-top:18px}}
@media(max-height:520px){.avb-chat .avb-chat-panel{display:block;overflow-y:auto}.avb-chat .avb-chat-scroll,.avb-chat .avb-chat-form{max-height:none;overflow:visible}.avb-chat .avb-chat-header h2{font-size:25px;margin:8px 25px 4px 0}.avb-chat .avb-chat-header p{display:none}}
.avb-chat .avb-chat-panel{width:var(--chat-panel-width,390px)}

/* One fixed corner stack. The chat keeps its slot when scroll-to-top hides. */
:root{--avb-corner-size:42px;--avb-corner-edge:24px;--avb-corner-gap:12px}
.avb-chat{--chat-edge:var(--avb-corner-edge);right:max(var(--avb-corner-edge),env(safe-area-inset-right));bottom:calc(var(--avb-corner-viewport-bottom,0px) + max(var(--avb-corner-edge),env(safe-area-inset-bottom)) + var(--avb-corner-size) + var(--avb-corner-gap))}
.avb-chat .avb-chat-launcher{width:var(--avb-corner-size);height:var(--avb-corner-size);min-width:var(--avb-corner-size);min-height:var(--avb-corner-size);padding:0;justify-content:center;gap:0;border:0;box-shadow:none!important}
.avb-chat .avb-chat-launcher svg{width:22px;height:22px;flex:none}
.avb-chat .avb-chat-launcher span{display:none}
body:has(.avb-chat) .back-to-top-wrap{position:fixed;right:max(var(--avb-corner-edge),env(safe-area-inset-right));bottom:calc(var(--avb-corner-viewport-bottom,0px) + max(var(--avb-corner-edge),env(safe-area-inset-bottom)));width:var(--avb-corner-size);height:var(--avb-corner-size);margin:0;padding:0;z-index:1049;pointer-events:none}
.back-to-top-wrap #scroll-top{box-sizing:border-box;width:var(--avb-corner-size);height:var(--avb-corner-size);min-width:var(--avb-corner-size);min-height:var(--avb-corner-size);padding:0;margin:0;border:0;border-radius:0;line-height:var(--avb-corner-size);text-align:center;box-shadow:none;pointer-events:auto}
@media(max-width:600px){:root{--avb-corner-edge:16px}}

/* A complete welcome and composer in one panel; only conversation history grows. */
.avb-chat{--avb-feedback-gold:#8a683f}
.avb-chat .avb-chat-panel{display:flex;height:650px;overflow:hidden;scrollbar-width:none}
.avb-chat:not([data-chat-started]) .avb-chat-panel{display:flex;height:auto;overflow-y:auto}
.avb-chat .avb-chat-panel::-webkit-scrollbar,.avb-chat .avb-chat-scroll::-webkit-scrollbar,.avb-chat textarea::-webkit-scrollbar{display:none}
.avb-chat .avb-chat-header{padding:22px 28px 18px}
.avb-chat .avb-chat-header>span,.avb-chat .avb-chat-reply>span,.avb-chat .avb-chat-user>span{color:#d2b389}
.avb-chat .avb-chat-header h2{font-size:34px;margin:12px 20px 9px 0}
.avb-chat .avb-chat-close{width:40px;height:40px;right:8px;top:8px}
.avb-chat .avb-chat-scroll{padding:16px 28px;scrollbar-width:none;overflow-y:auto}
.avb-chat:not([data-chat-started]) .avb-chat-scroll{flex:none;overflow:visible;padding-bottom:0}
.avb-chat:not([data-chat-started]) .avb-chat-reply{margin-bottom:18px}
.avb-chat .avb-chat-form{padding:0 28px 28px;max-height:none;overflow:visible}
.avb-chat .avb-chat-identity label:not(.avb-chat-consent){font-weight:400}
.avb-chat .avb-chat-identity input{height:38px;min-height:38px;padding:5px 0;margin-bottom:14px}
.avb-chat .avb-chat-consent{font-size:11px;font-weight:300;line-height:1.45;margin:0 0 14px}
.avb-chat .avb-chat-form>label{font-size:10px;font-weight:400;text-transform:none;margin-bottom:2px}
.avb-chat .avb-chat-form>textarea{height:64px;min-height:64px;max-height:64px;margin-bottom:12px;resize:none;scrollbar-width:none}
.avb-chat .avb-chat-send{min-height:46px;padding:13px 26px;background:#8a683f!important;color:#fff!important;border:1px solid #d2b389;border-radius:0;gap:38px}
.avb-chat .avb-chat-send span{font:400 10px/1.4 var(--avb-font-ui,'DM Sans',Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}
.avb-chat .avb-chat-send svg{width:26px;height:14px;color:#fff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition:transform .42s cubic-bezier(.22,1,.36,1)}
.avb-chat .avb-chat-send:hover,.avb-chat .avb-chat-send:focus-visible{background:#152947!important;color:#fff!important}
.avb-chat .avb-chat-send:focus-visible{outline:2px solid #d2b389!important;outline-offset:4px!important}
.avb-chat .avb-chat-send:hover svg,.avb-chat .avb-chat-send:focus-visible svg{transform:translateX(3px)}
.avb-chat .avb-chat-status{padding:0 28px 14px;margin:0;line-height:1.45}
.avb-chat .avb-chat-status:empty{display:none}
.avb-chat .avb-chat-again{margin:0 28px 18px}
@media(max-width:600px){
  .avb-chat .avb-chat-header{padding:16px 20px 12px}
  .avb-chat .avb-chat-header h2{font-size:28px;margin:8px 20px 0 0}
  .avb-chat .avb-chat-header p,.avb-chat:not([data-chat-started]) .avb-chat-reply>span{display:none}
  .avb-chat .avb-chat-scroll{padding:12px 20px}
  .avb-chat:not([data-chat-started]) .avb-chat-reply{margin-bottom:12px}
  .avb-chat .avb-chat-reply p{font-size:12px;line-height:1.5;margin:0}
  .avb-chat .avb-chat-form{padding:0 20px 20px}
  .avb-chat .avb-chat-identity{column-gap:16px}
  .avb-chat .avb-chat-status{padding:0 20px 12px}
}
.avb-chat[data-chat-compact] .avb-chat-header{padding:12px 20px 12px}
.avb-chat[data-chat-compact] .avb-chat-header>span,.avb-chat[data-chat-compact] .avb-chat-header p,.avb-chat[data-chat-compact]:not([data-chat-started]) .avb-chat-reply>span{display:none}
.avb-chat[data-chat-compact] .avb-chat-header h2{font-size:27px;margin:0 24px 0 0}
.avb-chat[data-chat-compact] .avb-chat-scroll{padding:10px 20px}
.avb-chat[data-chat-compact]:not([data-chat-started]) .avb-chat-reply{margin-bottom:10px}
.avb-chat[data-chat-compact] .avb-chat-reply p{font-size:12px;line-height:1.45;margin:0}
.avb-chat[data-chat-compact] .avb-chat-form{padding:0 20px 20px}
.avb-chat[data-chat-compact] .avb-chat-identity input{height:34px;min-height:34px;margin-bottom:6px}
.avb-chat[data-chat-compact] .avb-chat-consent{margin-bottom:6px}
.avb-chat[data-chat-compact] .avb-chat-form>textarea{height:40px;min-height:40px;max-height:40px;padding:4px 0;line-height:1.4}
.avb-chat[data-chat-tight]:not([data-chat-started]) .avb-chat-scroll{display:none}
.avb-chat[data-chat-tight] .avb-chat-header{padding:6px 18px}
.avb-chat[data-chat-tight] .avb-chat-header h2{font-size:23px;line-height:1.05}
.avb-chat[data-chat-tight] .avb-chat-form{padding:6px 18px 18px}
.avb-chat[data-chat-tight] .avb-chat-consent{font-size:10px;line-height:1.4;margin-bottom:4px}
.avb-chat[data-chat-tight] .avb-chat-identity input{height:30px;min-height:30px;margin-bottom:4px}
.avb-chat[data-chat-tight] .avb-chat-form>textarea{height:36px;min-height:36px;max-height:36px;padding:4px 0;line-height:1.4}
.avb-chat[data-chat-tight] .avb-chat-send{min-height:46px;padding:13px 20px}
/* Very short/zoomed viewports retain keyboard access without a visible scrollbar. */
.avb-chat[data-chat-tight][data-chat-started] .avb-chat-panel{overflow-y:auto}
@media(prefers-reduced-motion:reduce){.avb-chat .avb-chat-send svg{transition:none;transform:none!important}}
/* Natural height is shared by EN and PT, with no nested transcript/form scroll. */
.avb-chat .avb-chat-panel,.avb-chat:not([data-chat-started]) .avb-chat-panel,.avb-chat[data-chat-tight][data-chat-started] .avb-chat-panel{height:auto;max-height:none;overflow:visible;display:flex}
.avb-chat .avb-chat-scroll,.avb-chat .avb-chat-form{flex:none;min-height:0;max-height:none;overflow:visible}
.avb-chat .avb-chat-form>textarea{height:auto;min-height:54px;max-height:none;field-sizing:content;overflow:hidden}
.avb-chat[data-chat-document]{position:absolute;top:var(--chat-document-top);bottom:auto}
.avb-chat[data-chat-document] .avb-chat-panel{top:0;bottom:auto;position:absolute}
.avb-chat[data-chat-document] .avb-chat-launcher{visibility:hidden}
.avb-chat[data-chat-document] .avb-chat-header{position:sticky;top:0;z-index:2;background:#152947}
