/* ================================================
   WCAG 2.1 AA – High Contrast mód (globális)
   ================================================ */

/* Alap háttér és szöveg */
html,
body,
body main {
    background-color: #000 !important;
    color: #fff !important;
}

.main-nav .langs {
    align-items: center !important;
    height: 2vw !important;
}

.main-nav .langs a.lang img {
    margin-top: 0 !important;
}

.main-nav nav.user-nav {
    line-height: 1 !important;
    font-size: 0 !important;
}

#mobileNav a {
    color: #000 !important;
}

.home-hero .newsletter-subscribe,
.service-box,
.service-box .next-time,
.post-card,
.main-nav,
.main-nav .mega-menu .content,
.application-form,
.career-box,
.partner,
.audience-icons,
.events-sidebar-inner,
.event-box,
.program-row,
.program-file,
.white-block-page {
    background-color: #1a1a1a !important;
    border: 1px solid #444 !important;
    color: #fff !important;
}

.event-box {
    opacity: 1 !important;
}

/* Szöveg elemek */
h1, h2, h3, h4, h5, h6,
p, li, span, div, label,
.position-content strong {
    color: #fff !important;
}

.btn.white-outline span,
.btn.btn-l span,
#loginBtn span,
button span,
.niu-input label,
.fileuploader-input p,
.fileuploader-input span {
    color: #000 !important;
}

#acceptTerms {
    border: 1px solid #fff !important;
}

/* Linkek */
a {
    color: #ffff00 !important;
    text-decoration: underline !important;
}

.menu-row a {
    text-decoration: none !important;
}

#checkbox3 {
    width: 5.128vw !important;
    height: 5.128vw !important;
}

.focus-visible,
#mobileNavToggle label:focus-visible,
#mobileNavToggle label:focus,
.hamburger:hover,
.hamburger:focus,
a:hover,
a:focus {
    color: #ffff00 !important;
    background-color: #333 !important;
    outline: 2px solid #ffff00 !important;
}

nav li:hover > a,
nav li:focus-within > a {
    color: #ffff00 !important;
    background-color: #333 !important;
    outline: 2px solid #ffff00 !important;
}

a.lang {
    display: inline-block;
    width: 1.45vw;
    height: 1.45vw;
    line-height: 1.45vw;
    font-size: 0;
}

a.logo {
    display: inline-block;
}

/* Gombok */
button,
input[type="button"],
input[type="submit"],
.btn,
.profile-sidebar-links-block a,
.profile-sidebar .btn.selected,
.event-box .event-type {
    background-color: #fff !important;
    color: #000 !important;
    border: 2px solid #fff !important;
}

.profile-sidebar .btn span,
.event-box .event-type p {
    color: #000 !important;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.btn:hover {
    background-color: #ffff00 !important;
    color: #000 !important;
}

/* Input mezők */
input,
textarea,
select,
.select2-selection,
.select2-dropdown {
    background-color: #111 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #ffff00 !important;
    background-color: #000 !important;
}

.application-form input,
.application-form textarea,
.application-form select,
.login-form-block input,
.login-form-block textarea,
.login-form-block select {
    background-color: #fff !important;
    color: #000 !important;
}

.password_requirements p {
    color: #fff !important;
    opacity: 1 !important;
}

/* Ikonok és SVG elemek */
svg, i {
    fill: #fff !important;
    color: #fff !important;
}

/* Navigáció és lábléc */
header,
footer {
    background-color: #000 !important;
    border-top: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
}

/* Kártyák, panelek, dobozok */
.card,
.panel,
.box {
    background-color: #111 !important;
    border: 2px solid #fff !important;
    color: #fff !important;
}

/* Fókusz (billentyűzet navigációhoz) */
:focus-visible {
    outline: 3px solid #00ffff !important;
    outline-offset: 2px !important;
}

/* Táblázatok */
table {
    border-collapse: collapse !important;
}

th, td {
    border: 2px solid #fff !important;
    color: #fff !important;
    background-color: #000 !important;
}

/* Figyelmeztetések, üzenetek */
.alert,
.notification {
    background-color: #000 !important;
    color: #ff0 !important;
    border: 2px solid #ff0 !important;
}

/* Árnyékok és képi hatások kikapcsolása */
* {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

/* Hírlevél checkbox */
.checkbox-group {
    position: relative !important;
}

.checkbox-group input[type="checkbox"] {
    position: absolute !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin-right: 0.5em !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    display: inline-block !important;
}

.checkbox-group label::before {
    content: none !important;
}

/* Hiba ablak */
.swal2-title,
.swal2-html-container {
    color: #000 !important;
}

.swal2-confirm {
    background-color: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
    border-top-left-radius: 1.04vw !important;
    border-bottom-right-radius: 1.04vw !important;
    font-size: 0.83vw !important;
    height: 2.08vw !important;
    line-height: 2.08vw !important;
    padding-left: 1.04vw !important;
    padding-right: 1.04vw !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    outline: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

.szechenyi-close {
    color: #000 !important;
}

@media only screen and (max-width: 640px) {
    .main-nav nav.user-nav li .nameHolder p {
        color: #000 !important;
    }

    .inside.right .mega-menu {
        background-color: #fff !important;
        width: 100vw !important;
        border-bottom-right-radius: 5.128vw !important;
        border-top-left-radius: 5.128vw !important;
    }

    .inside.right .mega-menu li a {
        font-size: 4.615vw !important;
        text-align: center !important;
        font-weight: 500 !important;
        padding-bottom: 4.35vw !important;
        display: block !important;
    }

    .inside.right .mega-menu.open .content {
        background-color: #fff !important;
    }

    .inside.right .mega-menu.open .content a {
        color: #000 !important;
        text-decoration: underline !important;
        padding-top: 4.35vw !important;
    }

    a.lang {
        width: 6.771vw !important;
        height: 6.771vw !important;
    }

    #mobileLangs a.lang:hover {
        width: 6.771vw !important;
        height: 6.771vw !important;
    }
}