/* sticky-action: shared floating call bar for Octopuss sites (2026-09-28).
   Call (tel:) first, then the primary offer. Hidden while the page's own main
   buttons ([data-primary-action]) are on screen, and never covers a focused
   element (WCAG 2.2 SC 2.4.11). Restyle freely with the site's tokens. */
:root { --sticky-action-h: 64px; }
.sticky-action {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
  min-height: var(--sticky-action-h); box-sizing: border-box;
  background: var(--sticky-action-bg, rgba(12, 12, 12, 0.92));
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transform: translateY(0); transition: transform .25s ease, opacity .25s ease;
}
.sticky-action a {
  flex: 1 1 0; display: flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 12px; border-radius: 3px; text-decoration: none;
  font: 600 14px/1.3 var(--text); text-align:center; min-width:0; color: var(--sticky-action-fg, #fff);
  border: 1px solid var(--sticky-action-line, rgba(255, 255, 255, 0.35));
}
.sticky-action a.sticky-action__offer {
  background: var(--sticky-action-accent, #f4c430); color: var(--sticky-action-accent-fg, #111); border-color: transparent;
}
.sticky-action a:focus-visible { outline: 3px solid var(--sticky-action-focus, #fff); outline-offset: 2px; }
.sticky-action[data-state="hidden"] { transform: translateY(110%); opacity: 0; pointer-events: none; }
html.has-sticky-action { scroll-padding-bottom: calc(var(--sticky-action-h) + 16px); }
html.has-sticky-action body { padding-bottom: var(--sticky-action-h); }
@media (min-width: 900px) { .sticky-action.sticky-action--phone-only { display: none; } html.has-sticky-action.sticky-action-phone-only body { padding-bottom: 0; } }
@media (prefers-reduced-motion: reduce) { .sticky-action { transition: none; } }

html:not(.js) .sticky-action,html.drawer-open .sticky-action,html.gallery-open .sticky-action { display:none; }
