/* Shared storefront feedback. Loaded last to replace legacy browser/Bootstrap rings.
   Pointer clicks stay quiet; native keyboard focus and selected states stay visible. */
body.pa-storefront { --pa-focus-ink: var(--color-blue-ink); }
body.pa-storefront :is(a, button, summary, input, select, textarea, label, [tabindex]) {
  -webkit-tap-highlight-color: transparent;
}
/* The legacy stack uses both :focus and :focus-visible with varying specificity. */
body.pa-storefront :focus:not(:focus-visible) { outline: none !important; }
body.pa-storefront :focus-visible {
  outline: 2px solid var(--pa-focus-ink) !important;
  outline-offset: 3px;
}
body.pa-storefront .campaign-bar,
body.pa-storefront .site-footer,
body.pa-storefront .pa-size-guide__choose { --pa-focus-ink: var(--color-footer-ink, #eaf1f4); }
body.pa-storefront :is(.pa-native-size-picker, .size-picker, .contact-choice) input:focus-visible + span,
body.pa-storefront .pa-size-guide__selector input:focus-visible + label,
body.pa-storefront .pa-product-page #product .radio label:has(:focus-visible) {
  outline: 2px solid var(--pa-focus-ink) !important;
  outline-offset: 3px;
}
/* Search is a single composite control, not a blue frame inside another frame. */
body.pa-storefront .pa-search-panel #search:focus-within {
  outline: none;
  border-color: var(--color-blue-ink);
}
body.pa-storefront .pa-search-panel #search input:focus-visible {
  outline: none !important;
  box-shadow: none;
}
body.pa-storefront .pa-search-panel #search:has(input:focus-visible) {
  border-bottom-color: var(--color-blue-ink);
  box-shadow: inset 0 -1px var(--color-blue-ink);
}
body.pa-storefront .pa-search-panel #search button:focus-visible { outline-offset: -4px; }
/* A selected measurement is an underline, never a solid dark tile. */
body.pa-storefront .pa-size-guide__selector { border: 0; border-bottom: 1px solid var(--color-line); }
body.pa-storefront .pa-size-guide__selector label { border-bottom: 2px solid transparent; }
body.pa-storefront .pa-size-guide__selector input:checked + label {
  background: transparent;
  color: var(--color-blue-ink);
  border-bottom-color: var(--color-blue-ink);
  font-weight: 600;
}
@media (hover: hover) and (pointer: fine) {
  body.pa-storefront .icon-button:not(:disabled):hover { opacity: .76; }
  body.pa-storefront .pa-size-guide__selector label:hover { background: var(--color-blue-soft); }
}
@media (prefers-reduced-motion: no-preference) {
  body.pa-storefront :is(.button, .pa-button, .btn, .icon-button):not(:disabled):not(.disabled) {
    transition: transform 140ms ease-out, opacity 140ms ease-out, background-color 140ms ease-out, border-color 140ms ease-out;
  }
  body.pa-storefront :is(.button, .pa-button, .btn):not(:disabled):not(.disabled):active:not(:focus-visible) { transform: scale(.985); }
  body.pa-storefront .icon-button:not(:disabled):active:not(:focus-visible) { transform: scale(.96); }
}
@media (prefers-reduced-motion: reduce) {
  body.pa-storefront :is(.button, .pa-button, .btn, .icon-button) { transition: none; }
  body.pa-storefront :is(.button, .pa-button, .btn, .icon-button):active { transform: none; }
}
@media (forced-colors: active) {
  body.pa-storefront { --pa-focus-ink: Highlight; }
  body.pa-storefront .campaign-bar,
  body.pa-storefront .site-footer,
  body.pa-storefront .pa-size-guide__choose { --pa-focus-ink: Highlight; }
  body.pa-storefront .pa-size-guide__selector input:checked + label { border-bottom-color: Highlight; }
  body.pa-storefront .pa-search-panel #search:has(input:focus-visible) { outline: 2px solid Highlight; outline-offset: 2px; }
}
