/* ===== CONTROLLED HEADER SIZE (DESKTOP + MOBILE BALANCE) ===== */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,600;0,700;1,400&display=swap');

:root {
    --brand-blue: #1d3c6a;
    --brand-green: #38761d;
    --light-bg: #f1f8f5;
    --dark-strip: #0f2140;
    --accent-gold: #e8c87a;
}

.pkp_site_name .is_img img {
    display: block;
    width: auto;
    height: auto;
    max-width: 900px;
    max-height: 110px;
}

@media (max-width: 992px) {
    .pkp_site_name .is_img img {
        max-width: 100%;
        max-height: 95px;
    }
}

@media (max-width: 576px) {
    .pkp_site_name { text-align: center; }
    .pkp_site_name .is_img img { max-width: 100%; max-height: 75px; margin: 0 auto; }
}

.pkp_structure_head { padding-top: 8px; padding-bottom: 8px; }

/* ===== GLOBAL SITE FOOTER ENGINE ===== */
.site-footer { width: 100%; line-height: 1.6; font-family: 'Lato', sans-serif; }
.footer-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.footer-top-strip { background-color: var(--dark-strip); color: #ddeeff; padding: 12px 0; font-size: 0.9rem; letter-spacing: 0.5px; }
.flex-row { display: flex; justify-content: space-between; align-items: center; }
.social-links { display: flex; align-items: center; gap: 28px; }
.social-links a { display: inline-flex; align-items: center; gap: 10px; color: #ddeeff; text-decoration: none; font-size: 0.95rem; font-weight: 500; transition: color 0.25s ease, transform 0.2s ease; }
.social-links a:hover { color: var(--accent-gold); transform: translateY(-1px); }

.footer-main { background-color: var(--light-bg); padding: 20px 0; border-top: 1px solid #e0e0e0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.footer-title { font-family: 'Playfair Display', serif; font-size: 2rem; margin: 0 0 5px 0; font-weight: 700; }
.text-blue { color: var(--brand-blue); }
.text-green { color: var(--brand-green); }

.mission-text { font-size: 0.95rem; color: #333; margin-bottom: 15px; }
.issn-plain-text { font-size: 0.95rem; color: #555; font-weight: 700; margin: 0 0 15px 0; }
.footer-email { display: block; color: #1d5c96; font-weight: 700; text-decoration: none; margin-bottom: 10px; }
.footer-email:hover { color: var(--brand-green); text-decoration: underline; }

.footer-journal-url a { display: inline-flex; align-items: center; gap: 10px; color: #1d5c96; text-decoration: none; font-size: 0.95rem; font-weight: 600; transition: color 0.25s ease, transform 0.2s ease; }
.footer-journal-url a:hover { color: #38761d; text-decoration: underline; transform: translateY(-1px); }

.journal-url-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-size: 1rem; font-weight: 700; line-height: 1; }
.journal-url-text { word-break: break-word; }

.license-block, .preservation-block { margin-top: 15px; padding-top: 15px; border-top: 1.5px dashed var(--brand-green); }
.license-heading { font-size: 0.95rem; text-transform: capitalize; letter-spacing: 0.5px; color: var(--brand-green); margin: 0 0 5px 0; font-weight: 700; }
.license-text { font-size: 0.92rem; color: #555; margin: 0; line-height: 1.6; }
.license-text a { color: #1d5c96; font-weight: 600; text-decoration: none; }
.license-text a:hover { color: var(--brand-green); text-decoration: underline; }

.col-heading { color: var(--brand-green); text-transform: capitalize; font-size: 0.95rem; letter-spacing: 1px; margin-bottom: 20px; font-weight: 700; padding-bottom: 8px; }
.footer-list { list-style: none; padding: 0; margin: 0; }
.footer-list a::before { content: "> "; margin-right: 8px; font-weight: bold; color: var(--brand-green); }
.footer-list li { margin-bottom: 10px !important; }
.footer-list a { color: #1d5c96; text-decoration: none; font-size: 0.95rem; }
.footer-list a:hover { color: var(--brand-green); text-decoration: none; }

.footer-col { display: flex !important; flex-direction: column !important; }
.utility-col { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.ojs-brand-right { text-align: left !important; margin-top: 40px; }
.ojs-brand-right img { max-width: 130px; height: auto; display: block; opacity: 0.9; }

.pkp_brand_footer { display: none !important; }

#custom-publisher-strip { display: block !important; width: 100% !important; background-color: #0b1622 !important; padding: 10px 20px !important; margin: 0 !important; clear: both !important; color: #ddeeff !important; }
#custom-publisher-strip .custom-container { max-width: 1140px !important; margin: 0 auto !important; }
#custom-publisher-strip .custom-top-row { display: flex !important; align-items: center !important; justify-content: flex-start !important; padding-bottom: 10px !important; }
#custom-publisher-strip .custom-label { border-right: 1px solid rgba(255, 255, 255, 0.6) !important; padding-right: 25px !important; margin-right: 25px !important; font-weight: 700 !important; font-size: 0.85rem !important; letter-spacing: 1px !important; white-space: nowrap !important; }
#custom-publisher-strip .pub-name { color: #ffffff !important; font-size: 1.1rem !important; font-weight: 700 !important; display: block !important; margin-bottom: -4px !important; }
#custom-publisher-strip .custom-content { font-size: 0.85rem !important; line-height: 1.3 !important; color: #ddeeff !important; }
#custom-publisher-strip .custom-logo { margin-left: auto !important; display: flex !important; align-items: center !important; }
#custom-publisher-strip .custom-logo img { width: 90px !important; height: 90px !important; border: 2px solid #4a5d6e !important; border-radius: 50% !important; padding: 2px !important; background-color: #ffffff; object-fit: contain !important; }
#custom-publisher-strip .custom-divider { width: 100% !important; border-top: 1px solid rgba(255, 255, 255, 0.4) !important; }
#custom-publisher-strip .custom-legal { width: 100% !important; text-align: center !important; font-size: 0.85rem !important; color: #ddeeff !important; display: block !important; padding-bottom: 10px !important; }
#custom-publisher-strip .custom-legal a { color: #55acee !important; text-decoration: none !important; font-weight: 600 !important; }
#custom-publisher-strip .custom-legal a:hover { color: #ffffff !important; text-decoration: underline !important; }

@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .utility-col { justify-content: flex-start; align-items: flex-start; }
    .ojs-brand-right { margin-top: 20px; }
}