/* ==========================================================
   EGYHÁZTÖRTÉNETI SZEMLE - CLEANED PRODUCTION CSS
   OJS 3.5 / consolidated stylesheet
   ========================================================== */

/* ===== FONTS ===== */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/montserrat/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/montserrat/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/montserrat/JTUQjIg1_i6t8kCHKm459WxRzS7mw9c.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/montserrat/JTUQjIg1_i6t8kCHKm459WxRyS7m.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/ptsans/jizaRExUiTo99u79D0yExdGM.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/ptsans/jizaRExUiTo99u79D0KExQ.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/ptsans/jizYRExUiTo99u79D0e0ycmIEDQ.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/ojs/public/journals/1/google-fonts/ptsans/jizYRExUiTo99u79D0e0x8mI.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== VARIABLES ===== */
:root {
    --sz-red: #882222;
    --sz-red-dark: #5a1212;
    --sz-gold: #c5a059;
    --sz-cream: #f8ecd2;
    --sz-text: #2c2c2c;
    --sz-white: #ffffff;
    --sz-border: #eeeeee;
    --sz-radius: 6px;
    --tr-color: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
    --tr-elev: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* ===== BASE ===== */
html {
    -webkit-text-size-adjust: 100%;
}

html,
body {
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 400;
    background-color: var(--sz-white);
    color: var(--sz-text);
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.section-title,
.pkp_navigation_primary a {
    font-family: 'Montserrat', Arial, sans-serif;
}

h1,
h2,
h3,
.section-title {
    font-weight: 700;
}

/* ===== HEADER ===== */
.pkp_structure_head {
    background: var(--sz-cream) !important;
    border-bottom: 4px solid var(--sz-gold);
    box-shadow: none !important;
    text-shadow: none !important;
}

.pkp_structure_head *,
.pkp_structure_head::before,
.pkp_structure_head::after,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.pkp_navigation_primary a {
    font-weight: 700;
    color: var(--sz-red) !important;
    text-transform: uppercase;
    transition: var(--tr-color);
}

.pkp_navigation_primary a:hover,
.pkp_navigation_primary a:focus {
    color: var(--sz-gold) !important;
    background: rgba(136, 34, 34, 0.05);
}

.site-header-bar {
    width: 100% !important;
    background: var(--sz-cream) !important;
    border-bottom: none !important;
    padding: 6px 0 2px !important;
    min-height: 98px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
}

.site-header-inner {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    box-sizing: border-box;
}

.site-header-logo {
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0);
    background: inherit;
}

.site-header-logo img {
    display: block;
    width: 150px !important;
    height: 150px !important;
    aspect-ratio: 150 / 150;
    max-width: none !important;
    max-height: none !important;
    background: inherit;
}

.pkp_site_name {
    margin: 0 auto !important;
    padding: 4px 20px 10px !important;
    text-align: center !important;
    min-height: 72px !important;
    box-sizing: border-box;
}

.pkp_site_name a,
.pkp_site_name .is_text {
    display: block !important;
    min-height: 2.4em !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: var(--sz-red) !important;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.pkp_site_name .site_description {
    display: block;
    margin-top: 6px;
    min-height: 1.4em;
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.25;
    color: #5f5647;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pkp_site_name::after {
    display: none !important;
    content: none !important;
}

/* ===== CONTENT ===== */
.page_index_journal .current_issue_illustration {
    max-width: 400px;
    margin: 25px auto;
    display: block;
    text-align: center;
}

.page_index_journal .current_issue_illustration img {
    width: 100%;
    height: auto;
    border-radius: var(--sz-radius);
    border: 3px solid var(--sz-red);
    padding: 5px;
    background: var(--sz-gold);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    transition: var(--tr-elev);
}

.obj_article_summary {
    padding: 25px;
    margin-bottom: 25px;
    border: 1px solid var(--sz-border);
    border-radius: var(--sz-radius);
    background: var(--sz-white);
    box-shadow: 0 4px 12px rgba(136, 34, 34, 0.15) !important;
    transition: var(--tr-elev), border-color 0.3s ease;
}

.obj_article_summary:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(136, 34, 34, 0.25) !important;
    border-color: var(--sz-gold);
}

.obj_galley_link,
.galley-link,
.cmp_galley_link,
a[href*='/article/view/'][href*='/pdf'],
button[aria-label='GetFTR Button'] {
    min-width: 48px;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 4px 6px 4px 0 !important;
    padding: 10px 16px;
    box-sizing: border-box;
    line-height: 1.2;
}

.obj_galley_link {
    background: var(--sz-red) !important;
    color: var(--sz-white) !important;
    border: 1px solid var(--sz-gold);
    border-radius: var(--sz-radius) !important;
    font-weight: 700;
    transition: var(--tr-color), var(--tr-elev) !important;
}

.obj_galley_link:hover,
.obj_galley_link:focus {
    transform: translateY(-1px);
    background: var(--sz-red-dark) !important;
    border-color: var(--sz-gold) !important;
}

.obj_article_summary .galleys_links,
.entry_details .galleys_links,
.item.galleys,
.cmp_article_list .galleys_links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* ===== HOMEPAGE ===== */
.page_index .current_issue,
.page_index .current_issue_title,
.page_index .obj_issue_summary,
.page_index .issue_cover,
.page_index .current_issue .sections {
    display: none !important;
}

.page_index_site .pkp_structure_main,
.page_index_journal .pkp_structure_main,
.page_index .pkp_structure_main,
.pkp_structure_footer .pkp_footer_content {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.page_index_site .homepage_about,
.page_index_journal .homepage_about,
.page_index .homepage_about {
    background: linear-gradient(135deg, #fffdf8 0%, #f8ecd2 100%);
    border: 1px solid rgba(136, 34, 34, 0.12);
    border-radius: 16px;
    padding: 28px 30px;
    margin: 24px 0 32px;
    box-shadow: 0 10px 28px rgba(136, 34, 34, 0.08);
}

.page_index_site .homepage_about h1,
.page_index_site .homepage_about h2,
.page_index_journal .homepage_about h1,
.page_index_journal .homepage_about h2,
.page_index .homepage_about h1,
.page_index .homepage_about h2 {
    color: var(--sz-red);
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.15;
}

.page_index_site .homepage_about p,
.page_index_journal .homepage_about p,
.page_index .homepage_about p {
    font-size: 1.04rem;
    line-height: 1.75;
    color: var(--sz-text);
    max-width: 78ch;
}

.page_index_site .cmp_announcements,
.page_index_journal .cmp_announcements,
.page_index .cmp_announcements,
.page_index_site .additional_content,
.page_index_journal .additional_content,
.page_index .additional_content,
.page_index_site .pkp_block,
.page_index_journal .pkp_block,
.page_index .pkp_block {
    background: #ffffff;
    border: 1px solid rgba(136, 34, 34, 0.10);
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: 0 8px 22px rgba(44, 44, 44, 0.05);
    margin-bottom: 22px;
}

.page_index_site .cmp_announcements h2,
.page_index_journal .cmp_announcements h2,
.page_index .cmp_announcements h2,
.page_index_site .pkp_block h2,
.page_index_journal .pkp_block h2,
.page_index .pkp_block h2,
.page_index_site .pkp_block .title,
.page_index_journal .pkp_block .title,
.page_index .pkp_block .title {
    color: var(--sz-red);
    margin-top: 0;
    margin-bottom: 14px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.page_index_site .cmp_announcements li,
.page_index_journal .cmp_announcements li,
.page_index .cmp_announcements li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(136, 34, 34, 0.08);
}

.page_index_site .cmp_announcements li:last-child,
.page_index_journal .cmp_announcements li:last-child,
.page_index .cmp_announcements li:last-child {
    border-bottom: 0;
}

.page_index_site a.more,
.page_index_journal a.more,
.page_index a.more,
.page_index_site .read_more,
.page_index_journal .read_more,
.page_index .read_more,
.page_index_site .cmp_announcements_read_more,
.page_index_journal .cmp_announcements_read_more,
.page_index .cmp_announcements_read_more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--sz-red);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
    box-shadow: 0 8px 18px rgba(136, 34, 34, 0.16);
}

.page_index_site a.more:hover,
.page_index_journal a.more:hover,
.page_index a.more:hover,
.page_index_site .read_more:hover,
.page_index_journal .read_more:hover,
.page_index .read_more:hover,
.page_index_site .cmp_announcements_read_more:hover,
.page_index_journal .cmp_announcements_read_more:hover,
.page_index .cmp_announcements_read_more:hover {
    background: var(--sz-red-dark);
    transform: translateY(-1px);
}

.page_index_site .pkp_structure_sidebar .pkp_block,
.page_index_journal .pkp_structure_sidebar .pkp_block,
.page_index .pkp_structure_sidebar .pkp_block {
    position: relative;
    overflow: hidden;
}

.page_index_site .pkp_structure_sidebar .pkp_block::before,
.page_index_journal .pkp_structure_sidebar .pkp_block::before,
.page_index .pkp_structure_sidebar .pkp_block::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--sz-red), var(--sz-gold));
    border-radius: 14px 0 0 14px;
}

/* ===== FOOTER ===== */
.pkp_structure_footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--sz-red-dark) !important;
    color: var(--sz-white) !important;
    border-top: 4px solid var(--sz-gold);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    text-align: center;
}

.pkp_structure_footer .pkp_footer_content {
    padding: 28px 32px 24px !important;
    text-align: center !important;
}

.pkp_structure_footer .pkp_footer_content,
.pkp_structure_footer .container,
.pkp_structure_footer .container-fluid,
.pkp_structure_footer .pkp_brand_footer,
.pkp_structure_footer .pkp_block {
    background: transparent !important;
}

.pkp_structure_footer,
.pkp_structure_footer p,
.pkp_structure_footer span,
.pkp_structure_footer div,
.pkp_structure_footer li,
.pkp_structure_footer strong,
.pkp_structure_footer em,
.pkp_structure_footer small {
    color: var(--sz-white) !important;
}

.pkp_structure_footer a {
    color: var(--sz-cream) !important;
    text-decoration: none;
    transition: var(--tr-color);
}

.pkp_structure_footer a:hover,
.pkp_structure_footer a:focus {
    color: var(--sz-gold) !important;
    text-decoration: underline;
}

.pkp_structure_footer a #current-year {
    color: inherit !important;
    font-weight: inherit !important;
}

.pkp_structure_footer .pkp_brand_footer {
    display: none !important;
}

.pkp_structure_footer img,
.pkp_structure_footer svg,
.pkp_structure_footer .footer-logo img,
.pkp_structure_footer .pkp_brand_footer img {
    filter: brightness(0) invert(1) contrast(1.08);
    max-width: 100%;
    height: auto;
}

.pkp_structure_footer .footer-content {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.pkp_structure_footer .footer-block {
    margin: 10px 0;
    font-size: 14px;
    line-height: 1.6;
}

.pkp_structure_footer .footer-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.7;
}

.pkp_structure_footer .footer-separator {
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,0.3);
    margin: 10px auto;
}

.pkp_structure_footer .footer-logo-wrap {
    margin-top: 20px;
}

/* text footer logo */
.footer-logo-text,
.ojs-logo-text {
    margin-top: 20px;
    text-align: center;
    line-height: 1.1;
}

.footer-logo-text .ojs-small,
.ojs-top {
    display: block;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    margin-bottom: 4px;
}

.footer-logo-text .ojs-big {
    display: block;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.05em;
}

.ojs-main {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    letter-spacing: 0.08em;
    color: #ffffff;
}

.ojs-sep {
    opacity: 0.6;
    padding: 0 6px;
}

/* footer ornaments */
.footer-ornament-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.footer-content {
    flex: 0 1 auto;
    max-width: 820px;
    text-align: center;
}

.footer-ornament {
    position: relative;
    flex: 1 1 220px !important;
    min-width: 120px !important;
    max-width: 320px !important;
    height: 36px !important;
    display: block !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    overflow: hidden;
}

.footer-ornament::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(255,255,255,0.95);
    transform: translateY(-50%);
}

.footer-ornament::after {
    content: "✦";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 20px;
    line-height: 1;
    background: #5a1212;
    padding: 0 10px;
    font-family: Georgia, "Times New Roman", serif;
}

.footer-ornament-left {
    background:
        radial-gradient(circle at calc(50% - 34px) 50%, rgba(255,255,255,0.95) 0 2px, transparent 3px),
        radial-gradient(circle at calc(50% - 54px) 50%, rgba(255,255,255,0.85) 0 1.5px, transparent 2.5px);
    background-repeat: no-repeat;
}

.footer-ornament-right {
    background:
        radial-gradient(circle at calc(50% + 34px) 50%, rgba(255,255,255,0.95) 0 2px, transparent 3px),
        radial-gradient(circle at calc(50% + 54px) 50%, rgba(255,255,255,0.85) 0 1.5px, transparent 2.5px);
    background-repeat: no-repeat;
}

/* ===== DESKTOP FOOTER LAYOUT ===== */
@media (min-width: 1025px) {
    .pkp_structure_footer .pkp_footer_content {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0 !important;
    }

    .pkp_structure_footer p.footer-center {
        display: inline-block !important;
        margin: 0 !important;
        white-space: nowrap;
    }

    .pkp_structure_footer p.footer-center:not(.footer-logo-wrap)::after {
        content: "•";
        display: inline-block;
        margin: 0 12px;
        color: rgba(255, 255, 255, 0.55);
    }

    .pkp_structure_footer .footer-logo-wrap {
        display: block !important;
        width: 100% !important;
        margin-top: 16px !important;
    }

    .pkp_structure_footer .footer-logo-img {
        margin: 0 auto !important;
    }
}

/* ===== PDF VIEW MODE (OJS) ===== */
body.pdf-view-active .pkp_structure_head,
body.pdf-view-active .site-header-bar,
body.pdf-view-active .pkp_navigation_primary,
body.pdf-view-active .pkp_navigation_user,
.pkp_page_article:has(.galley_view iframe) .pkp_structure_head,
.pkp_page_article:has(.galley_view iframe) .site-header-bar,
.pkp_page_article:has(.galley_view iframe) .pkp_navigation_primary,
.pkp_page_article:has(.galley_view iframe) .pkp_navigation_user {
    display: none !important;
}

body.pdf-view-active .pkp_structure_content,
.pkp_page_article:has(.galley_view iframe) .pkp_structure_content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.pdf-view-active .galley_view iframe {
    width: 100%;
    height: 100vh;
    border: none;
}

/* ===== RESPONSIVE ===== */
@media (min-width: 768px) and (max-width: 1024px) {
    .page_index_site .pkp_structure_main,
    .page_index_journal .pkp_structure_main,
    .page_index .pkp_structure_main,
    .pkp_structure_footer .pkp_footer_content {
        max-width: 920px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .pkp_structure_footer .pkp_footer_content {
        text-align: center !important;
    }

    .pkp_structure_footer p.footer-center {
        display: block !important;
        margin: 0 0 10px !important;
        white-space: normal !important;
    }

    .pkp_structure_footer p.footer-center::after {
        content: none !important;
    }

    .site-header-inner {
        width: 110px !important;
        min-width: 110px !important;
        max-width: 110px !important;
    }

    .site-header-logo,
    .site-header-logo img {
        width: 150px !important;
        height: 150px !important;
    }

    .site-header-bar {
        min-height: 150px !important;
    }

    .pkp_site_name a,
    .pkp_site_name .is_text {
        white-space: normal !important;
        line-height: 1.2 !important;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .obj_galley_link,
    .galley-link,
    .cmp_galley_link,
    a[href*='/article/view/'][href*='/pdf'],
    button[aria-label='GetFTR Button'] {
        padding: 12px 16px;
        font-size: 16px;
    }

    button[aria-label='GetFTR Button'] {
        display: none !important;
    }

    .page_index_site .homepage_about,
    .page_index_journal .homepage_about,
    .page_index .homepage_about,
    .page_index_site .cmp_announcements,
    .page_index_journal .cmp_announcements,
    .page_index .cmp_announcements,
    .page_index_site .additional_content,
    .page_index_journal .additional_content,
    .page_index .additional_content,
    .page_index_site .pkp_block,
    .page_index_journal .pkp_block,
    .page_index .pkp_block {
        padding: 18px 16px;
        border-radius: 12px;
    }

    .page_index_site .homepage_about p,
    .page_index_journal .homepage_about p,
    .page_index .homepage_about p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .page_index_site a.more,
    .page_index_journal a.more,
    .page_index a.more,
    .page_index_site .read_more,
    .page_index_journal .read_more,
    .page_index .read_more,
    .page_index_site .cmp_announcements_read_more,
    .page_index_journal .cmp_announcements_read_more,
    .page_index .cmp_announcements_read_more {
        width: 100%;
    }

    .site-header-bar {
        min-height: 58px;
        padding: 4px 0 2px !important;
    }

    .site-header-inner,
    .site-header-logo {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        min-height: 150px;
        height: 150px;
    }

    .site-header-logo img {
        width: 150px !important;
        height: 150px !important;
        aspect-ratio: 150 / 150;
    }

    .pkp_site_name {
        min-height: 52px !important;
        padding: 4px 52px 8px 52px !important;
    }

    .pkp_site_name a,
    .pkp_site_name .is_text {
        min-height: 2.2em !important;
        font-size: 18px !important;
        white-space: normal;
    }

    .pkp_site_name .site_description {
        min-height: 1.2em;
        font-size: 11px;
        text-transform: none;
        letter-spacing: 0.02em;
    }

    .footer-ornament {
        display: none !important;
    }

    .pkp_structure_footer .footer-content {
        padding: 10px 15px;
    }

    .pkp_structure_footer .footer-block {
        font-size: 13px;
    }

    .pkp_structure_footer .pkp_footer_content {
        display: block !important;
        max-width: 100% !important;
        padding: 24px 16px 20px !important;
        text-align: center !important;
    }

    .pkp_structure_footer p.footer-center {
        display: block !important;
        margin: 0 0 12px !important;
        white-space: normal !important;
    }

    .pkp_structure_footer p.footer-center::after {
        content: none !important;
    }

    .pkp_structure_footer .footer-logo-wrap {
        width: auto !important;
        margin-top: 18px !important;
    }

    .ojs-logo-text {
        margin-top: 18px;
    }

    .ojs-top {
        font-size: 10px;
        letter-spacing: 0.08em;
    }

    .ojs-main {
        font-size: 22px;
    }
}

@media (max-width: 480px) {
    .pkp_site_name {
        padding: 4px 44px 8px 44px !important;
    }

    .pkp_site_name a,
    .pkp_site_name .is_text {
        font-size: 16px !important;
    }

    .pkp_site_name .site_description {
        font-size: 10px;
    }
}

/* ===== ACCESSIBILITY / PERFORMANCE ===== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================
   HEADER / NAV FINAL SYSTEM – STABLE + PREMIUM + NO SHIFT
   ========================================================== */

/* header shell stability */
.pkp_structure_head {
    position: relative;
    z-index: 100;
}

.pkp_head_wrapper,
.pkp_site_nav_menu,
.pkp_navigation_primary_wrapper {
    background: #F8ECD2 !important;
}

/* main navigation row: fixed rhythm */
.pkp_navigation_primary,
.pkp_nav_list {
    line-height: 1 !important;
}

.pkp_navigation_primary > ul,
.pkp_nav_list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 0;
}

/* top-level item stability */
.pkp_navigation_primary > ul > li,
.pkp_nav_list > li {
    position: relative;
    display: flex;
    align-items: stretch;
}

.pkp_navigation_primary > ul > li > a,
.pkp_nav_list > li > a,
.pkp_navigation_primary > ul > li > .dropdown-toggle,
.pkp_nav_list > li > .dropdown-toggle {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 16px !important;
    box-sizing: border-box;
    line-height: 1.15 !important;
    color: var(--sz-red) !important;
    background: transparent !important;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    border: 0 !important;
    transition: color .24s ease, background-color .24s ease;
}

/* premium underline without layout shift */
.pkp_navigation_primary > ul > li > a::after,
.pkp_nav_list > li > a::after,
.pkp_navigation_primary > ul > li > .dropdown-toggle::after,
.pkp_nav_list > li > .dropdown-toggle::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 7px;
    height: 2px;
    background: var(--sz-gold);
    transform: scaleX(0);
    transform-origin: center center;
    transition: transform .24s ease, opacity .24s ease;
    opacity: .95;
    pointer-events: none;
}

/* top-level hover/focus/current */
.pkp_navigation_primary > ul > li > a:hover,
.pkp_navigation_primary > ul > li > a:focus,
.pkp_nav_list > li > a:hover,
.pkp_nav_list > li > a:focus,
.pkp_navigation_primary > ul > li > .dropdown-toggle:hover,
.pkp_navigation_primary > ul > li > .dropdown-toggle:focus,
.pkp_nav_list > li > .dropdown-toggle:hover,
.pkp_nav_list > li > .dropdown-toggle:focus {
    color: var(--sz-gold) !important;
    background: rgba(136, 34, 34, 0.05) !important;
}

.pkp_navigation_primary > ul > li > a:hover::after,
.pkp_navigation_primary > ul > li > a:focus::after,
.pkp_nav_list > li > a:hover::after,
.pkp_nav_list > li > a:focus::after,
.pkp_navigation_primary > ul > li > .dropdown-toggle:hover::after,
.pkp_navigation_primary > ul > li > .dropdown-toggle:focus::after,
.pkp_nav_list > li > .dropdown-toggle:hover::after,
.pkp_nav_list > li > .dropdown-toggle:focus::after,
.pkp_navigation_primary > ul > li.current > a::after,
.pkp_nav_list > li.current > a::after,
.pkp_navigation_primary > ul > li.current > .dropdown-toggle::after,
.pkp_nav_list > li.current > .dropdown-toggle::after {
    transform: scaleX(1);
}

.pkp_navigation_primary > ul > li.current > a,
.pkp_nav_list > li.current > a,
.pkp_navigation_primary > ul > li.current > .dropdown-toggle,
.pkp_nav_list > li.current > .dropdown-toggle {
    color: var(--sz-red-dark) !important;
}

/* dropdown panel */
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_primary ul ul,
.pkp_nav_list ul ul {
    background: #F8ECD2 !important;
    border: 1px solid rgba(136, 34, 34, 0.12) !important;
    box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
    border-radius: 10px;
    padding: 6px 0 !important;
    min-width: 220px;
    margin-top: 0 !important;
    overflow: hidden;
    z-index: 200;
}

/* dropdown items */
.pkp_navigation_primary .dropdown-menu li,
.pkp_navigation_primary ul ul li,
.pkp_nav_list ul ul li {
    background: transparent !important;
}

.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_primary ul ul a,
.pkp_nav_list ul ul a {
    position: relative;
    display: block !important;
    padding: 10px 16px !important;
    line-height: 1.25 !important;
    color: var(--sz-red) !important;
    background: transparent !important;
    box-sizing: border-box;
    white-space: normal;
    transition: color .22s ease, background-color .22s ease, transform .22s ease;
}

/* remove underline logic from dropdown links */
.pkp_navigation_primary .dropdown-menu a::after,
.pkp_navigation_primary ul ul a::after,
.pkp_nav_list ul ul a::after {
    content: none !important;
}

/* dropdown hover: transform only, no padding change */
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_primary ul ul a:hover,
.pkp_navigation_primary ul ul a:focus,
.pkp_nav_list ul ul a:hover,
.pkp_nav_list ul ul a:focus {
    background: rgba(136, 34, 34, 0.08) !important;
    color: var(--sz-red-dark) !important;
    transform: translateX(4px);
}

/* explicit stability against hover-induced shifting */
.pkp_navigation_primary ul,
.pkp_navigation_primary li,
.pkp_navigation_primary a,
.pkp_nav_list ul,
.pkp_nav_list li,
.pkp_nav_list a {
    box-sizing: border-box;
}

.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_primary ul ul a:hover,
.pkp_navigation_primary ul ul a:focus,
.pkp_nav_list ul ul a:hover,
.pkp_nav_list ul ul a:focus,
.pkp_navigation_primary > ul > li > a:hover,
.pkp_navigation_primary > ul > li > a:focus,
.pkp_nav_list > li > a:hover,
.pkp_nav_list > li > a:focus {
    padding-top: inherit !important;
    padding-right: inherit !important;
    padding-bottom: inherit !important;
    padding-left: inherit !important;
}

/* touch/mobile */
@media (max-width: 768px) {
    .pkp_navigation_primary > ul,
    .pkp_nav_list {
        justify-content: flex-start;
    }

    .pkp_navigation_primary > ul > li > a,
    .pkp_nav_list > li > a,
    .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_nav_list > li > .dropdown-toggle {
        min-height: 44px;
        padding: 10px 14px !important;
        white-space: normal;
        text-align: left;
    }

    .pkp_navigation_primary .dropdown-menu,
    .pkp_navigation_primary ul ul,
    .pkp_nav_list ul ul {
        min-width: 100%;
        border-radius: 8px;
    }

    .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_navigation_primary ul ul a:hover,
    .pkp_navigation_primary ul ul a:focus,
    .pkp_nav_list ul ul a:hover,
    .pkp_nav_list ul ul a:focus {
        transform: none;
    }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .pkp_navigation_primary > ul > li > a,
    .pkp_nav_list > li > a,
    .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_nav_list > li > .dropdown-toggle,
    .pkp_navigation_primary > ul > li > a::after,
    .pkp_nav_list > li > a::after,
    .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_navigation_primary .dropdown-menu a,
    .pkp_navigation_primary ul ul a,
    .pkp_nav_list ul ul a {
        transition: none !important;
        transform: none !important;
    }
}

/* ==========================================================
   NAV DROPDOWN GAP + FLICKER FIX
   ========================================================== */

/* felső menüelemek között kis levegő, stabil hover-zóna */
.pkp_navigation_primary > ul > li,
.pkp_nav_list > li {
    position: relative;
    margin: 0 4px !important;
}

/* stabil kattintható terület a felső menüben */
.pkp_navigation_primary > ul > li > a,
.pkp_navigation_primary > ul > li > .dropdown-toggle,
.pkp_nav_list > li > a,
.pkp_nav_list > li > .dropdown-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px !important;
    box-sizing: border-box;
    border-radius: 8px;
}

/* a lenyíló közvetlenül a felső menüponthoz tapadjon */
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_primary ul ul,
.pkp_nav_list ul ul {
    top: calc(100% - 2px) !important;
    margin-top: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    border-radius: 10px;
    overflow: hidden;
    z-index: 9999;
}

/* láthatatlan hover-híd a főmenü és a dropdown között */
.pkp_navigation_primary > ul > li > ul::before,
.pkp_navigation_primary > ul > li > .dropdown-menu::before,
.pkp_nav_list > li > ul::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -8px;
    height: 8px;
    background: transparent;
}

/* dropdown elemek stabil magassággal */
.pkp_navigation_primary .dropdown-menu li,
.pkp_navigation_primary ul ul li,
.pkp_nav_list ul ul li {
    margin: 0 !important;
}

.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_primary ul ul a,
.pkp_nav_list ul ul a {
    display: block !important;
    min-height: 40px;
    padding: 10px 14px !important;
    line-height: 1.2 !important;
    box-sizing: border-box;
    transform: none !important;
}

/* hover ne változtasson méretet vagy pozíciót */
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_primary ul ul a:hover,
.pkp_navigation_primary ul ul a:focus,
.pkp_nav_list ul ul a:hover,
.pkp_nav_list ul ul a:focus,
.pkp_navigation_primary > ul > li > a:hover,
.pkp_navigation_primary > ul > li > a:focus,
.pkp_navigation_primary > ul > li > .dropdown-toggle:hover,
.pkp_navigation_primary > ul > li > .dropdown-toggle:focus,
.pkp_nav_list > li > a:hover,
.pkp_nav_list > li > a:focus,
.pkp_nav_list > li > .dropdown-toggle:hover,
.pkp_nav_list > li > .dropdown-toggle:focus {
    padding-top: 10px !important;
    padding-right: 16px !important;
    padding-bottom: 10px !important;
    padding-left: 16px !important;
    transform: none !important;
}

/* a hover maradjon vizuális, ne mozgás alapú */
.pkp_navigation_primary a,
.pkp_nav_list a,
.pkp_navigation_primary a:hover,
.pkp_nav_list a:hover {
    transform: none !important;
}

@media (max-width: 768px) {
    .pkp_navigation_primary > ul > li,
    .pkp_nav_list > li {
        margin: 0 !important;
    }

    .pkp_navigation_primary > ul > li > a,
    .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_nav_list > li > a,
    .pkp_nav_list > li > .dropdown-toggle {
        display: block !important;
        min-height: 44px;
        padding: 10px 14px !important;
        border-radius: 0;
    }

    .pkp_navigation_primary .dropdown-menu,
    .pkp_navigation_primary ul ul,
    .pkp_nav_list ul ul {
        top: auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-radius: 8px;
    }
}


/* ==========================================================
   MOBILE FULLSCREEN NAV OVERLAY
   ========================================================== */
@media (max-width: 768px) {
    /* closed state safety */
    .pkp_site_nav_menu .pkp_navigation_primary_wrapper {
        background: #F8ECD2 !important;
    }

    /* common "open" states across OJS themes */
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary_wrapper,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 84px 18px 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        background: #F8ECD2 !important;
        z-index: 9998 !important;
        box-sizing: border-box !important;
        overscroll-behavior: contain;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.is-open .pkp_nav_list,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.is_open .pkp_nav_list,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.menu-open .pkp_nav_list,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li {
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(136, 34, 34, 0.10) !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > a,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > .dropdown-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 14px 4px !important;
        text-align: left !important;
        white-space: normal !important;
        background: transparent !important;
        border-radius: 0 !important;
        line-height: 1.3 !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > a::after,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > a::after,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > a::after,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > a::after,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > a::after,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > a::after,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > a::after,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > a::after,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > a::after,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > a::after,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > .dropdown-toggle::after,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > a::after,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > .dropdown-toggle::after,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > a::after,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > .dropdown-toggle::after {
        left: 0 !important;
        right: auto !important;
        bottom: 8px !important;
        width: 56px !important;
        transform-origin: left center !important;
    }

    /* mobile submenus live in the normal flow so they are easier to scan and scroll */
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        min-width: 100% !important;
        margin: 0 0 10px 0 !important;
        padding: 0 0 0 12px !important;
        border: 0 !important;
        border-left: 2px solid rgba(136, 34, 34, 0.18) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: visible !important;
        transform: none !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu li,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu li,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu li,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu li,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu li,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul li {
        border-bottom: 1px solid rgba(136, 34, 34, 0.08) !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu a,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu a,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu a,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu a,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul a {
        min-height: 46px !important;
        padding: 12px 0 !important;
        transform: none !important;
        background: transparent !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul a:hover,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul a:focus,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul a:hover,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul a:focus,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul a:hover,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul a:focus,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul a:hover,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul a:focus,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul a:hover,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul a:focus,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul a:hover,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul a:focus,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul a:hover,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul a:focus,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul a:hover,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul a:focus,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul a:hover,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul a:focus,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul a:hover,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul a:focus,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu a:hover,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu a:focus,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul a:hover,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul a:focus,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul a:hover,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul a:focus {
        background: rgba(136, 34, 34, 0.05) !important;
        transform: none !important;
    }
}

/* ==========================================================
   MOBILE MENU - ONLY MENU OPENS, STACKED ITEMS
   ========================================================== */
@media (max-width: 768px) {
    /* only the primary nav overlay should appear */
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary_wrapper,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 72px 16px 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background: #F8ECD2 !important;
        z-index: 9999 !important;
        display: block !important;
    }

    /* normalize all navigation lists in the mobile panel */
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.is-open .pkp_nav_list,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.is_open .pkp_nav_list,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul,
    .pkp_site_nav_menu.menu-open .pkp_nav_list,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(136, 34, 34, 0.14) !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.is-open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.is_open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > a,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list > li > .dropdown-toggle,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > a,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > a,
    .pkp_site_nav_menu.menu-open .pkp_nav_list > li > .dropdown-toggle,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary > ul > li > .dropdown-toggle,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list > li > .dropdown-toggle {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 15px 0 !important;
        margin: 0 !important;
        background: transparent !important;
        text-align: left !important;
        line-height: 1.35 !important;
        border-radius: 0 !important;
    }

    /* submenus visible as normal stacked lists in mobile */
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary .dropdown-menu,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary .dropdown-menu,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul {
        display: block !important;
        position: static !important;
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        padding: 0 0 0 14px !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 2px solid rgba(136, 34, 34, 0.16) !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul li,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul li,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul li,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 0 !important;
    }

    .pkp_site_nav_menu[aria-expanded="true"] .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu[aria-expanded="true"] .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.is-open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.is-open .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.is_open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.is_open .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.--isOpen .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.--isOpen .pkp_nav_list ul ul a,
    .pkp_site_nav_menu.menu-open .pkp_navigation_primary ul ul a,
    .pkp_site_nav_menu.menu-open .pkp_nav_list ul ul a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_navigation_primary ul ul a,
    .pkp_navigation_primary_wrapper[aria-hidden="false"] .pkp_nav_list ul ul a {
        display: block !important;
        width: 100% !important;
        padding: 12px 0 !important;
        text-align: left !important;
        background: transparent !important;
        line-height: 1.35 !important;
    }

    /* keep user navigation out of the primary mobile overlay */
    .pkp_navigation_primary_wrapper .pkp_navigation_user,
    .pkp_navigation_primary_wrapper .pkp_navigation_user_wrapper {
        display: none !important;
    }
}

/* ==========================================================
   DESKTOP ADMIN / USER MENU – UNIFIED STYLE
   ========================================================== */
@media (min-width: 769px) {

    /* user/admin nav konténer */
    .pkp_navigation_user,
    .pkp_navigation_user_wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        background: transparent !important;
        text-align: right !important;
    }

    .pkp_navigation_user ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user li {
        position: relative !important;
        margin: 0 4px !important;
        padding: 0 !important;
    }

    /* fő user/admin linkek */
    .pkp_navigation_user > ul > li > a,
    .pkp_navigation_user_wrapper > ul > li > a,
    .pkp_navigation_user .task_count {
        position: relative;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 44px !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: var(--sz-red) !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        transition: color 0.25s ease, background-color 0.25s ease !important;
    }

    /* premium underline */
    .pkp_navigation_user > ul > li > a::after,
    .pkp_navigation_user_wrapper > ul > li > a::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 4px;
        width: 0;
        height: 2px;
        background: var(--sz-gold);
        transition: width 0.25s ease, left 0.25s ease;
        pointer-events: none;
    }

    .pkp_navigation_user > ul > li > a:hover,
    .pkp_navigation_user > ul > li > a:focus,
    .pkp_navigation_user_wrapper > ul > li > a:hover,
    .pkp_navigation_user_wrapper > ul > li > a:focus {
        color: var(--sz-gold) !important;
        background: rgba(136, 34, 34, 0.05) !important;
    }

    .pkp_navigation_user > ul > li > a:hover::after,
    .pkp_navigation_user > ul > li > a:focus::after,
    .pkp_navigation_user_wrapper > ul > li > a:hover::after,
    .pkp_navigation_user_wrapper > ul > li > a:focus::after {
        width: 70%;
        left: 15%;
    }

    /* dropdown */
    .pkp_navigation_user ul ul,
    .pkp_navigation_user .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        min-width: 220px !important;
        margin: 0 !important;
        padding: 4px 0 !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 9999 !important;
    }

    .pkp_navigation_user ul ul li,
    .pkp_navigation_user .dropdown-menu li {
        margin: 0 !important;
        width: 100% !important;
    }

    .pkp_navigation_user ul ul a,
    .pkp_navigation_user .dropdown-menu a {
        display: block !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        background: #F8ECD2 !important;
        color: var(--sz-red) !important;
        line-height: 1.2 !important;
        border-radius: 0 !important;
        transition: color 0.2s ease, background-color 0.2s ease !important;
    }

    .pkp_navigation_user ul ul a:hover,
    .pkp_navigation_user ul ul a:focus,
    .pkp_navigation_user .dropdown-menu a:hover,
    .pkp_navigation_user .dropdown-menu a:focus {
        background: rgba(136, 34, 34, 0.08) !important;
        color: var(--sz-red-dark) !important;
    }

    /* aktív elem */
    .pkp_navigation_user .current a,
    .pkp_navigation_user .current_user a {
        color: var(--sz-red-dark) !important;
        font-weight: 700 !important;
    }

    .pkp_navigation_user .current a::after,
    .pkp_navigation_user .current_user a::after {
        width: 70%;
        left: 15%;
        background: var(--sz-gold);
    }
}

/* ==========================================================
   DESKTOP ADMIN / USER MENU – REAL DROPDOWN BEHAVIOR
   ========================================================== */
@media (min-width: 769px) {

    .pkp_navigation_user li,
    .pkp_navigation_user_wrapper li {
        position: relative !important;
    }

    /* alapállapot: zárva */
    .pkp_navigation_user ul ul,
    .pkp_navigation_user .dropdown-menu,
    .pkp_navigation_user_wrapper ul ul,
    .pkp_navigation_user_wrapper .dropdown-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;

        min-width: 220px !important;
        margin: 0 !important;
        padding: 4px 0 !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 9999 !important;

        transition: opacity 0.18s ease !important;
    }

    /* csak hover/fókusz alatt nyíljon */
    .pkp_navigation_user li:hover > ul,
    .pkp_navigation_user li:focus-within > ul,
    .pkp_navigation_user li:hover > .dropdown-menu,
    .pkp_navigation_user li:focus-within > .dropdown-menu,
    .pkp_navigation_user_wrapper li:hover > ul,
    .pkp_navigation_user_wrapper li:focus-within > ul,
    .pkp_navigation_user_wrapper li:hover > .dropdown-menu,
    .pkp_navigation_user_wrapper li:focus-within > .dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* ==========================================================
   DESKTOP PRIMARY MENU – DROPDOWN ATTACH FIX
   ========================================================== */
@media (min-width: 769px) {

    .pkp_navigation_primary ul li {
        position: relative !important;
    }

    .pkp_navigation_primary ul li > ul {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;

        margin: 0 !important;
        padding: 4px 0 0 0 !important;

        transform: none !important;

        min-width: 220px !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 9999 !important;
    }

    .pkp_navigation_primary ul li > ul::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -8px;
        height: 8px;
        background: transparent;
    }

    .pkp_navigation_primary ul li > ul {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.18s ease !important;
    }

    .pkp_navigation_primary ul li:hover > ul,
    .pkp_navigation_primary ul li:focus-within > ul {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .pkp_navigation_primary ul li > ul > li,
    .pkp_navigation_primary ul li > ul > li > a {
        margin-top: 0 !important;
    }

    .pkp_navigation_primary ul li > ul > li > a {
        display: block !important;
        min-height: 40px !important;
        padding: 10px 14px !important;
        background: #F8ECD2 !important;
        color: var(--sz-red) !important;
        line-height: 1.2 !important;
    }

    .pkp_navigation_primary ul li > ul > li > a:hover,
    .pkp_navigation_primary ul li > ul > li > a:focus {
        background: rgba(136, 34, 34, 0.08) !important;
        color: var(--sz-red-dark) !important;
    }
}

/* ==========================================================
   DESKTOP PRIMARY MENU – HARD ATTACH OVERRIDE
   ========================================================== */
@media (min-width: 769px) {

    /* csak a felső szintű főmenüelemek */
    .pkp_navigation_primary > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li {
        position: relative !important;
    }

    /* a felső szintű dropdown pontosan a menüsor alá tapadjon */
    .pkp_navigation_primary > ul > li > ul,
    .pkp_navigation_primary .pkp_nav_list > li > ul {
        position: absolute !important;
        top: calc(100% - 1px) !important;
        left: 0 !important;
        right: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        min-width: 220px !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 10000 !important;

        transform: none !important;
        transition: opacity 0.18s ease !important;
    }

    /* korábbi hover-hidak és belső felső térközök kikapcsolása */
    .pkp_navigation_primary > ul > li > ul::before,
    .pkp_navigation_primary .pkp_nav_list > li > ul::before {
        content: none !important;
        display: none !important;
    }

    .pkp_navigation_primary > ul > li:hover > ul,
    .pkp_navigation_primary > ul > li:focus-within > ul,
    .pkp_navigation_primary .pkp_nav_list > li:hover > ul,
    .pkp_navigation_primary .pkp_nav_list > li:focus-within > ul {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* a dropdown elemek ne tolják le a panelt */
    .pkp_navigation_primary > ul > li > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_navigation_primary > ul > li > ul > li > a,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a {
        display: block !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        line-height: 1.2 !important;
        background: #F8ECD2 !important;
        color: var(--sz-red) !important;
        transform: none !important;
    }

    .pkp_navigation_primary > ul > li > ul > li > a:hover,
    .pkp_navigation_primary > ul > li > ul > li > a:focus,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a:hover,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a:focus {
        background: rgba(136, 34, 34, 0.08) !important;
        color: var(--sz-red-dark) !important;
    }
}

/* ==========================================================
   DESKTOP GLOBAL DROPDOWN SYSTEM – PRIMARY + USER/ADMIN
   Unifies attach behavior so dropdowns do not detach from the menu bar
   ========================================================== */
@media (min-width: 769px) {

    /* only first-level menu items act as positioning anchors */
    .pkp_navigation_primary > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li,
    .pkp_navigation_user > ul > li,
    .pkp_navigation_user_wrapper > ul > li {
        position: relative !important;
    }

    /* first-level dropdown panels: identical geometry for both menus */
    .pkp_navigation_primary > ul > li > ul,
    .pkp_navigation_primary .pkp_nav_list > li > ul,
    .pkp_navigation_user > ul > li > ul,
    .pkp_navigation_user_wrapper > ul > li > ul,
    .pkp_navigation_user > ul > li > .dropdown-menu,
    .pkp_navigation_user_wrapper > ul > li > .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        margin-top: -1px !important;
        padding: 0 !important;

        min-width: 220px !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 10000 !important;

        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        transform: none !important;
        translate: none !important;
        transition: opacity 0.18s ease !important;
    }

    /* primary menu aligns left; user/admin aligns right */
    .pkp_navigation_primary > ul > li > ul,
    .pkp_navigation_primary .pkp_nav_list > li > ul {
        left: 0 !important;
        right: auto !important;
    }

    .pkp_navigation_user > ul > li > ul,
    .pkp_navigation_user_wrapper > ul > li > ul,
    .pkp_navigation_user > ul > li > .dropdown-menu,
    .pkp_navigation_user_wrapper > ul > li > .dropdown-menu {
        right: 0 !important;
        left: auto !important;
    }

    /* remove every previously added bridge / top spacer */
    .pkp_navigation_primary > ul > li > ul::before,
    .pkp_navigation_primary .pkp_nav_list > li > ul::before,
    .pkp_navigation_user > ul > li > ul::before,
    .pkp_navigation_user_wrapper > ul > li > ul::before,
    .pkp_navigation_user > ul > li > .dropdown-menu::before,
    .pkp_navigation_user_wrapper > ul > li > .dropdown-menu::before {
        content: none !important;
        display: none !important;
    }

    /* open on hover/focus only */
    .pkp_navigation_primary > ul > li:hover > ul,
    .pkp_navigation_primary > ul > li:focus-within > ul,
    .pkp_navigation_primary .pkp_nav_list > li:hover > ul,
    .pkp_navigation_primary .pkp_nav_list > li:focus-within > ul,
    .pkp_navigation_user > ul > li:hover > ul,
    .pkp_navigation_user > ul > li:focus-within > ul,
    .pkp_navigation_user_wrapper > ul > li:hover > ul,
    .pkp_navigation_user_wrapper > ul > li:focus-within > ul,
    .pkp_navigation_user > ul > li:hover > .dropdown-menu,
    .pkp_navigation_user > ul > li:focus-within > .dropdown-menu,
    .pkp_navigation_user_wrapper > ul > li:hover > .dropdown-menu,
    .pkp_navigation_user_wrapper > ul > li:focus-within > .dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* normalize inner items so they cannot push the panel downward */
    .pkp_navigation_primary > ul > li > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li,
    .pkp_navigation_user > ul > li > ul > li,
    .pkp_navigation_user_wrapper > ul > li > ul > li,
    .pkp_navigation_user > ul > li > .dropdown-menu > li,
    .pkp_navigation_user_wrapper > ul > li > .dropdown-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .pkp_navigation_primary > ul > li > ul > li > a,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a,
    .pkp_navigation_user > ul > li > ul > li > a,
    .pkp_navigation_user_wrapper > ul > li > ul > li > a,
    .pkp_navigation_user > ul > li > .dropdown-menu > li > a,
    .pkp_navigation_user_wrapper > ul > li > .dropdown-menu > li > a {
        display: block !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        line-height: 1.2 !important;
        transform: none !important;
        background: #F8ECD2 !important;
        box-sizing: border-box !important;
    }

    /* first-level links keep their own height and do not change geometry */
    .pkp_navigation_primary > ul > li > a,
    .pkp_navigation_primary .pkp_nav_list > li > a,
    .pkp_navigation_user > ul > li > a,
    .pkp_navigation_user_wrapper > ul > li > a {
        min-height: 44px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================
   DESKTOP PRIMARY MENU – FINAL HARD FIX
   Only for the public primary navigation
   ========================================================== */
@media (min-width: 769px) {

    /* only top-level primary items */
    .pkp_navigation_primary > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li,
    .pkp_navigation_primary_row > ul > li,
    .pkp_navigation_primary_row .pkp_nav_list > li {
        position: relative !important;
    }

    /* reset every common primary dropdown structure */
    .pkp_navigation_primary > ul > li > ul,
    .pkp_navigation_primary .pkp_nav_list > li > ul,
    .pkp_navigation_primary_row > ul > li > ul,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul,
    .pkp_navigation_primary > ul > li > .dropdown-menu,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        margin: -1px 0 0 0 !important;
        padding: 0 !important;

        min-width: 220px !important;
        background: #F8ECD2 !important;
        border: 1px solid rgba(136, 34, 34, 0.12) !important;
        box-shadow: 0 10px 28px rgba(44, 44, 44, 0.15) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        z-index: 10001 !important;

        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        transform: none !important;
        translate: none !important;
        transition: opacity 0.18s ease !important;
    }

    /* kill any artificial gap */
    .pkp_navigation_primary > ul > li > ul::before,
    .pkp_navigation_primary .pkp_nav_list > li > ul::before,
    .pkp_navigation_primary_row > ul > li > ul::before,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul::before,
    .pkp_navigation_primary > ul > li > .dropdown-menu::before,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu::before,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu::before,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu::before {
        content: none !important;
        display: none !important;
    }

    /* open only when the top-level item is hovered/focused */
    .pkp_navigation_primary > ul > li:hover > ul,
    .pkp_navigation_primary > ul > li:focus-within > ul,
    .pkp_navigation_primary .pkp_nav_list > li:hover > ul,
    .pkp_navigation_primary .pkp_nav_list > li:focus-within > ul,
    .pkp_navigation_primary_row > ul > li:hover > ul,
    .pkp_navigation_primary_row > ul > li:focus-within > ul,
    .pkp_navigation_primary_row .pkp_nav_list > li:hover > ul,
    .pkp_navigation_primary_row .pkp_nav_list > li:focus-within > ul,
    .pkp_navigation_primary > ul > li:hover > .dropdown-menu,
    .pkp_navigation_primary > ul > li:focus-within > .dropdown-menu,
    .pkp_navigation_primary .pkp_nav_list > li:hover > .dropdown-menu,
    .pkp_navigation_primary .pkp_nav_list > li:focus-within > .dropdown-menu,
    .pkp_navigation_primary_row > ul > li:hover > .dropdown-menu,
    .pkp_navigation_primary_row > ul > li:focus-within > .dropdown-menu,
    .pkp_navigation_primary_row .pkp_nav_list > li:hover > .dropdown-menu,
    .pkp_navigation_primary_row .pkp_nav_list > li:focus-within > .dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* normalize internal spacing */
    .pkp_navigation_primary > ul > li > ul > li,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li,
    .pkp_navigation_primary_row > ul > li > ul > li,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul > li,
    .pkp_navigation_primary > ul > li > .dropdown-menu > li,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu > li,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu > li,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .pkp_navigation_primary > ul > li > ul > li > a,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a,
    .pkp_navigation_primary_row > ul > li > ul > li > a,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul > li > a,
    .pkp_navigation_primary > ul > li > .dropdown-menu > li > a,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu > li > a,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu > li > a,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu > li > a {
        display: block !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        line-height: 1.2 !important;
        background: #F8ECD2 !important;
        color: var(--sz-red) !important;
        transform: none !important;
    }

    .pkp_navigation_primary > ul > li > ul > li > a:hover,
    .pkp_navigation_primary > ul > li > ul > li > a:focus,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a:hover,
    .pkp_navigation_primary .pkp_nav_list > li > ul > li > a:focus,
    .pkp_navigation_primary_row > ul > li > ul > li > a:hover,
    .pkp_navigation_primary_row > ul > li > ul > li > a:focus,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul > li > a:hover,
    .pkp_navigation_primary_row .pkp_nav_list > li > ul > li > a:focus,
    .pkp_navigation_primary > ul > li > .dropdown-menu > li > a:hover,
    .pkp_navigation_primary > ul > li > .dropdown-menu > li > a:focus,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu > li > a:hover,
    .pkp_navigation_primary .pkp_nav_list > li > .dropdown-menu > li > a:focus,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu > li > a:hover,
    .pkp_navigation_primary_row > ul > li > .dropdown-menu > li > a:focus,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu > li > a:hover,
    .pkp_navigation_primary_row .pkp_nav_list > li > .dropdown-menu > li > a:focus {
        background: rgba(136, 34, 34, 0.08) !important;
        color: var(--sz-red-dark) !important;
    }
}

/* ==========================================================
   ESZ ACCESSIBILITY – APPENDED MERGED BLOCK
   Skip link + header toggle + keyboard menu + accessibility mode
   ========================================================== */

/* ===== SKIP LINK ===== */
.esz-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 12px 18px;
  background: #111111;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
  border-radius: 6px;
}

.esz-skip-link:focus,
.esz-skip-link:focus-visible {
  left: 16px;
  top: 16px;
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

/* ===== HEADER TOGGLE – LAYOUT SAFE FOR CURRENT HEADER ===== */
.site-header-bar {
  position: relative;
}

.esz-header-tools {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
}

.esz-a11y-toggle-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,0.25);
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #2c2c2c;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.esz-a11y-toggle-inline:hover {
  background: #ffffff;
}

.esz-a11y-toggle-inline:focus,
.esz-a11y-toggle-inline:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

.esz-a11y-toggle-inline.is-active {
  background: #111111;
  color: #ffffff;
  border-color: #111111;
}

.esz-a11y-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.esz-a11y-toggle__icon svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor;
}

.esz-a11y-toggle__text {
  display: inline-block;
  white-space: nowrap;
}

/* ===== KEYBOARD MENU SUPPORT ===== */
.pkp_nav_list a:focus,
.pkp_nav_list a:focus-visible,
.pkp_navigation_primary a:focus,
.pkp_navigation_primary a:focus-visible,
.dropdown-menu a:focus,
.dropdown-menu a:focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

.pkp_nav_list li.focus > ul,
.pkp_navigation_primary li.focus > ul {
  display: block !important;
}

/* ===== ACCESSIBILITY MODE ===== */
body.esz-accessibility-mode {
  font-size: 18px;
  line-height: 1.8;
  color: #111111 !important;
  background: #ffffff !important;
}

body.esz-accessibility-mode p,
body.esz-accessibility-mode li,
body.esz-accessibility-mode td,
body.esz-accessibility-mode th,
body.esz-accessibility-mode label,
body.esz-accessibility-mode input,
body.esz-accessibility-mode select,
body.esz-accessibility-mode textarea,
body.esz-accessibility-mode .description,
body.esz-accessibility-mode .value,
body.esz-accessibility-mode .summary,
body.esz-accessibility-mode .subtitle,
body.esz-accessibility-mode .meta,
body.esz-accessibility-mode .label,
body.esz-accessibility-mode .authors,
body.esz-accessibility-mode .published,
body.esz-accessibility-mode .date,
body.esz-accessibility-mode .pages,
body.esz-accessibility-mode .item,
body.esz-accessibility-mode .references,
body.esz-accessibility-mode .copyright,
body.esz-accessibility-mode .license {
  font-size: 1.05em !important;
  line-height: 1.8 !important;
  color: #111111 !important;
}

body.esz-accessibility-mode h1,
body.esz-accessibility-mode h2,
body.esz-accessibility-mode h3,
body.esz-accessibility-mode h4,
body.esz-accessibility-mode h5,
body.esz-accessibility-mode h6,
body.esz-accessibility-mode .page_title,
body.esz-accessibility-mode .title {
  color: #000000 !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.esz-accessibility-mode a,
body.esz-accessibility-mode a:visited {
  color: #0037b3 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  font-weight: 700;
}

body.esz-accessibility-mode a:hover,
body.esz-accessibility-mode a:active {
  color: #00257a !important;
}

body.esz-accessibility-mode a:focus,
body.esz-accessibility-mode a:focus-visible,
body.esz-accessibility-mode button:focus,
body.esz-accessibility-mode button:focus-visible,
body.esz-accessibility-mode input:focus,
body.esz-accessibility-mode input:focus-visible,
body.esz-accessibility-mode select:focus,
body.esz-accessibility-mode select:focus-visible,
body.esz-accessibility-mode textarea:focus,
body.esz-accessibility-mode textarea:focus-visible,
body.esz-accessibility-mode [tabindex]:focus,
body.esz-accessibility-mode [tabindex]:focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .obj_article_summary,
body.esz-accessibility-mode .obj_issue_summary,
body.esz-accessibility-mode .pkp_block,
body.esz-accessibility-mode .cmp_notification,
body.esz-accessibility-mode .cmp_form,
body.esz-accessibility-mode .page,
body.esz-accessibility-mode .section,
body.esz-accessibility-mode .block {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_structure_head,
body.esz-accessibility-mode .site-header-bar,
body.esz-accessibility-mode .pkp_navigation_primary_wrapper,
body.esz-accessibility-mode .pkp_navigation_user_wrapper,
body.esz-accessibility-mode .pkp_site_nav_menu,
body.esz-accessibility-mode .dropdown-menu,
body.esz-accessibility-mode .pkp_nav_list ul,
body.esz-accessibility-mode .pkp_nav_list li,
body.esz-accessibility-mode .pkp_navigation_primary_row {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_navigation_primary a,
body.esz-accessibility-mode .pkp_navigation_user_wrapper a,
body.esz-accessibility-mode .pkp_nav_list a,
body.esz-accessibility-mode .dropdown-menu a,
body.esz-accessibility-mode .site-header-bar a {
  color: #111111 !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

body.esz-accessibility-mode .pkp_nav_list li:hover > a,
body.esz-accessibility-mode .pkp_nav_list li:focus-within > a,
body.esz-accessibility-mode .dropdown-menu a:hover,
body.esz-accessibility-mode .dropdown-menu a:focus {
  background: #f2f2f2 !important;
  color: #000000 !important;
}

body.esz-accessibility-mode button,
body.esz-accessibility-mode .button,
body.esz-accessibility-mode .cmp_button,
body.esz-accessibility-mode input[type="submit"],
body.esz-accessibility-mode input[type="button"],
body.esz-accessibility-mode input[type="reset"] {
  min-height: 44px !important;
  padding: 10px 16px !important;
  border: 2px solid #111111 !important;
  background: #ffffff !important;
  color: #111111 !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}

body.esz-accessibility-mode button:hover,
body.esz-accessibility-mode .button:hover,
body.esz-accessibility-mode .cmp_button:hover,
body.esz-accessibility-mode input[type="submit"]:hover,
body.esz-accessibility-mode input[type="button"]:hover,
body.esz-accessibility-mode input[type="reset"]:hover {
  background: #f2f2f2 !important;
}

body.esz-accessibility-mode input,
body.esz-accessibility-mode select,
body.esz-accessibility-mode textarea {
  min-height: 44px !important;
  border: 2px solid #222222 !important;
  background: #ffffff !important;
  color: #111111 !important;
}

body.esz-accessibility-mode table,
body.esz-accessibility-mode th,
body.esz-accessibility-mode td {
  border-color: #222222 !important;
  color: #111111 !important;
  background: #ffffff !important;
}

body.esz-accessibility-mode th {
  font-weight: 800 !important;
}

body.esz-accessibility-mode img {
  max-width: 100%;
  height: auto;
}

body.esz-accessibility-mode .cover img,
body.esz-accessibility-mode .obj_issue_summary .cover img,
body.esz-accessibility-mode .obj_article_summary img {
  border: 2px solid #222222 !important;
}

body.esz-accessibility-mode .pkp_structure_footer,
body.esz-accessibility-mode .pkp_structure_footer_wrapper,
body.esz-accessibility-mode footer,
body.esz-accessibility-mode .footer-content,
body.esz-accessibility-mode .footer {
  background: #ffffff !important;
  color: #111111 !important;
  border-top: 2px solid #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_structure_footer a,
body.esz-accessibility-mode .pkp_structure_footer_wrapper a,
body.esz-accessibility-mode footer a,
body.esz-accessibility-mode .footer-content a {
  color: #0037b3 !important;
}

body.esz-accessibility-mode *,
body.esz-accessibility-mode *::before,
body.esz-accessibility-mode *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
  text-shadow: none !important;
  filter: none !important;
}

/* ===== RESPONSIVE ACCESSIBILITY TOGGLE ===== */
@media (max-width: 768px) {
  .esz-header-tools {
    position: static;
    transform: none;
    width: 100%;
    margin-top: 6px;
    text-align: center;
  }

  .esz-a11y-toggle-inline {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    font-size: 13px;
    padding: 10px 12px;
  }

  body.esz-accessibility-mode {
    font-size: 19px;
  }
}

/* ==========================================================
   ESZ ACCESSIBILITY – HARD OVERRIDES
   Footer text + button color fix
   ========================================================== */

/* ===== 1) FOOTER: every plain text dark in accessibility mode ===== */
body.esz-accessibility-mode .pkp_structure_footer,
body.esz-accessibility-mode .pkp_structure_footer .pkp_footer_content,
body.esz-accessibility-mode .pkp_structure_footer_wrapper,
body.esz-accessibility-mode footer,
body.esz-accessibility-mode .footer-content,
body.esz-accessibility-mode .footer {
  background: #ffffff !important;
  color: #111111 !important;
  border-top: 2px solid #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_structure_footer p,
body.esz-accessibility-mode .pkp_structure_footer span,
body.esz-accessibility-mode .pkp_structure_footer div,
body.esz-accessibility-mode .pkp_structure_footer li,
body.esz-accessibility-mode .pkp_structure_footer strong,
body.esz-accessibility-mode .pkp_structure_footer em,
body.esz-accessibility-mode .pkp_structure_footer small,
body.esz-accessibility-mode .pkp_structure_footer .footer-block,
body.esz-accessibility-mode .pkp_structure_footer .footer-label,
body.esz-accessibility-mode .pkp_structure_footer .footer-content,
body.esz-accessibility-mode .pkp_structure_footer .footer-content p,
body.esz-accessibility-mode .pkp_structure_footer .footer-content span,
body.esz-accessibility-mode .pkp_structure_footer .footer-content div,
body.esz-accessibility-mode .pkp_structure_footer .footer-content li,
body.esz-accessibility-mode .pkp_structure_footer .footer-center,
body.esz-accessibility-mode .pkp_structure_footer .footer-logo-text,
body.esz-accessibility-mode .pkp_structure_footer .ojs-logo-text,
body.esz-accessibility-mode .pkp_structure_footer .ojs-small,
body.esz-accessibility-mode .pkp_structure_footer .ojs-top,
body.esz-accessibility-mode .pkp_structure_footer .ojs-big,
body.esz-accessibility-mode .pkp_structure_footer .ojs-main,
body.esz-accessibility-mode .pkp_structure_footer .ojs-sep {
  color: #111111 !important;
}

body.esz-accessibility-mode .pkp_structure_footer .footer-separator {
  background: rgba(0, 0, 0, 0.25) !important;
}

body.esz-accessibility-mode .pkp_structure_footer .footer-ornament::before {
  background: rgba(0, 0, 0, 0.75) !important;
}

body.esz-accessibility-mode .pkp_structure_footer .footer-ornament::after {
  color: #111111 !important;
  background: #ffffff !important;
}

body.esz-accessibility-mode .pkp_structure_footer a,
body.esz-accessibility-mode .pkp_structure_footer a:visited {
  color: #0037b3 !important;
  text-decoration: underline !important;
}

body.esz-accessibility-mode .pkp_structure_footer a:hover,
body.esz-accessibility-mode .pkp_structure_footer a:focus {
  color: #00257a !important;
}

/* ===== 2) BUTTONS: no color in default state ===== */
body.esz-accessibility-mode button,
body.esz-accessibility-mode .button,
body.esz-accessibility-mode .cmp_button,
body.esz-accessibility-mode input[type="submit"],
body.esz-accessibility-mode input[type="button"],
body.esz-accessibility-mode input[type="reset"],
body.esz-accessibility-mode .obj_galley_link,
body.esz-accessibility-mode .galley-link,
body.esz-accessibility-mode .cmp_galley_link,
body.esz-accessibility-mode a[href*='/article/view/'][href*='/pdf'],
body.esz-accessibility-mode button[aria-label='GetFTR Button'] {
  background: transparent !important;
  background-color: transparent !important;
  color: #111111 !important;
  border: 2px solid #111111 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
}

body.esz-accessibility-mode .obj_galley_link,
body.esz-accessibility-mode .galley-link,
body.esz-accessibility-mode .cmp_galley_link,
body.esz-accessibility-mode a[href*='/article/view/'][href*='/pdf'] {
  text-decoration: none !important;
}

body.esz-accessibility-mode button:hover,
body.esz-accessibility-mode .button:hover,
body.esz-accessibility-mode .cmp_button:hover,
body.esz-accessibility-mode input[type="submit"]:hover,
body.esz-accessibility-mode input[type="button"]:hover,
body.esz-accessibility-mode input[type="reset"]:hover,
body.esz-accessibility-mode .obj_galley_link:hover,
body.esz-accessibility-mode .galley-link:hover,
body.esz-accessibility-mode .cmp_galley_link:hover,
body.esz-accessibility-mode a[href*='/article/view/'][href*='/pdf']:hover,
body.esz-accessibility-mode button:focus,
body.esz-accessibility-mode .button:focus,
body.esz-accessibility-mode .cmp_button:focus,
body.esz-accessibility-mode input[type="submit"]:focus,
body.esz-accessibility-mode input[type="button"]:focus,
body.esz-accessibility-mode input[type="reset"]:focus,
body.esz-accessibility-mode .obj_galley_link:focus,
body.esz-accessibility-mode .galley-link:focus,
body.esz-accessibility-mode .cmp_galley_link:focus,
body.esz-accessibility-mode a[href*='/article/view/'][href*='/pdf']:focus {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  text-decoration: none !important;
}

/* ===== 3) Inline color rescue inside footer ===== */
body.esz-accessibility-mode .pkp_structure_footer *[style*="color"],
body.esz-accessibility-mode .footer-content *[style*="color"] {
  color: #111111 !important;
}


/* ==========================================================
   ESZ ACCESSIBILITY – FINAL PATCH v2
   ========================================================== */

body.esz-accessibility-mode .page_index_site a.more,
body.esz-accessibility-mode .page_index_journal a.more,
body.esz-accessibility-mode .page_index a.more,
body.esz-accessibility-mode .page_index_site .read_more,
body.esz-accessibility-mode .page_index_journal .read_more,
body.esz-accessibility-mode .page_index .read_more,
body.esz-accessibility-mode .page_index_site .cmp_announcements_read_more,
body.esz-accessibility-mode .page_index_journal .cmp_announcements_read_more,
body.esz-accessibility-mode .page_index .cmp_announcements_read_more,
body.esz-accessibility-mode .page_index_site .more,
body.esz-accessibility-mode .page_index_journal .more,
body.esz-accessibility-mode .page_index .more {
  background: transparent !important;
  background-color: transparent !important;
  color: #111111 !important;
  border: 2px solid #111111 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.esz-accessibility-mode .page_index_site a.more:hover,
body.esz-accessibility-mode .page_index_journal a.more:hover,
body.esz-accessibility-mode .page_index a.more:hover,
body.esz-accessibility-mode .page_index_site .read_more:hover,
body.esz-accessibility-mode .page_index_journal .read_more:hover,
body.esz-accessibility-mode .page_index .read_more:hover,
body.esz-accessibility-mode .page_index_site .cmp_announcements_read_more:hover,
body.esz-accessibility-mode .page_index_journal .cmp_announcements_read_more:hover,
body.esz-accessibility-mode .page_index .cmp_announcements_read_more:hover,
body.esz-accessibility-mode .page_index_site .more:hover,
body.esz-accessibility-mode .page_index_journal .more:hover,
body.esz-accessibility-mode .page_index .more:hover {
  background: #111111 !important;
  color: #ffffff !important;
}

body.esz-accessibility-mode .pkp_structure_head {
  border-bottom: 0 !important;
}

body.esz-accessibility-mode .pkp_head_wrapper,
body.esz-accessibility-mode .pkp_site_nav_menu,
body.esz-accessibility-mode .pkp_navigation_primary_wrapper {
  background: #ffffff !important;
  border-color: #222222 !important;
}

body.esz-accessibility-mode .pkp_navigation_primary > ul > li > a::after,
body.esz-accessibility-mode .pkp_nav_list > li > a::after {
  display: none !important;
}


/* ==========================================================
   ESZ ACCESSIBILITY – DROPDOWN + USER MENU FINAL FIX
   ========================================================== */

body.esz-accessibility-mode .dropdown-menu,
body.esz-accessibility-mode .pkp_navigation_primary .dropdown-menu,
body.esz-accessibility-mode .pkp_navigation_user .dropdown-menu,
body.esz-accessibility-mode .pkp_navigation_user_wrapper,
body.esz-accessibility-mode .pkp_navigation_user,
body.esz-accessibility-mode .pkp_navigation_user ul,
body.esz-accessibility-mode .pkp_navigation_user li,
body.esz-accessibility-mode .pkp_nav_list ul,
body.esz-accessibility-mode .pkp_nav_list li ul,
body.esz-accessibility-mode .pkp_nav_list li ul li {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .dropdown-menu a,
body.esz-accessibility-mode .dropdown-menu a:visited,
body.esz-accessibility-mode .pkp_navigation_user a,
body.esz-accessibility-mode .pkp_navigation_user a:visited,
body.esz-accessibility-mode .pkp_navigation_user_wrapper a,
body.esz-accessibility-mode .pkp_navigation_user_wrapper a:visited,
body.esz-accessibility-mode .pkp_nav_list ul a,
body.esz-accessibility-mode .pkp_nav_list ul a:visited,
body.esz-accessibility-mode .pkp_nav_list li ul a,
body.esz-accessibility-mode .pkp_nav_list li ul a:visited {
  background: transparent !important;
  color: #111111 !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .dropdown-menu a:hover,
body.esz-accessibility-mode .dropdown-menu a:focus,
body.esz-accessibility-mode .pkp_navigation_user a:hover,
body.esz-accessibility-mode .pkp_navigation_user a:focus,
body.esz-accessibility-mode .pkp_navigation_user_wrapper a:hover,
body.esz-accessibility-mode .pkp_navigation_user_wrapper a:focus,
body.esz-accessibility-mode .pkp_nav_list ul a:hover,
body.esz-accessibility-mode .pkp_nav_list ul a:focus,
body.esz-accessibility-mode .pkp_nav_list li ul a:hover,
body.esz-accessibility-mode .pkp_nav_list li ul a:focus {
  background: #f2f2f2 !important;
  color: #000000 !important;
}

body.esz-accessibility-mode .dropdown-menu .active a,
body.esz-accessibility-mode .dropdown-menu .current a,
body.esz-accessibility-mode .pkp_navigation_user .active a,
body.esz-accessibility-mode .pkp_navigation_user .current a,
body.esz-accessibility-mode .pkp_nav_list ul .active a,
body.esz-accessibility-mode .pkp_nav_list ul .current a {
  background: #ffffff !important;
  color: #111111 !important;
}

body.esz-accessibility-mode .dropdown-toggle::after,
body.esz-accessibility-mode .pkp_navigation_user .dropdown-toggle::after,
body.esz-accessibility-mode .pkp_navigation_user_wrapper .dropdown-toggle::after,
body.esz-accessibility-mode .pkp_nav_list li ul::before,
body.esz-accessibility-mode .pkp_nav_list li ul::after,
body.esz-accessibility-mode .dropdown-menu::before,
body.esz-accessibility-mode .dropdown-menu::after {
  color: #111111 !important;
  border-color: #111111 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .dropdown-item,
body.esz-accessibility-mode .dropdown-item:visited {
  background: transparent !important;
  color: #111111 !important;
}

body.esz-accessibility-mode .dropdown-item:hover,
body.esz-accessibility-mode .dropdown-item:focus {
  background: #f2f2f2 !important;
  color: #000000 !important;
}


/* ==========================================================
   ESZ ACCESSIBILITY – PRIMARY DROPDOWN HARD FIX
   ========================================================== */

body.esz-accessibility-mode .pkp_navigation_primary_row ul,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul li,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul a,
body.esz-accessibility-mode .pkp_navigation_primary .dropdown-menu,
body.esz-accessibility-mode .pkp_nav_list ul,
body.esz-accessibility-mode .pkp_nav_list ul li {
  background: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  border: 1px solid #222222 !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul a,
body.esz-accessibility-mode .pkp_nav_list ul a {
  background: transparent !important;
  color: #111111 !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul a:hover,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul a:focus,
body.esz-accessibility-mode .pkp_nav_list ul a:hover,
body.esz-accessibility-mode .pkp_nav_list ul a:focus {
  background: #f2f2f2 !important;
  color: #000000 !important;
}

body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul .current a,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul .active a {
  background: #ffffff !important;
  color: #111111 !important;
}

body.esz-accessibility-mode .pkp_navigation_primary *,
body.esz-accessibility-mode .pkp_navigation_primary_row *,
body.esz-accessibility-mode .pkp_nav_list ul * {
  background-image: none !important;
  box-shadow: none !important;
}

body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul::before,
body.esz-accessibility-mode .pkp_navigation_primary > ul > li > ul::after,
body.esz-accessibility-mode .pkp_nav_list ul::before,
body.esz-accessibility-mode .pkp_nav_list ul::after {
  display: none !important;
}

/* ==========================================================
   ESZ FOOTER SOCIAL – SAFE APPEND
   Only styles the inserted .esz-footer-social block
   ========================================================== */

.pkp_structure_footer .esz-footer-social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 12px 0 8px;
    padding: 0;
    text-align: center;
    background: transparent !important;
}

.pkp_structure_footer .esz-footer-social .esz-social-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    min-height: 40px;
    border-radius: 4px;
    background: transparent !important;
    color: #882222 !important;
    border: 1px solid rgba(184,154,88,0.28);
    font-size: 0.92rem;
    letter-spacing: 0.06em;
    font-variant: small-caps;
    text-decoration: none !important;
    line-height: 1.2;
    box-sizing: border-box;
    transition: all 0.18s ease;
}

.pkp_structure_footer .esz-footer-social .esz-social-btn:hover,
.pkp_structure_footer .esz-footer-social .esz-social-btn:focus {
    color: #4a0f0f !important;
    border-color: #b89a58 !important;
    background: rgba(184,154,88,0.06) !important;
    text-decoration: none !important;
}

.pkp_structure_footer .esz-footer-social .esz-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: #b89a58;
    transform: translateY(0);
    transition: all 0.18s ease;
}

.pkp_structure_footer .esz-footer-social .esz-social-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.pkp_structure_footer .esz-footer-social .esz-social-btn:hover .esz-social-icon {
    transform: translateY(-1px) scale(1.05);
}

.pkp_structure_footer .esz-footer-social .esz-social-text {
    display: inline-block;
}

.pkp_structure_footer .esz-footer-social .esz-social-share {
    color: #6a6256 !important;
    border-color: rgba(106,98,86,0.25);
}

.pkp_structure_footer .esz-footer-social .esz-social-share:hover,
.pkp_structure_footer .esz-footer-social .esz-social-share:focus {
    color: #2b2b2b !important;
    background: rgba(0,0,0,0.035) !important;
}

.pkp_structure_footer .esz-footer-social .esz-social-btn:focus-visible {
    outline: 2px solid #b89a58;
    outline-offset: 2px;
}

body.esz-accessibility-mode .pkp_structure_footer .esz-footer-social .esz-social-btn,
body.esz-accessibility-mode .pkp_structure_footer .esz-footer-social .esz-social-btn:visited {
    background: transparent !important;
    color: #111111 !important;
    border: 2px solid #111111 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-variant: normal;
    letter-spacing: 0.02em;
}

body.esz-accessibility-mode .pkp_structure_footer .esz-footer-social .esz-social-btn:hover,
body.esz-accessibility-mode .pkp_structure_footer .esz-footer-social .esz-social-btn:focus {
    background: #111111 !important;
    color: #ffffff !important;
}

body.esz-accessibility-mode .pkp_structure_footer .esz-footer-social .esz-social-icon {
    color: currentColor !important;
    transform: none !important;
}

@media (max-width: 768px) {
    .pkp_structure_footer .esz-footer-social {
        gap: 8px;
    }

    .pkp_structure_footer .esz-footer-social .esz-social-btn {
        width: auto;
        max-width: 100%;
        font-variant: normal;
        letter-spacing: 0.02em;
    }
}

/* ==========================================================
   ESZ FOOTER – TYPOGRAPHIC POLISH
   ========================================================== */

.pkp_structure_footer .footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 14px;
    text-align: center;
    line-height: 1.5;
}

.pkp_structure_footer .footer-block {
    font-size: 0.95rem;
    color: inherit;
}

.pkp_structure_footer .footer-block a {
    text-decoration: none;
    transition: color 0.2s ease;
}

.pkp_structure_footer .footer-separator {
    width: 1px;
    height: 18px;
    background: rgba(184,154,88,0.35);
    display: inline-block;
}

@media (max-width: 768px) {
    .pkp_structure_footer .footer-separator {
        display: none;
    }
}

.pkp_structure_footer .ojs-logo-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    color: inherit;
}

.pkp_structure_footer .ojs-logo-text .ojs-top {
    font-variant: small-caps;
}

.pkp_structure_footer .ojs-logo-text .ojs-main {
    font-size: 1rem;
    font-weight: 600;
}

.pkp_structure_footer .ojs-logo-text a {
    text-decoration: none;
}

.pkp_structure_footer {
    padding-top: 18px;
    padding-bottom: 18px;
}

.footer-ornament-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
