/*
 * Narzedzia dostepnosci (rozmiar tekstu, wersja kontrastowa) - patrz
 * functions/dostepnosc-narzedzia.php. Na razie ladowany tylko dla zalogowanych.
 */

/* ============================================================ PANEL PRZYCISKOW */

.bcm-narzedzia-przyciski {
    display: flex;
    align-items: center;
    gap: 4px;
}

.bcm-narzedzia .bcm-narzedzia-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid transparent; /* widoczny w trybie wysokiego kontrastu Windows */
    border-radius: 50%;
    background: transparent;
    color: #122056;
    font-family: "Figtree-Medium", sans-serif;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease;
}

.bcm-narzedzia .bcm-narzedzia-btn:hover {
    background: #eef1f9;
}

.bcm-narzedzia .bcm-narzedzia-btn[aria-disabled="true"] {
    color: #6b7390; /* 4.9:1 na bieli - nadal czytelny, ale wyraznie wygaszony */
    cursor: not-allowed;
}

.bcm-narzedzia .bcm-narzedzia-btn[aria-pressed="true"] {
    background: #122056;
    color: #fff;
}

.bcm-narzedzia .bcm-narzedzia-btn:focus-visible {
    outline: 3px solid #2E6BD6;
    outline-offset: 2px;
}

/* Rozmiar liter w px celowo: przycisk nie moze rosnac razem z tekstem strony,
   bo przy 130 % rozepchnalby naglowek. */
.bcm-narzedzia-a {
    font-size: 15px;
    letter-spacing: -.02em;
}

.bcm-narzedzia-a--duze {
    font-size: 19px;
}

.bcm-narzedzia-znak {
    font-size: .75em;
    vertical-align: super;
    margin-left: 1px;
}

html.dark .bcm-narzedzia .bcm-narzedzia-btn {
    color: #fff;
}

html.dark .bcm-narzedzia .bcm-narzedzia-btn:hover {
    background: rgba(255, 255, 255, .12);
}

html.dark .bcm-narzedzia .bcm-narzedzia-btn[aria-pressed="true"] {
    background: #fff;
    color: #1c1f2a;
}

/* Naglowek: tylko od 1170 px (ponizej panel jest w menu mobilnym). */
.bcm-narzedzia--naglowek {
    display: none;
    margin-right: 4px;
    padding-left: 8px;
    border-left: 1px solid rgba(18, 32, 86, .15);
}

@media (min-width: 1170px) {
    .bcm-narzedzia--naglowek {
        display: block;
    }
}

html.dark .bcm-narzedzia--naglowek {
    border-left-color: rgba(255, 255, 255, .2);
}

.bcm-narzedzia--mobilne {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, .1);
}

.bcm-narzedzia--mobilne .bcm-narzedzia-tytul {
    margin: 0 0 10px;
    font-size: 1.4rem;
    line-height: 1.4;
    opacity: .75;
}

.bcm-narzedzia--mobilne .bcm-narzedzia-btn {
    background: #f3f4f6;
}

@media (min-width: 1170px) {
    .bcm-narzedzia--mobilne {
        display: none;
    }
}

/* ============================================================ WERSJA KONTRASTOWA */

/*
 * Czern / biel / zolc: tekst #fff na #000 (21:1), linki i przyciski #ff0 (19.6:1),
 * fokus #0ff (16.7:1). Ozdobne tla, gradienty, cienie i zdjecia w tle znikaja -
 * zostaja zdjecia w <img> (tresc). Reguly sa szerokie z !important, bo musza wygrac
 * z kazdym stylem motywu, blokow i wtyczek.
 */

html.bcm-kontrast,
html.bcm-kontrast body {
    background: #000 !important;
    color: #fff !important;
}

html.bcm-kontrast body *:not(svg):not(svg *):not(img):not(picture):not(video):not(iframe):not(canvas) {
    background-color: transparent !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Tla elementow, ktore przykrywaja tresc (naglowek, menu, okna, panele) - czarne, nie przezroczyste. */
html.bcm-kontrast #header,
html.bcm-kontrast #header > div,
html.bcm-kontrast #mobile-menu,
html.bcm-kontrast nav.main-nav ul ul,
html.bcm-kontrast [role="dialog"],
html.bcm-kontrast dialog,
html.bcm-kontrast .bcm-search-listbox,
html.bcm-kontrast footer,
html.bcm-kontrast .szp-pasek-mobilny,
html.bcm-kontrast #CybotCookiebotDialog,
html.bcm-kontrast #CybotCookiebotDialog *,
html.bcm-kontrast .fix-socials a,
html.bcm-kontrast .leaflet-popup-content-wrapper,
html.bcm-kontrast .leaflet-popup-tip,
html.bcm-kontrast .leaflet-bar a {
    background-color: #000 !important;
}

html.bcm-kontrast #header > div {
    border-bottom: 2px solid #fff !important;
}

html.bcm-kontrast body *::before,
html.bcm-kontrast body *::after {
    background-image: none !important;
    box-shadow: none !important;
    border-color: #fff !important;
}

/* Panel mega-menu rysuje motyw w ::before (biale tlo z cieniem). */
html.bcm-kontrast nav.main-nav div > ul > li > ul::before {
    background-color: #000 !important;
    border-bottom: 2px solid #fff !important;
}

html.bcm-kontrast a,
html.bcm-kontrast a *:not(svg):not(svg *):not(img) {
    color: #ff0 !important;
}

html.bcm-kontrast a {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

html.bcm-kontrast a:hover {
    text-decoration-thickness: 3px !important;
}

html.bcm-kontrast button,
html.bcm-kontrast [role="button"],
html.bcm-kontrast input[type="submit"],
html.bcm-kontrast input[type="button"],
html.bcm-kontrast .szp-btn,
html.bcm-kontrast .szp-chip,
html.bcm-kontrast .szp-kt-profil {
    border: 2px solid #ff0 !important;
    color: #ff0 !important;
}

html.bcm-kontrast button[aria-pressed="true"],
html.bcm-kontrast .szp-chip[aria-pressed="true"],
html.bcm-kontrast .bcm-narzedzia-btn[aria-pressed="true"] {
    background-color: #ff0 !important;
    color: #000 !important;
}

html.bcm-kontrast button[aria-pressed="true"] *,
html.bcm-kontrast .bcm-narzedzia-btn[aria-pressed="true"] * {
    color: #000 !important;
}

html.bcm-kontrast input,
html.bcm-kontrast select,
html.bcm-kontrast textarea {
    border: 2px solid #fff !important;
    background-color: #000 !important;
    color: #fff !important;
}

html.bcm-kontrast ::placeholder {
    color: #ccc !important;
    opacity: 1;
}

html.bcm-kontrast :focus-visible {
    outline: 3px solid #0ff !important;
    outline-offset: 3px !important;
}

/* Ikony SVG wpisane w strone przejmuja kolor tekstu (biel / zolc w linkach). */
html.bcm-kontrast svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

html.bcm-kontrast svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

html.bcm-kontrast svg {
    color: inherit;
}

/* Elementy przygaszone stylem (opacity) - pelna widocznosc. */
html.bcm-kontrast .opacity-50,
html.bcm-kontrast .szp-kt-punkt.is-przygaszony,
html.bcm-kontrast .szp-kt-podpis.is-przygaszony {
    opacity: 1 !important;
}

html.bcm-kontrast mark,
html.bcm-kontrast .mapa-trafienie > .mapa-wiersz .mapa-link {
    background-color: #ff0 !important;
    color: #000 !important;
}

html.bcm-kontrast hr {
    border-color: #fff !important;
}

/* Tabele: wyrazne krawedzie komorek. */
html.bcm-kontrast table th,
html.bcm-kontrast table td {
    border: 1px solid #fff !important;
}

@media (prefers-reduced-motion: reduce) {
    .bcm-narzedzia .bcm-narzedzia-btn {
        transition: none;
    }
}
