/* =========================================================
   JoCDE FINAL STYLE
   Pink & Purple Academic Theme
   Header + Navigation + Sidebar Buttons
   ========================================================= */

body {
    background-color: #fbf7fc !important;
    color: #1f2933 !important;
}

a {
    color: #7b1fa2 !important;
}

a:hover,
a:focus {
    color: #4a148c !important;
}

/* =========================
   HEADER AREA
   ========================= */

.pkp_structure_head {
    background-color: #4a148c !important;
    border-bottom: 4px solid #f8bbd0 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18) !important;
    overflow: visible !important;
}

.pkp_head_wrapper {
    background: linear-gradient(90deg, #4a148c 0%, #7b1fa2 55%, #c2185b 100%) !important;
    padding: 18px 24px !important;
    overflow: visible !important;
}

.pkp_site_name,
.pkp_site_name a {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 30px !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    letter-spacing: 0.2px !important;
}

.pkp_site_name img,
.pkp_site_name .is_img img,
img[src*="pageHeaderLogoImage"] {
    max-height: 120px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    margin: 8px 0 !important;
}

/* =========================
   FORCE NAVIGATION VISIBILITY
   ========================= */

.pkp_site_nav_toggle,
button.pkp_site_nav_toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.pkp_site_nav_menu,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary_row,
.pkp_navigation_user_wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    clip: auto !important;
}

/* =========================
   TOP NAVIGATION MENU
   ========================= */

.pkp_navigation_primary_row {
    background-color: #3b0f70 !important;
    border-top: 1px solid #f8bbd0 !important;
    border-bottom: 1px solid #f8bbd0 !important;
    padding: 4px 18px !important;
}

#navigationPrimary,
.pkp_navigation_primary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    visibility: visible !important;
    opacity: 1 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 !important;
}

#navigationPrimary > li,
.pkp_navigation_primary > li {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
}

#navigationPrimary > li > a,
#navigationPrimary > li > a:link,
#navigationPrimary > li > a:visited,
.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > a:link,
.pkp_navigation_primary > li > a:visited {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    background: transparent !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
}

#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus,
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    background-color: #c2185b !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* =========================
   DROPDOWN MENU
   ========================= */

#navigationPrimary ul,
.pkp_navigation_primary ul {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background-color: #ffffff !important;
    border: 1px solid #f8bbd0 !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18) !important;
    padding: 6px !important;
    margin: 0 !important;
    min-width: 230px !important;
    z-index: 99999 !important;
}

#navigationPrimary li:hover > ul,
#navigationPrimary li:focus-within > ul,
.pkp_navigation_primary li:hover > ul,
.pkp_navigation_primary li:focus-within > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#navigationPrimary ul li,
.pkp_navigation_primary ul li {
    display: block !important;
    width: 100% !important;
}

#navigationPrimary ul a,
#navigationPrimary ul a:link,
#navigationPrimary ul a:visited,
.pkp_navigation_primary ul a,
.pkp_navigation_primary ul a:link,
.pkp_navigation_primary ul a:visited {
    display: block !important;
    color: #4a148c !important;
    background: #ffffff !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-radius: 4px !important;
}

#navigationPrimary ul a:hover,
#navigationPrimary ul a:focus,
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
    background-color: #7b1fa2 !important;
    color: #ffffff !important;
}

/* =========================
   LOGIN AND REGISTER BUTTONS
   ========================= */

#navigationUserWrapper,
.pkp_navigation_user_wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    text-align: right !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    z-index: 99999 !important;
}

#navigationUser,
.pkp_navigation_user {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    visibility: visible !important;
    opacity: 1 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
}

#navigationUser li,
.pkp_navigation_user li {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#navigationUser a,
#navigationUser a:link,
#navigationUser a:visited,
.pkp_navigation_user a,
.pkp_navigation_user a:link,
.pkp_navigation_user a:visited {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    background-color: #c2185b !important;
    border: 1px solid #f8bbd0 !important;
    border-radius: 5px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#navigationUser a:hover,
#navigationUser a:focus,
.pkp_navigation_user a:hover,
.pkp_navigation_user a:focus {
    color: #ffffff !important;
    background-color: #4a148c !important;
    text-decoration: none !important;
}

.pkp_navigation_user a[href*="register"] {
    font-size: 0 !important;
}

.pkp_navigation_user a[href*="register"]::after {
    content: "Register" !important;
    font-size: 14px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.pkp_navigation_user a[href*="login"] {
    font-size: 0 !important;
}

.pkp_navigation_user a[href*="login"]::after {
    content: "Login" !important;
    font-size: 14px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* =========================
   MAIN CONTENT AREA
   ========================= */

.pkp_structure_content {
    background-color: #ffffff !important;
}

.pkp_structure_main {
    background-color: #ffffff !important;
    padding-top: 20px !important;
}

.page,
.page_index_journal,
.page_about {
    background-color: #ffffff !important;
}

.page h1,
.page h2,
.page h3,
.page h4 {
    color: #4a148c !important;
    font-weight: 700 !important;
}

.cmp_breadcrumbs {
    color: #4a148c !important;
    font-size: 14px !important;
}

/* =========================
   SIDEBAR AREA
   ========================= */

.pkp_structure_sidebar {
    padding-top: 12px !important;
}

.pkp_block,
.block_custom {
    background-color: #ffffff !important;
    border: 1px solid #ead7f2 !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(74, 20, 140, 0.12) !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.pkp_block .title,
.block_custom .title {
    display: block !important;
    background: linear-gradient(90deg, #4a148c 0%, #7b1fa2 100%) !important;
    color: #ffffff !important;
    padding: 13px 15px !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #f8bbd0 !important;
}

/* =========================
   CUSTOM SIDEBAR BUTTONS
   ========================= */

.journal-sidebar-buttons {
    display: block !important;
    width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

.journal-sidebar-buttons .sidebar-btn {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background-color: #4a148c !important;
    color: #ffffff !important;
    padding: 15px 16px !important;
    margin: 9px 0 !important;
    border-left: 5px solid #f8bbd0 !important;
    border-top: 1px solid #7b1fa2 !important;
    border-right: 1px solid #7b1fa2 !important;
    border-bottom: 1px solid #7b1fa2 !important;
    border-radius: 5px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(74, 20, 140, 0.20) !important;
    transition: all 0.2s ease-in-out !important;
}

.journal-sidebar-buttons .sidebar-btn:hover,
.journal-sidebar-buttons .sidebar-btn:focus {
    background-color: #c2185b !important;
    color: #ffffff !important;
    border-left-color: #fce4ec !important;
    text-decoration: none !important;
    padding-left: 22px !important;
    box-shadow: 0 4px 12px rgba(194, 24, 91, 0.30) !important;
}

.journal-sidebar-buttons .sidebar-btn::before {
    content: "› ";
    font-weight: 800 !important;
    color: #fce4ec !important;
}

/* =========================
   TEMPLATE DOWNLOAD PAGE BUTTON
   ========================= */

.template-download-box {
    background-color: #fcf7fd !important;
    border: 1px solid #ead7f2 !important;
    border-radius: 10px !important;
    padding: 24px !important;
    margin: 20px 0 !important;
    box-shadow: 0 3px 10px rgba(74, 20, 140, 0.08) !important;
}

.template-download-box h3 {
    color: #4a148c !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
}

.template-download-btn {
    display: inline-block !important;
    background-color: #4a148c !important;
    color: #ffffff !important;
    padding: 14px 22px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: 2px solid #c2185b !important;
    margin-top: 10px !important;
}

.template-download-btn:hover,
.template-download-btn:focus {
    background-color: #c2185b !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* =========================
   FOOTER
   ========================= */

.pkp_structure_footer_wrapper {
    background-color: #4a148c !important;
    color: #ffffff !important;
    border-top: 4px solid #f8bbd0 !important;
}

.pkp_structure_footer_wrapper a {
    color: #fce4ec !important;
}

/* =========================
   MOBILE RESPONSIVE
   ========================= */

@media screen and (max-width: 768px) {

    .pkp_head_wrapper {
        padding: 14px 16px !important;
    }

    .pkp_site_name,
    .pkp_site_name a {
        font-size: 22px !important;
    }

    .pkp_site_name img,
    .pkp_site_name .is_img img,
    img[src*="pageHeaderLogoImage"] {
        max-height: 90px !important;
    }

    #navigationPrimary,
    .pkp_navigation_primary,
    #navigationUser,
    .pkp_navigation_user {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
    }

    #navigationUser,
    .pkp_navigation_user {
        justify-content: flex-start !important;
    }

    #navigationPrimary > li > a,
    .pkp_navigation_primary > li > a {
        font-size: 13px !important;
        padding: 8px 10px !important;
    }

    .journal-sidebar-buttons .sidebar-btn {
        font-size: 14px !important;
        padding: 13px 14px !important;
    }
}