/* Dostępność (WCAG 2.1 AA) - consultor.pl. Ładowane po arkuszach Mobirise. Cyfrowa Pomoc, 11.2026 */

/* --- 1.4.3 Kontrast: firmowy niebieski #149dcc (3,1:1) -> #0a6d91 (5,8:1), szary #767676 -> #595959 (7:1) --- */
a, a:hover, .text-primary, .text-primary:hover { color: #0a6d91 !important; }
.btn-primary, .btn-primary:active, .btn-primary:focus, .bg-primary,
.btn-primary-outline:hover, .btn-primary-outline:focus, .btn-primary-outline.active {
  background-color: #0a6d91 !important; border-color: #0a6d91 !important; color: #fff !important;
}
.btn-primary:hover { background-color: #08587a !important; border-color: #08587a !important; color: #fff !important; }
[class*="cid-"] .nav-tabs .nav-link:hover, [class*="cid-"] .nav-tabs .nav-link.active { background: #0a6d91 !important; color: #fff !important; }
.cid-sm0tOQ8Iod .mbr-section-subtitle, .cid-sm0JnIweXb .mbr-text, .cid-sm0ANZb7ZG .mbr-text, .cid-smtxwfXZNc .mbr-section-subtitle,
.cid-smty9V3hDD .mbr-section-text, .cid-smty9V3hDD .mbr-section-subtitle, .cid-smty9V3hDD .nav-tabs .nav-link:not(.active),
.cid-sm6oKA1EES .mbr-section-subtitle, .cid-sm6rDe82TM .mbr-text, .cid-sm6sHQ4hJl .mbr-text, .cid-sm6tQRj7gL .mbr-text,
.cid-sm6vOOs2pA .mbr-text, .cid-sm6ywNj9Og .mbr-text, .cid-sm6zdC3cbo .mbr-text, .cid-sm6kDKASim .mbr-section-subtitle,
.cid-smtmLCns46 .mbr-section-subtitle, .cid-snZnVecKxZ .mbr-section-subtitle, .cid-snZlpTOXqu .counter-container,
.cid-smtmTRHL7n .mbr-section-subtitle, .cid-snZlm07c3Y .mbr-section-subtitle, .cid-sCjaQRnz7q .mbr-section-subtitle,
.cid-sEhUjOIFdK .mbr-text, .cid-sEhVyM6Ms9 .mbr-text, .cid-sEhXczBmJv .mbr-text, .cid-sEhYPqaf47 .mbr-text, .cid-sEi0Ko62zI .mbr-text,
.cid-sEiif5i9FG .mbr-section-subtitle, .cid-sEiif69yEn .mbr-text, .cid-sEiif6uN0T .mbr-text, .cid-sEiif6OBVS .mbr-text,
.cid-sEiif76hwi .mbr-text, .cid-sEiif7rtFF .mbr-text { color: #595959 !important; }
/* stopka (tło #073b4c): linki jasne */
.a11y-footer a { color: #ffffff !important; text-decoration: underline !important; }
.a11y-footer a[href*="cyfrowapomoc"] { color: #ff9a5c !important; }

/* --- 1.4.1 linki w tekście rozpoznawalne nie tylko kolorem --- */
main p a, main li a, main td a, .a11y-decl a, .section-text a { text-decoration: underline !important; }
.cert-card h2 { margin: 0; padding: 1rem 1.4rem; font-size: 1.15rem; font-weight: 600; color: #fff; background-color: #073b4c; }

/* --- 2.4.7 / 2.4.11 Widoczny fokus (żółto-czarny, widoczny na jasnym i ciemnym tle) --- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
[tabindex]:focus-visible, .nav-link:focus-visible, .btn:focus-visible {
  outline: 3px solid #ffbf47 !important; outline-offset: 2px !important; box-shadow: 0 0 0 5px #1a1a1a !important;
}
main:focus { outline: none; }

/* --- 2.4.1 Pomiń nawigację --- */
.a11y-skip {
  position: absolute; left: 8px; top: -60px; z-index: 100000; padding: 12px 18px;
  background: #1a1a1a; color: #fff !important; font: 600 16px/1.2 Arial, Helvetica, sans-serif; text-decoration: underline;
}
.a11y-skip:focus { top: 8px; }
.a11y-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* --- nagłówki zmienione ze względu na kolejność (1.3.1) - wygląd bez zmian --- */
.cid-sm0JnIweXb h3 { font-weight: 500; margin-bottom: 0; text-align: left; padding-top: 2rem; }
.cid-sm0ANZb7ZG h3 { font-weight: 500; margin-bottom: 0; text-align: left; }
h2.a11y-h5 { font-size: 1.25rem; }
/* podtytuły zamienione z h3 na p - wyrównanie jak w szablonie (.cid-... H3) */
.cid-sm16DIoqwy p.mbr-section-subtitle { text-align: center; }
.cid-sm16DIoqwy p.mbr-section-subtitle, .cid-sEiif5AfTw p.mbr-section-subtitle, .cid-smtmTRHL7n p.mbr-section-subtitle, .cid-snZlm07c3Y p.mbr-section-subtitle { margin-bottom: .5rem; }
#close-info-box { background: none; border: 0; color: inherit; float: right; cursor: pointer; font-size: 22px; margin-left: 15px; line-height: 1; padding: 4px 8px; }

/* --- stopka: miejsce na przycisk panelu, żeby nie zasłaniał ostatnich linków (2.4.11) --- */
.a11y-footer > section { padding-bottom: 84px !important; }
/* --- link „Deklaracja dostępności" w stopce --- */
.a11y-footer-links { margin-top: .5rem; }

/* ================= Panel „Ułatwienia dostępu" ================= */
#a11y-btn {
  position: fixed; left: 12px; bottom: 12px; z-index: 99998; width: 52px; height: 52px; border-radius: 50%;
  background: #0a6d91; color: #fff; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.35); cursor: pointer;
  display: flex; align-items: center; justify-content: center; padding: 0;
}
#a11y-btn svg { width: 30px; height: 30px; fill: currentColor; }
#a11y-panel {
  position: fixed; left: 12px; bottom: 74px; z-index: 99999; width: 300px; max-width: calc(100vw - 24px); max-height: calc(100vh - 100px);
  overflow: auto; background: #fff; color: #1a1a1a; border: 2px solid #0a6d91; border-radius: 8px; box-shadow: 0 6px 24px rgba(0,0,0,.3);
  font: 16px/1.4 Arial, Helvetica, sans-serif; padding: 14px;
}
#a11y-panel[hidden] { display: none; }
#a11y-panel h2 { font: 700 18px/1.3 Arial, Helvetica, sans-serif; margin: 0 0 10px; color: #1a1a1a; }
#a11y-panel .a11y-row { display: flex; gap: 6px; margin-bottom: 8px; }
#a11y-panel button.a11y-opt {
  flex: 1; text-align: left; background: #f2f2f2; color: #1a1a1a; border: 2px solid #8a8a8a; border-radius: 6px;
  padding: 9px 10px; font: 15px/1.3 Arial, Helvetica, sans-serif; cursor: pointer;
}
#a11y-panel button.a11y-opt[aria-pressed="true"] { background: #0a6d91; color: #fff; border-color: #0a6d91; }
#a11y-panel button.a11y-opt:hover { border-color: #1a1a1a; }
#a11y-panel .a11y-size button { flex: 0 0 auto; text-align: center; min-width: 52px; font-weight: 700; }
#a11y-panel .a11y-size span { flex: 1; align-self: center; font-size: 15px; }
#a11y-panel .a11y-close { position: absolute; right: 8px; top: 6px; background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: #1a1a1a; padding: 4px 8px; }
#a11y-panel a { color: #0a6d91 !important; text-decoration: underline; }
#a11y-panel .a11y-links { margin-top: 10px; padding-top: 10px; border-top: 1px solid #ccc; font-size: 15px; }

/* tryby panelu */
html.a11y-links-underline a { text-decoration: underline !important; }
html.a11y-readable body, html.a11y-readable body *:not(.mbr-iconfont):not([class*="mbri-"]):not([class*="socicon"]) {
  font-family: Verdana, Arial, Helvetica, sans-serif !important; letter-spacing: .03em !important; word-spacing: .08em !important; line-height: 1.6 !important;
}
html.a11y-noanim *, html.a11y-noanim *::before, html.a11y-noanim *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* wysoki kontrast: czarne tło, biały tekst, żółte linki */
html.a11y-contrast body, html.a11y-contrast body *:not(#a11y-panel):not(#a11y-panel *):not(img):not(svg):not(iframe) {
  background-color: #000 !important; background-image: none !important; color: #fff !important; border-color: #fff !important; text-shadow: none !important;
}
html.a11y-contrast a, html.a11y-contrast a * { color: #ffeb3b !important; text-decoration: underline !important; }
html.a11y-contrast .mbr-overlay { display: none !important; }
html.a11y-contrast .btn { border: 2px solid #ffeb3b !important; }
html.a11y-contrast img { filter: grayscale(30%) contrast(110%); }
html.a11y-contrast #a11y-btn { background: #ffeb3b !important; color: #000 !important; border-color: #000 !important; }
