/* Web accessibility refinements based on Apple HIG foundations. */
:root { --faza-focus: #0d7b88; }
[data-theme="dark"], .admin-body { --faza-focus: #75d5df; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid var(--faza-focus); outline-offset: 4px;
}
.mock-language-link,.mock-mobile-lang,.mock-theme-btn,.mock-menu-btn,
.account-tab,.password-toggle { min-width:44px; min-height:44px; }
.mock-language-link,.mock-mobile-lang { display:inline-flex;align-items:center;justify-content:center; }
.mock-product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.pd-hero-copy,.pd-hero-media,.mock-product-card .copy,.account-field { min-width:0; }
.pd-hero-copy h2,.pd-heading h2,.account-heading h1 { overflow-wrap:anywhere; }
@media (max-width: 640px) {
  input,select,textarea { font-size:16px; }
  .mock-btn,.fs-btn,.account-submit,.admin-btn { min-height:44px; }
  .pd-buy { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; scroll-behavior:auto!important; }
}
@media (prefers-reduced-transparency: reduce) {
  .mock-header,.mock-nav-panel { backdrop-filter:none!important; background:var(--bg,#f6f7f5)!important; }
}
@media (prefers-contrast: more) {
  :where(input,select,textarea,button,.account-card,.pd-summary article) { border-color:currentColor; }
  .pd-note,.account-help { color:inherit; }
}
