/* fx-call-bar: a phone-only bottom bar (Call + the one primary action). Space is reserved under the page from first
   paint so it never covers the footer; it hides while the request form or footer contact is on screen.
   data-show="always" keeps it up from first paint (WBL default: it IS the hero CTA on phones). */
.fx-cb{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--cb-bg,#fffdf9) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--cb-line,rgba(0,0,0,.1));transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.fx-cb a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:var(--r,8px);font:700 16px/1 var(--bf,system-ui);text-decoration:none;color:var(--ink,#1d2430);box-shadow:inset 0 0 0 1.5px currentColor}
.fx-cb a.cb-main{flex:1.4;background:var(--a,#d9622b);color:var(--on-a,#1d2430);box-shadow:none}
.fx-cb svg{width:18px;height:18px}
@media (max-width:759px){
  .fx-cb{display:flex}
  body.has-cb{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .fx-js .fx-cb.cb-hidden{transform:translateY(110%)}
}
@media (prefers-reduced-motion:reduce){.fx-cb{transition:none}}
