
.site-phone-action { display: none; }
@media (max-width: 768px) {
  html:has(.site-phone-action) { scroll-padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
  body:has(.site-phone-action) { padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
  .site-phone-action {
    display: grid; position: fixed; inset: auto 0 0; z-index: 40;
    padding: .75rem max(1rem, env(safe-area-inset-right, 0px)) calc(.75rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
    background: var(--background); color: var(--foreground); border-top: 1px solid var(--border);
  }
  .site-phone-action a {
    display: flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px;
    padding: .25rem 1rem; border-radius: var(--radius-btn); background: var(--primary); color: var(--primary-foreground);
    font: inherit; font-weight: 600; line-height: 1.25; text-decoration: none;
  }
  .site-phone-action a:focus-visible { outline: 2px solid var(--foreground); outline-offset: 2px; }
  body:has(.site-phone-action) .semperi-bar { bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
  body:has(.site-phone-action):has(.semperi-bar:not([hidden])) { padding-bottom: calc(11rem + env(safe-area-inset-bottom, 0px)); }
  body:has(.site-phone-action) .semperi-toast,
  body:has(.site-phone-action) .semperi-cart-button:not(.semperi-cart-inline) { bottom: calc(6rem + env(safe-area-inset-bottom, 0px)); }
}
