/* A-019 — naprawy a11y sitewide (kontrast #BFD15D, widoczny focus, skip-link).
 * Osobny plik, ładowany przez src/bomby-a11y.php, NIE bomby-b2b.php/.css (ten plik
 * edytuje równolegle A-037). Zero zmian w _elementor_data.
 *
 * DECYZJA KONTRASTU (log A-019, 07.09.2026): wszędzie, gdzie #BFD15D jako tło pod
 * białym tekstem albo jako kolor samego tekstu na jasnym tle łamie WCAG (kontrast
 * realny 1,68:1 / 1,14:1 przy wymaganych 3:1-4,5:1), tekst dostaje ciemny odcień marki
 * #33390F (token już użyty w A-009 dla CTA rejestracji hurtowej — kontrast >7:1),
 * a zielone tło #BFD15D zostaje NIETKNIĘTE. Jeden spójny wariant zamiast osobnego
 * doboru koloru dla każdego miejsca; zero zmian projektu graficznego.
 */

/* ---------- 1. KONTRAST na #BFD15D / z #BFD15D ---------- */

/* CTA "Załóż konto hurtowe" / "sprawdź ofertę" / "do koszyka" — widget Button
 * Elementora, tło #BFD15D + tekst biały w każdym wystąpieniu (hero, zacznij-sprzedawac,
 * karta produktu, prezenty-firmowe). Struktura DOM identyczna we wszystkich, safe
 * do targetowania po wspólnych klasach widgetu (nie po elementor-element-<id>, żeby
 * przetrwać nowe strony/widgety tego samego typu). */
.elementor-button-wrapper > .elementor-button.elementor-button-link .elementor-button-text,
a.elementor-button .elementor-button-text {
    color: #33390F !important;
}

/* Odznaka liczby produktów w koszyku (WooCommerce Menu Cart, header, sitewide) —
 * "520" biały na #BFD15D. */
.elementor-button-icon-qty,
.cart-product-count {
    color: #33390F !important;
}

/* WYJĄTEK potwierdzony w renderze (log A-019, 07.09.2026): reużywalne szablony
 * Elementora `elementor-442` (footer/CTA na `/`, `/produkty/`) i `elementor-2152`
 * (ten sam wzorzec na `/koszyk/`→`/moje-konto/`) zawierają przyciski "Załóż konto
 * hurtowe"/"sprawdź ofertę" na tle #5B5756 (ciemny szary z kitu, NIE zielone) —
 * biały tekst tam już był zgodny (kontrast >7:1). Blanket-owa reguła wyżej łamała
 * te przyciski (ciemny tekst na ciemnym tle, 1,70:1) — przywracamy biały tekst z
 * wyższą specyficznością dla obu znanych szablonów. Jeśli po wdrożeniu audyt
 * wykaże KOLEJNY taki przypadek (inny numer szablonu) — dopisać tu, ten sam wzór. */
.elementor-442 .elementor-button-wrapper .elementor-button.elementor-button-link .elementor-button-text,
.elementor-2152 .elementor-button-wrapper .elementor-button.elementor-button-link .elementor-button-text {
    color: #ffffff !important;
}

/* Baner zaufania „... klienta hurtowego by dokonać zakupu" (Icon Box, powtarzalny
 * blok na /moje-konto/, /rejestracja-hurtowa/, /koszyk/, /zamowienie/) — 28px biały
 * na #BFD15D, dziś 🟡 (duży tekst, próg 3:1), naprawiamy przy okazji tym samym tokenem. */
.elementor-icon-box-content > .elementor-icon-box-title > span {
    color: #33390F !important;
}

/* Cena promocyjna WooCommerce (<ins>) używa #BFD15D jako KOLORU TEKSTU na białym tle
 * — tu nie ma zielonego tła do zachowania, więc ten sam ciemny token zamiast jasnej
 * zieleni nieczytelnej na bieli. Scope przez `.price ins`, żeby nie dotknąć zwykłych
 * (nie-promocyjnych) cen w kolorze domyślnym. */
.price ins .woocommerce-Price-amount,
.price ins .woocommerce-Price-amount bdi {
    color: #33390F !important;
}

/* Sumy w koszyku/checkoucie (tabela `.shop_table`) — "Łącznie" i kwota total, ten sam
 * problem (#BFD15D tekst na białym), scope do kontekstu podsumowania zamówienia. */
table.shop_table tfoot tr.order-total th,
table.shop_table tfoot .woocommerce-Price-amount,
table.shop_table tfoot .woocommerce-Price-amount bdi {
    color: #33390F !important;
}

/* ---------- 2. WIDOCZNY FOCUS (linki, przyciski, pola — w tym JetEngine) ---------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.jet-listing a:focus-visible,
.jet-listing button:focus-visible,
.jet-listing [tabindex]:focus-visible,
.elementor-slick-slider .slick-dots li button:focus-visible {
    outline: 2px solid #5B5756 !important;
    outline-offset: 2px !important;
    box-shadow: none;
}

/* Elementy formularzy WooCommerce/Elementor Pro bez :focus-visible spójny fallback
 * dla przeglądarek, w których zdarzenie nie odpala się na inputach wypełnianych myszą. */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
    outline: 2px solid #5B5756 !important;
    outline-offset: 1px !important;
}

/* ---------- 3. Uwaga o skip-linku (Przejdź do treści) ----------
 * Zweryfikowane w renderze (dev-browser, focus() + getBoundingClientRect na żywej
 * stronie): po ustawieniu focusa element rośnie do 154×48 px, widoczny w lewym górnym
 * rogu (position:absolute; top:5px; left:5px; z-index:100000), kotwica #content
 * istnieje i działa. Reguła `.screen-reader-text` (motyw Hello Elementor,
 * theme.min.css) jest poprawna — CELOWO nie dodajemy tu żadnego CSS, bo wymuszenie
 * stałego 44×44 px w stanie SPOCZYNKU zepsułoby standardowy wzorzec "ukryty, dopóki
 * nieaktywny" i cofnęłoby dobrą praktykę a11y. `design-audit` mierzy element w stanie
 * domyślnym (bez fokusu), stąd fałszywy alarm "1×1 px" mimo poprawnego zachowania —
 * patrz log A-019 (07.09.2026) i zrzuty w materialy/testy/2026-09-07/a019/.
 */
