/* -------------------------------------------------------------------------- */
/* Accessibility & High-Contrast Mode Stylesheet - NsP Revúca               */
/* WCAG 2.1 / 2.2 Level AAA Compliant (21:1 Contrast Ratio)                  */
/* Čierno-biely režim s maximálnym kontrastom bez nečitateľných farieb        */
/* -------------------------------------------------------------------------- */

/* Skip Link pre čítačky obrazovky a klávesnicovú navigáciu */
.skip-link {
    position: absolute;
    top: -999px;
    left: 1rem;
    z-index: 100000;
    padding: 0.85rem 1.5rem;
    background-color: #000000;
    color: #ffffff;
    border: 3px solid #ffffff;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: underline;
    text-underline-offset: 4px;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    transition: top 0.15s ease-in-out;
}

.skip-link:focus,
.skip-link:focus-visible {
    top: 1rem;
    color: #000000;
    background-color: #ffffff;
    border-color: #000000;
    outline: 4px solid #ffffff;
    outline-offset: 2px;
}

/* Tlačidlo prístupnosti v štandardnom zobrazení */
.accessibility-toggle-btn {
    font-weight: 600;
    transition: all 0.2s ease;
    border-color: #cbd5e1;
    color: #1e293b;
    background-color: #ffffff;
}

.accessibility-toggle-btn:hover,
.accessibility-toggle-btn:focus {
    background-color: #0d6efd;
    color: #ffffff;
    border-color: #0d6efd;
}

.accessibility-toggle-btn i {
    font-size: 1.1rem;
}

/* ========================================================================== */
/* REŽIM PRE SLABOZRAKÝCH (.high-contrast)                                    */
/* 100% Čierno-biela schéma (21:1 kontrast) – eliminované všetky žlté na bielom */
/* ========================================================================== */

/* 1. Globálny reset pozadia a farby – žiadny element nesmie zostať biely */
body.high-contrast,
body.high-contrast *:not(.skip-link) {
    background-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
    filter: none !important;
    backdrop-filter: none !important;
}

/* 2. Zvýšená čitateľnosť, veľkosť a riadkovanie */
body.high-contrast {
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
    letter-spacing: 0.3px !important;
}

/* 3. Nadpisy – čistá biela s hrubým písmom a zreteľným oddelením */
body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
body.high-contrast h6,
body.high-contrast .h1,
body.high-contrast .h2,
body.high-contrast .h3,
body.high-contrast .h4,
body.high-contrast .h5,
body.high-contrast .h6,
body.high-contrast .display-1,
body.high-contrast .display-2,
body.high-contrast .display-3,
body.high-contrast .display-4,
body.high-contrast .display-5,
body.high-contrast .display-6,
body.high-contrast .card-title,
body.high-contrast .member-name,
body.high-contrast .sponsor-name,
body.high-contrast .section-header h1 {
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
}

/* 4. Texty, odstavce, popisy a odznaky – zákaz sivých a nečitateľných textov */
body.high-contrast p,
body.high-contrast span,
body.high-contrast li,
body.high-contrast dt,
body.high-contrast dd,
body.high-contrast td,
body.high-contrast th,
body.high-contrast div,
body.high-contrast label,
body.high-contrast small,
body.high-contrast strong,
body.high-contrast b,
body.high-contrast em,
body.high-contrast i,
body.high-contrast .text-muted,
body.high-contrast .text-secondary,
body.high-contrast .text-dark,
body.high-contrast .text-info,
body.high-contrast .text-primary,
body.high-contrast .text-success,
body.high-contrast .text-danger,
body.high-contrast .text-warning,
body.high-contrast .text-body-secondary,
body.high-contrast .text-black-50,
body.high-contrast .lead,
body.high-contrast .role-tag,
body.high-contrast .subtitle {
    color: #ffffff !important;
}

/* 5. Karty, sekcie, panely, boxy a dropdowny – orámované kontrastnou bielou */
body.high-contrast .card,
body.high-contrast .card-body,
body.high-contrast .card-header,
body.high-contrast .card-footer,
body.high-contrast .service-card,
body.high-contrast .contact-card,
body.high-contrast .strategy-card,
body.high-contrast .value-item,
body.high-contrast .member-card,
body.high-contrast .sponsor-card,
body.high-contrast .sponsor-ticker-container,
body.high-contrast .sidebar-card,
body.high-contrast .medical-card,
body.high-contrast .alert,
body.high-contrast .modal-content,
body.high-contrast .modal-header,
body.high-contrast .modal-body,
body.high-contrast .modal-footer,
body.high-contrast .accordion-item,
body.high-contrast .accordion-button,
body.high-contrast .accordion-body,
body.high-contrast .list-group-item,
body.high-contrast .dropdown-menu,
body.high-contrast .dropdown-item,
body.high-contrast header,
body.high-contrast nav,
body.high-contrast .top-bar,
body.high-contrast .navbar,
body.high-contrast .navbar-collapse,
body.high-contrast footer,
body.high-contrast main,
body.high-contrast section,
body.high-contrast article,
body.high-contrast aside {
    background-color: #000000 !important;
    background: #000000 !important;
    border-color: #ffffff !important;
}

body.high-contrast .card,
body.high-contrast .service-card,
body.high-contrast .contact-card,
body.high-contrast .strategy-card,
body.high-contrast .member-card,
body.high-contrast .sponsor-card,
body.high-contrast .medical-card,
body.high-contrast .sidebar-card,
body.high-contrast .alert,
body.high-contrast .modal-content,
body.high-contrast .dropdown-menu,
body.high-contrast .accordion-item {
    border: 2px solid #ffffff !important;
    border-radius: 6px !important;
}

body.high-contrast header,
body.high-contrast .top-bar,
body.high-contrast .navbar,
body.high-contrast footer {
    border-bottom: 2px solid #ffffff !important;
}

body.high-contrast footer {
    border-top: 2px solid #ffffff !important;
}

body.high-contrast hr {
    border-color: #ffffff !important;
    opacity: 1 !important;
}

/* 6. Odkazy – biely text s výrazným hrubým podčiarknutím a reverzným hoverom */
body.high-contrast a:not(.btn) {
    color: #ffffff !important;
    background-color: #000000 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 4px !important;
    font-weight: 700 !important;
}

body.high-contrast a:not(.btn):hover,
body.high-contrast a:not(.btn):focus {
    background-color: #ffffff !important;
    color: #000000 !important;
    text-decoration: none !important;
}

/* 7. Tlačidlá – čierne s bielym orámovaním, pri hoveri reverzné biele */
body.high-contrast .btn {
    background-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}

body.high-contrast .btn:hover,
body.high-contrast .btn:focus,
body.high-contrast .btn:active {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Tlačidlo prístupnosti v zapnutom stave – reverzné zobrazenie */
body.high-contrast .accessibility-toggle-btn {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #ffffff !important;
    font-weight: 800 !important;
}

body.high-contrast .accessibility-toggle-btn * {
    background-color: transparent !important;
    color: #000000 !important;
}

body.high-contrast .accessibility-toggle-btn:hover,
body.high-contrast .accessibility-toggle-btn:focus {
    background-color: #e2e8f0 !important;
    color: #000000 !important;
}

/* 8. Formulárové prvky – čierne pozadie, biely rám, biely text */
body.high-contrast input,
body.high-contrast textarea,
body.high-contrast select,
body.high-contrast .form-control,
body.high-contrast .form-select {
    background-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 4px !important;
}

body.high-contrast input::placeholder,
body.high-contrast textarea::placeholder {
    color: #aaaaaa !important;
}

body.high-contrast .form-check-input {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
}

body.high-contrast .form-check-input:checked {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}

/* 9. Tabuľky – 100% kontrast buniek a rámov */
body.high-contrast table,
body.high-contrast .table {
    border: 2px solid #ffffff !important;
    background-color: #000000 !important;
}

body.high-contrast th,
body.high-contrast td,
body.high-contrast .table th,
body.high-contrast .table td {
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    background-color: #000000 !important;
}

body.high-contrast th,
body.high-contrast .table th {
    background-color: #1a1a1a !important;
    font-weight: 800 !important;
}

body.high-contrast tr:hover td {
    background-color: #1e1e1e !important;
}

/* 10. Focus rámček pre navigáciu z klávesnice */
body.high-contrast *:focus,
body.high-contrast *:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: 3px !important;
}

/* 11. Odznaky (Badges) */
body.high-contrast .badge {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    padding: 0.4rem 0.7rem !important;
}

/* 12. Modálne okná */
body.high-contrast .modal-header,
body.high-contrast .modal-footer {
    border-color: #ffffff !important;
}

body.high-contrast .btn-close {
    filter: invert(1) brightness(2) !important;
}

body.high-contrast .navbar-toggler {
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}

body.high-contrast .navbar-toggler-icon {
    filter: invert(1) brightness(2) !important;
}

/* 13. Ikony */
body.high-contrast i.bi {
    color: #ffffff !important;
}

/* 14. Cookie banner */
body.high-contrast #cookie-banner {
    background-color: #000000 !important;
    border-top: 3px solid #ffffff !important;
    color: #ffffff !important;
}
