/* Shared keyboard and assistive-technology helpers for public store pages. */
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 10px 14px;
  border-radius: 10px;
  color: #fff;
  background: #21143c;
  box-shadow: 0 8px 24px #21143c4d;
  font-weight: 900;
  text-decoration: none;
  transform: translateY(calc(-100% - 16px));
  transition: transform .15s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid #6849d7;
  outline-offset: 3px;
}

html :where(.product, .hero-card, .cart-item):focus-visible {
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  .skip-link { transition: none; }
}
