/* Match the fleet's FastCall overrides. JS aligns the actual widget footprint;
   the fallback also clears FastCall's 50px bottom offset. */
.contact-form-fab { position: fixed; right: var(--contact-fab-right, 24px); bottom: var(--contact-fab-bottom, 144px); width: var(--contact-fab-width, 213px); z-index: 1000; display: flex; align-items: center; text-decoration: none; transition: opacity .25s, visibility .25s; }
.contact-form-fab[hidden] { display: none; }
.contact-form-fab__disc { position: relative; flex: 0 0 70px; width: 70px; height: 70px; margin-right: 16px; border-radius: 50%; background: #71bf44; color: #fff; display: flex; align-items: center; justify-content: center; transition: transform .2s; }
.contact-form-fab__icon { display: block; width: 26px; height: 33px; }
.contact-form-fab__text { box-sizing: border-box; flex: 1; min-width: 0; padding: 4px 24px 4px 28px; margin: 0 -24px 0 -28px; background: rgba(255, 255, 255, .8); font: 400 17px/22px Montserrat, sans-serif; letter-spacing: 0; text-transform: uppercase; text-align: left; color: #23408e; }
.contact-form-fab:hover { text-decoration: none; }
.contact-form-fab:hover .contact-form-fab__disc { transform: scale(1.06); }
.contact-form-fab:focus-visible { outline: none; }
.contact-form-fab:focus-visible .contact-form-fab__disc { outline: 2px solid #23408e; outline-offset: 3px; }
.contact-form-fab.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 575px) { .contact-form-fab { right: var(--contact-fab-right, 16px); width: var(--contact-fab-width, 86px); } .contact-form-fab__text { display: none; } }
@media (prefers-reduced-motion: reduce) { .contact-form-fab, .contact-form-fab__disc { transition: none; } }
