.journal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    width: 100%;
}

.journal-footer-content {
    flex: 1;
}

.journal-footer-logo {
    flex: 0 0 auto;
    margin-left: auto;
}

.journal-footer-logo img {
    width: 210px;
    max-width: 100%;
    height: auto;
    display: block;
}

/*
 * OJS footer fallback
 *
 * OJS renders content entered under Website > Appearance > Footer inside
 * .pkp_footer_content. This keeps the journal details on the left and moves
 * the footer logo to the right even when the custom .journal-footer wrapper
 * is not present in the saved footer HTML.
 */
.pkp_structure_footer .pkp_footer_content {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-height: 170px;
    padding-right: 300px !important;
}

.pkp_structure_footer .pkp_footer_content img {
    position: absolute !important;
    top: 50%;
    right: 70px;
    width: 210px !important;
    max-width: 210px !important;
    height: auto !important;
    margin: 0 !important;
    display: block;
    transform: translateY(-50%);
}

@media (max-width: 768px) {
    .journal-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .journal-footer-logo {
        margin: 20px auto 0;
    }

    .pkp_structure_footer .pkp_footer_content {
        min-height: 0;
        padding-right: 0 !important;
    }

    .pkp_structure_footer .pkp_footer_content img {
        position: static !important;
        width: 210px !important;
        max-width: 100% !important;
        margin: 20px auto 0 !important;
        transform: none;
    }
}
/* Hide OJS footer brand */
.pkp_brand_footer {
    display: none !important;
}

/* Apply to all links */
a {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}

/* Hover effect: move slightly down */
a:hover {
    transform: translateY(3px);
}

/* Bounce animation */
@keyframes bounce {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(3px); }
    100% { transform: translateY(0); }
}

/* ARTICLE button blink effect */
.obj_galley_link.blink-article {
    animation: blinkEffect 2.5s infinite;
}

/* Sidebar section headings hover bounce */
.pkp_block .title {
    display: inline-block;
    position: relative;
    transition: transform 0.2s ease-in-out;
    cursor: pointer;
}

/* Bounce animation on hover */
.pkp_block .title:hover {
    animation: bounce 0.3s ease;
}

/* Justify Abstract Text */
.article-summary .abstract,
.item.abstract p,
.pkp_structure_main .abstract p {
    text-align: justify;
}

/* Force Abstract Justification */
div.abstract, 
div.abstract p, 
section.abstract, 
section.item.abstract, 
.article-details .abstract, 
.article-summary .abstract {
    text-align: justify !important;
}

/* Abstract Section Styling */
.item.abstract,
.article-summary .abstract,
.article-details .abstract,
.pkp_structure_main .abstract {
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 20px;
    margin: 20px;
    border: 1px solid #ddd;
    text-align: justify;
}

/* References Section Styling */
.item.references,
.article-summary .references,
.article-details .references,
.pkp_structure_main .references,
.citation-list {
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 20px;
    margin: 20px;
    border: 1px solid #ddd;
    text-align: justify;
}

/* Abstract and References Section Titles */
.item.abstract .title,
.item.references .title,
.article-details .references h2,
.article-details .references h3 {
    text-align: justify;
    font-weight: bold;
    margin-bottom: 10px;
}

/* Page Title Justify */
.page_title {
    text-align: justify !important;
}

/* Fix and align About Journal & Keywords section */
.pkp_block.block_custom.about,
.pkp_block.block_custom.keywords {
    margin-left: -10px;      /* shift slightly left */
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 0; /* reset first */
}
/* Force justify for most-read article links */
.pkp_block.block_most_read ul li a {
    text-align: justify;
    display: block;
}
/* Justify text in Most Read Articles sidebar */
.block_most_read .title,
.block_most_read a {
    text-align: justify;
}
