/* Only JS opts into the fixed action and its clearance. No-JS leaves no gap. */
.mobile-consult { display: none; }
@media (max-width: 600px) {
  body.mobile-consult-enabled { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .mobile-consult {
    display: block; position: fixed; z-index: 9;
    left: max(20px, env(safe-area-inset-left, 0px));
    right: max(20px, env(safe-area-inset-right, 0px));
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    opacity: 0;
    transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom, 0px)));
    pointer-events: none;
    transition: transform 260ms cubic-bezier(.22,.68,0,1), opacity 260ms ease;
  }
  .mobile-consult:is([data-consult-state="entering"], [data-consult-state="visible"]) {
    opacity: 1; transform: translateY(0);
  }
  .mobile-consult[data-consult-state="visible"] { pointer-events: auto; transition: none; }
  .mobile-consult[data-consult-state="hidden"] { transition: none; }
  .mobile-consult[inert] { pointer-events: none; }
  .mobile-consult[hidden] {
    display: none;
  }
  .mobile-consult .button {
    width: 100%; min-height: 56px; padding: 17px 20px;
    justify-content: center; font-size: 14px; font-weight: 500;
    color: #fff; background: #151515; border-color: #fff;
    box-shadow: 0 4px 24px rgb(0 0 0 / .18);
  }
  .mobile-consult .button:hover { background: #342465; }
  .mobile-consult .button:focus-visible { outline: 3px solid #b9a5ff; outline-offset: 4px; }
  .mobile-consult .button { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-consult { transition: none; }
}
