/* Shared space for inquiry, AI and back-to-top controls. */
:root{
  --contact-edge:24px;
  --contact-base:calc(18px + env(safe-area-inset-bottom,0px));
  --contact-gap:12px;
  --contact-bar-height:56px;
  --contact-bar-gap:12px;
  --contact-ai-height:54px;
  --contact-ai-width:136px;
  --contact-back-size:44px;
  --contact-align-offset:5px;
  --contact-ai-bottom:calc(var(--contact-base) + var(--contact-bar-height) + var(--contact-bar-gap));
  --contact-back-bottom:calc(var(--contact-ai-bottom) + var(--contact-ai-height) + var(--contact-gap));
  --contact-page-clearance:calc(var(--contact-back-bottom) + var(--contact-back-size) + 18px);
}
body{padding-bottom:var(--contact-page-clearance)}
.float-right .fr-msg{display:none!important}
.inq-pill,.quote-tray{bottom:var(--contact-base);z-index:600}
.inq-pill{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.float-right{right:var(--contact-edge);bottom:var(--contact-back-bottom);display:block;z-index:610;pointer-events:none}
.float-right .fr-top{width:var(--contact-back-size);height:var(--contact-back-size);border-radius:12px;pointer-events:auto}
.lm-chat{bottom:var(--contact-ai-bottom);--lm-chat-reserve:calc(var(--contact-ai-bottom) + var(--contact-ai-height) + 28px)}
.lm-chat-panel{bottom:calc(100% + 14px)}
/* An open panel extends upward. Keep back-to-top below that panel, beside AI. */
html[data-contact-chat-open="true"] .float-right{
  right:calc(var(--contact-edge) + var(--contact-ai-width) + var(--contact-gap));
  bottom:calc(var(--contact-ai-bottom) + var(--contact-align-offset));
}
@media(max-width:560px){
  :root{--contact-edge:14px;--contact-ai-height:48px;--contact-ai-width:126px;--contact-align-offset:2px}
  .lm-chat{inset-inline:var(--contact-edge);pointer-events:none}
  .lm-chat-launcher{margin-inline-start:auto;pointer-events:auto}
  .lm-chat-panel{width:100%;max-width:410px;pointer-events:auto}
}
@media(max-height:560px){.lm-chat-panel{overflow-y:auto;overscroll-behavior:contain;grid-template-rows:auto auto minmax(72px,1fr) auto auto}}
@media(prefers-reduced-motion:reduce){.inq-pill,.float-right a{transition:none}}
