/* Lipták Villa 1.2.8: original presentation and an opt-in enhanced view.
   Shared semantics and keyboard focus remain available in either view.
   If scripting fails, the contrast corrections stay on. */
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] .elementor-item,
html:not(.lv-a11y-standard) #page .my-menu .elementor-item {
    color: #17212f !important;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] .elementor-item-active,
html:not(.lv-a11y-standard) #page .my-menu .elementor-item-active {
    color: #111827 !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

/* Dark lettering keeps the institution's original light tile colors. */
html:not(.lv-a11y-standard) #page .elementor-element-5bf725e .elementor-heading-title,
html:not(.lv-a11y-standard) #page .elementor-element-735c64b .elementor-heading-title,
html:not(.lv-a11y-standard) #page .elementor-element-be75be7 .elementor-heading-title,
html:not(.lv-a11y-standard) #page .elementor-element-7cfb7f1 .elementor-heading-title {
    color: #17212f !important;
}

/* A white separation band and black outline remain distinguishable on both
   light and dark backgrounds. The outer ring is not clipped to the text. */
#page a:focus-visible,
#page button:focus-visible,
#page input:focus-visible,
#page select:focus-visible,
#page textarea:focus-visible,
#page [role="button"]:focus-visible,
.elementor-lightbox [tabindex]:focus-visible,
.cky-btn-revisit:focus-visible {
    outline: 3px solid #111111 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px #ffffff !important;
}
#page .lv-class-card:focus-within {
    outline: 3px solid #111111 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px #ffffff !important;
}

/* Paragraphs replacing decorative headings retain the Elementor typography. */
#page .elementor-heading-title p:last-child {
    margin-bottom: 0;
}

/* The switch itself has readable contrast in both presentations. */
#page [data-id="2141d1f"] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 12px;
    width: auto;
    max-width: 100%;
}
#page [data-id="2141d1f"] .elementor-social-icons-wrapper {
    flex: 0 0 auto;
    width: auto;
    line-height: 1;
}
#page .lv-a11y-control { display: inline-flex; max-width: 100%; }
#page button.lv-a11y-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid #766126;
    border-radius: 6px;
    color: #414142;
    background: #ffffff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
    text-transform: none;
    text-decoration: none;
    letter-spacing: normal;
    white-space: nowrap;
    box-shadow: none;
    cursor: pointer;
}
#page button.lv-a11y-toggle[hidden] { display: none !important; }
#page button.lv-a11y-toggle:hover { background: #f6f2e8; }
#page button.lv-a11y-toggle[aria-pressed="true"] {
    color: #ffffff;
    background: #414142;
    border-color: #414142;
}
#page .lv-a11y-track {
    display: inline-block;
    position: relative;
    flex: 0 0 26px;
    width: 26px;
    height: 16px;
    border: 1px solid currentColor;
    border-radius: 10px;
}
#page .lv-a11y-track::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    top: 3px;
    left: 3px;
    border-radius: 50%;
    background: currentColor;
}
#page [aria-pressed="true"] .lv-a11y-track::after { left: 13px; }

/* Disable decorative motion in the enhanced view, without hiding content. */
html:not(.lv-a11y-standard) #page .lv-class-card,
html:not(.lv-a11y-standard) #page .lv-card-image img,
html:not(.lv-a11y-standard) #page .elementor-animation-pop,
html:not(.lv-a11y-standard) #page .elementor-animation-float,
html:not(.lv-a11y-standard) #page .e-transform {
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
html:not(.lv-a11y-standard) { scroll-behavior: auto !important; }

/* Corrections found in the full sitemap audit. The standard view keeps the
   original colors; accessible controls and document semantics are shared. */
html:not(.lv-a11y-standard) #page [data-id="79ec0e55"] {
    color: #bdbdbd !important;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] .elementor-item {
    color: #414142 !important;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] .elementor-item-active,
html:not(.lv-a11y-standard) #page nav[aria-label="Jogi és intézményi hivatkozások"] .elementor-item-active {
    text-decoration: underline;
    text-underline-offset: 4px;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Jogi és intézményi hivatkozások"] a {
    color: #ffffff !important;
}
/* Set foreground and background together for every interactive menu state.
   The theme darkens dropdown items on hover; a dark-text override alone
   would leave those items unreadable. Keep the original view untouched. */
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] a,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a {
    transition: none !important;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] a svg,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a svg {
    fill: currentColor;
}
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] a:hover,
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] a:focus,
html:not(.lv-a11y-standard) #page nav[aria-label="Főmenü"] a.highlighted,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a:hover,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a:focus,
html:not(.lv-a11y-standard) #page nav[aria-label="Információs menü"] a.highlighted,
html:not(.lv-a11y-standard) #page .my-menu .elementor-item:hover,
html:not(.lv-a11y-standard) #page .my-menu .elementor-item:focus {
    color: #ffffff !important;
    background-color: #414142 !important;
}
html:not(.lv-a11y-standard) #page .elementor-post__read-more,
html:not(.lv-a11y-standard) #page [data-id="8906b1d"] a,
html:not(.lv-a11y-standard) #page [data-id="f8f2cef"] a,
html:not(.lv-a11y-standard) #page .lv-a11y-poster-alternative a,
html:not(.lv-a11y-standard) #page .lv-a11y-empty-page a {
    color: #414142 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
html:not(.lv-a11y-standard) #page [data-id="9c205bc"] .elementor-heading-title {
    color: #414142 !important;
    background: #ffffff;
}
html:not(.lv-a11y-standard) #page .e-search-submit,
html:not(.lv-a11y-standard) #page [data-id="d66e057"] a {
    color: #ffffff !important;
    background: #414142 !important;
}
html:not(.lv-a11y-standard) #page input[type="search"] {
    color: #17212f !important;
    background: #ffffff !important;
    border-color: #767676 !important;
}
/* A solid backing gives the title predictable contrast on every poster. */
html:not(.lv-a11y-standard) #page [data-id="47427f0"] .elementor-heading-title {
    display: inline-block;
    max-width: 100%;
    padding: .15em .25em;
    color: #ffffff !important;
    background: #414142;
    box-decoration-break: clone;
}
.lv-a11y-poster-alternative { margin: 12px 0 0; font-size: 16px; }
.lv-a11y-empty-page { padding: 36px 0; }

/* Keep long addresses and headings within the viewport at high zoom. */
html:not(.lv-a11y-standard) #page main,
html:not(.lv-a11y-standard) #page .site-main {
    overflow-wrap: anywhere;
}
html:not(.lv-a11y-standard) #page main .wp-block-paragraph a {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}
html:not(.lv-a11y-standard) #page .tablepress {
    table-layout: fixed;
    width: 100%;
}
html:not(.lv-a11y-standard) #page .tablepress th,
html:not(.lv-a11y-standard) #page .tablepress td {
    overflow-wrap: anywhere;
}
#page [data-id="d66e057"] .uael-table-wrapper {
    max-width: 100%;
    overflow-x: auto;
}
#page [data-id="d66e057"] tbody th[scope="row"] {
    text-align: inherit;
    font-weight: inherit;
}
@media (max-width: 767px) {
    html:not(.lv-a11y-standard) #page [data-id="47427f0"] .elementor-heading-title {
        font-size: clamp(26px, 7vw, 42px);
        line-height: 1.2;
    }
}

@media (max-width: 1024px) {
    #page [data-id="dd1e948"] > .e-con-inner { flex-wrap: wrap; }
    #page [data-id="2141d1f"] { margin-left: auto; }
}
@media (max-width: 767px) {
    #page [data-id="a599a5a"] {
        flex: 0 0 120px;
        width: 120px;
        min-width: 0;
    }
    #page [data-id="a599a5a"] .e-search-input-wrapper {
        flex: 1 1 auto;
        min-width: 0;
    }
    #page [data-id="a599a5a"] .e-search-input {
        width: 100%;
        min-width: 0;
    }
    #page [data-id="a599a5a"] .e-search-submit { flex: 0 0 auto; }
    #page [data-id="2141d1f"] {
        justify-content: flex-end;
        flex-basis: 100%;
        padding-bottom: 10px;
    }
    #page button.lv-a11y-toggle { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    #page .lv-class-card,
    #page .lv-card-image img,
    #page .elementor-animation-pop,
    #page .elementor-animation-float {
        transition: none !important;
        animation: none !important;
    }
}

