﻿
/* =====================================
   DOSTĘPNOŚĆ – WIDOCZNY FOKUS
   ===================================== */

/* Linki, przyciski i pola formularzy */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 3px;
    position: relative;
    z-index: 1000;
}

/* Elementy z fokusem wewnątrz komponentów */
*:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 3px;
}

/* Nie pokazuj obramowania po zwykłym kliknięciu myszą,
   jeśli przeglądarka rozpoznaje fokus myszy */
*:focus:not(:focus-visible) {
    outline: none !important;
}


/* Fokus dla linków w nagłówkach */
h1 a:focus-visible,
h2 a:focus-visible,
h3 a:focus-visible,
h4 a:focus-visible {
    display: inline-block;
    max-width: 100%;
    outline: 3px solid #005fcc !important;
    outline-offset: 3px !important;
    border-radius: 2px;
}




/* Karta aktualności */
.news {
    position: relative;
}

/* Fokus na dowolnym linku wewnątrz aktualności */
.news:focus-within {
    box-shadow: inset 0 0 0 3px #005fcc !important;
}

/* Tytuł aktualności */
.news .tytul a:focus,
.news .tytul a:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: underline !important;
}

/* Fokus na zdjęciu aktualności */
.news .newsGrafika a:focus,
.news .newsGrafika a:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}


/* Fokus na linkach graficznych */
a:has(> img):focus,
a:has(> img):focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -3px !important;
    box-shadow: inset 0 0 0 3px #005fcc !important;
}

/* Dodatkowe wyróżnienie samej grafiki */
a:has(> img):focus img,
a:has(> img):focus-visible img {
    outline: 3px solid #005fcc !important;
    outline-offset: -3px !important;
}






/* ========================================
   WYBÓR JĘZYKA - DOSTĘPNOŚĆ
   ======================================== */

.lang .lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    margin: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    vertical-align: middle;
}

/* Fokus na przycisku */
.lang .lang-toggle:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* Ukryta lista */
.lang .wersje[hidden] {
    display: none !important;
}

/* Rozwinięta lista */
.lang.lang-open .wersje:not([hidden]) {
    display: block !important;
}

/* Pozycje języków */
.lang .wersje [role="button"] {
    cursor: pointer;
}

/* Fokus na językach */
.lang .wersje [role="button"]:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -3px !important;
    background-color: #e8f1ff;
    color: #111;
}






/* Fokus na głównych pozycjach menu */
#menuMain > li > a:focus,
#menuMain > li > a:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -3px !important;
}

/* Fokus na linkach rozwijanych paneli */
.menuBox a:focus,
.menuBox a:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -2px !important;
}




/* Fokus menu głównego */
#menuMain > li > a:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -3px !important;
}

/* Fokus w rozwijanych panelach */
.menuBox a:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: -2px !important;
    position: relative;
    z-index: 2;
}



/* UE i języki - kolejność wizualna i klawiaturowa */

.header-accessibility-tools {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-bottom: 8px;
}

.header-accessibility-tools > .flagUE,
.header-accessibility-tools > .lang {
    float: none !important;
    flex: 0 0 auto;
    margin-bottom:0px;
}






/* Kontener nagłówka */

.top {
    position: relative;
    isolation: isolate;
}

.top .top-bg-layer {
    position: absolute;
    inset: 0;
    z-index: -1;

    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    opacity: 0;
    transition: opacity 1s ease;
    pointer-events: none;
}

.top .top-bg-layer.active {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .top .top-bg-layer {
        transition: none;
    }
}




