/* Dostępność sklepu merch (audyt F238). Ładowany po stylach strony, więc te reguły mają ostatnie słowo.
   Zachowanie (inert, fokus, powrót fokusu) robi merch-accessibility.js; tu tylko to, co daje CSS. */

/* Zamknięty koszyk to tylko translateX(100%): jego przyciski zostawały w kolejności Tab.
   visibility:hidden po zakończeniu animacji zamknięcia wyjmuje je stąd także bez JS i bez wsparcia dla inert. */
.cart-panel { transition: transform .32s cubic-bezier(.22,.61,.36,1), visibility 0s linear .32s; }
.cart-panel:not(.open) { visibility: hidden; }
.cart-panel.open { visibility: visible; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .cart-panel { transition-delay: 0s; } }

/* Okna nie są celem Tab (fokus dostają programowo, np. na dotyku zamiast pola tekstowego). */
.cart-panel:focus, .co-modal:focus, .pd-modal:focus { outline: none; }

/* Przyciski „Dodaj do koszyka” i rozmiary siedzą pod .p-hover (opacity:0 poza :hover): fokus klawiatury musi je pokazać. */
.p-card:focus-within .p-hover { opacity: 1; }

/* Karta produktu jako prawdziwy przycisk: pokrywa kartę, klik wychodzi bąbelkiem do onclick karty (openPD). */
.p-card-open {
  position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%;
  margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer;
}
.p-card-open:focus-visible { outline: 3px solid var(--cyan, #00E5FF); outline-offset: -3px; }

/* Widoczny fokus. Reguła strony `.field input:focus { outline: none }` gasiła obrys pól zamówienia. */
.field input:focus-visible,
.cart-fab:focus-visible, .filter-btn:focus-visible, .p-sz:focus-visible, .p-quick-add:focus-visible,
.cart-x:focus-visible, .ci-qty-btn:focus-visible, .ci-remove:focus-visible, .cart-cta:focus-visible,
.co-x:focus-visible, .co-submit:focus-visible,
.pd-close:focus-visible, .pd-sz:focus-visible, .pd-add:focus-visible {
  outline: 3px solid var(--cyan, #00E5FF);
  outline-offset: 2px;
}
