/* Shared interaction contract. Palette and geometry come from DesignTokenService.
   Limited to storefront_vnext; does not replace page layouts or variant styling. */
body[data-web-theme="storefront_vnext"] :is(button, summary, .vnext-button, .vnext-category-panel__options a, .vnext-pagination a){
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
body[data-web-theme="storefront_vnext"] :is(.vnext-button, .vnext-product-card__add, .vnext-product-card__view, .vnext-product-card__choose, .vnext-variant-choice, .sp-btn):focus-visible{
  outline:0;
  box-shadow:0 0 0 3px var(--vnext-focus-ring);
}
body[data-web-theme="storefront_vnext"] :is(.vnext-button, .sp-btn):disabled{
  cursor:not-allowed;
  transform:none;
  filter:none;
}
body[data-web-theme="storefront_vnext"] button[data-add-state="loading"]:disabled{
  cursor:progress;
}
.vnext-checkout :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.vnext-cart-item__quantity input{
  border-color:var(--vnext-color-border);
  border-radius:var(--vnext-radius-control);
  background:var(--vnext-color-surface);
  color:var(--vnext-color-text);
  font-family:var(--vnext-font-family);
  transition:border-color var(--vnext-motion-ui) var(--vnext-motion-ease),box-shadow var(--vnext-motion-ui) var(--vnext-motion-ease);
}
.vnext-checkout :is(input,textarea)::placeholder{color:var(--vnext-color-muted);opacity:1}
body[data-web-theme="storefront_vnext"] .vnext-checkout :is(input,select,textarea):focus-visible,
body[data-web-theme="storefront_vnext"] .vnext-cart-item__quantity input:focus-visible{
  border-color:var(--vnext-color-focus);
  outline:0;
  box-shadow:0 0 0 3px var(--vnext-focus-ring);
}
.vnext-header-search label:focus-within,.vnext-search label:focus-within{border-color:var(--vnext-color-focus)}
body[data-web-theme="storefront_vnext"] .vnext-checkout .sp-step :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--vnext-color-danger)}
.vnext-checkout .sp-step-error:not(:empty){
  margin-top:12px;
  padding:12px 14px;
  border:1px solid var(--vnext-color-danger);
  border-radius:var(--vnext-radius-control);
  background:var(--vnext-color-surface);
  color:var(--vnext-color-danger);
  font-size:14px;
  line-height:1.5;
}
.vnext-checkout :is(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}
.vnext-drawer__actions{display:flex;align-items:center;gap:8px}
.vnext-theme-menu{display:none}
/* Hidden navigation feedback must not keep animation timelines running. */
.vnext-page-loader[aria-hidden="true"] span,
.vnext-category-transition[aria-hidden="true"] i b{animation-play-state:paused}
@media(max-width:760px){
  /* The second catalog image is a desktop hover enhancement, not mobile content. */
  .vnext-product-card__image--secondary{display:none}
  /* Keep offscreen blurred surfaces out of painting until the menu is opened.
     Delayed visibility preserves the existing closing slide transition. */
  .vnext-drawer,.vnext-search{visibility:hidden;transition:transform var(--vnext-motion-normal) var(--vnext-motion-ease),visibility 0s var(--vnext-motion-normal)}
  .vnext-drawer.is-open,.vnext-search.is-open{visibility:visible;transition-delay:0s}
  body[data-web-theme="storefront_vnext"] .vnext-theme-fab{display:none}
  .vnext-theme-menu{display:inline-flex}
  .vnext-contact__detail>a{display:flex;align-items:center;min-height:44px}
  .vnext-contact__help-links a,.vnext-contact__text-link,.vnext-pagination a{min-height:44px;display:inline-flex;align-items:center}
  .vnext-cart-item__quantity :is(button,input){min-height:44px}
  .vnext-cart-item__quantity button{min-width:44px}
  .vnext-checkout :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){min-height:44px;font-size:16px}
  .vnext-checkout textarea{font-size:16px}
  .vnext-checkout .sp-progress button{min-height:44px}
}
