/* ============================================================
   TJMPS Custom CSS v5 — Final Production Build
   Taylor & Francis Inspired · Clean · Professional

   SETUP:
   1. Upload tjmps-logo-v2-small.png as Logo
   2. Paste footer-text.html into Footer field (Source mode)
   3. Upload this CSS file as Custom Stylesheet
   4. Clear all caches · Hard refresh (Ctrl+Shift+R)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@400;700&display=swap');

/* ============================================================
   GLOBAL — White background, clean fonts
   ============================================================ */
html, body {
    background-color: #ffffff !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: #2d2d2d !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* Kill gray backgrounds — be SPECIFIC, no wildcards */
.pkp_structure_page {
    background-color: #ffffff !important;
}

a { color: #3d7a8a; transition: color 0.2s; }
a:hover { color: #2c5f6e; }

/* ============================================================
   HEADER — Gradient, logo properly aligned
   ============================================================ */
header.pkp_structure_head {
    background: linear-gradient(135deg, #e0f0eb 0%, #c8e6df 60%, #e0f0eb 100%) !important;
    border-bottom: none !important;
    padding: 0 !important;
}

.pkp_head_wrapper {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
}

.pkp_site_name_wrapper {
    padding: 20px 0 15px 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.pkp_site_name {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
}

.pkp_site_name a,
.pkp_site_name a.is_img {
    display: inline-flex !important;
    align-items: center !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Logo image — transparent PNG, no blend mode needed */
.pkp_site_name a img,
.pkp_site_name a.is_img img {
    max-height: 85px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Text-based site name fallback */
.pkp_site_name a.is_text {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #2c5f6e !important;
    font-size: 1.7rem !important;
    font-weight: 700 !important;
}

h1.pkp_screen_reader {
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important; width: 1px !important;
    margin: -1px !important; padding: 0 !important; border: 0 !important;
}

.pkp_site_nav_toggle { display: none !important; }

/* ============================================================
   USER NAV (Register/Login)
   ============================================================ */
.pkp_navigation_user_wrapper {
    background-color: transparent !important;
    position: absolute !important;
    top: 20px !important;
    right: 30px !important;
    z-index: 100 !important;
}

ul.pkp_navigation_user,
ul.pkp_navigation_user.pkp_nav_list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

ul.pkp_navigation_user > li { margin: 0 !important; }

ul.pkp_navigation_user > li > a,
.pkp_navigation_user.pkp_nav_list li a {
    color: #2c5f6e !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    background: rgba(255,255,255,0.6) !important;
    border-radius: 3px !important;
    margin-left: 5px !important;
    transition: background 0.2s !important;
}

ul.pkp_navigation_user > li > a:hover {
    background: rgba(255,255,255,0.9) !important;
}

/* ============================================================
   NAVIGATION — Dark teal, SINGLE ROW
   ============================================================ */
nav.pkp_site_nav_menu { background: transparent !important; }
nav.pkp_site_nav_menu > a:first-child { display: none !important; }

.pkp_navigation_primary_row {
    background-color: #457b8b !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.pkp_navigation_primary_wrapper {
    background-color: transparent !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

ul.pkp_navigation_primary,
ul.pkp_navigation_primary.pkp_nav_list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
}

ul.pkp_navigation_primary > li {
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

/* Nav links — override ALL theme selectors */
ul.pkp_navigation_primary > li > a,
.pkp_navigation_primary li a,
.pkp_navigation_primary.pkp_nav_list li a,
.pkp_nav_list li a,
nav .pkp_navigation_primary li a,
.pkp_navigation_primary_row .pkp_navigation_primary li a,
.pkp_site_nav_menu .pkp_navigation_primary li a,
.pkp_navigation_primary_wrapper .pkp_nav_list li a {
    color: #ffffff !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    padding: 14px 11px !important;
    display: block !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
    white-space: nowrap !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: none !important;
}

ul.pkp_navigation_primary > li > a:hover,
ul.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary li a:hover,
.pkp_navigation_primary li.current > a {
    background-color: #355f6c !important;
    color: #ffffff !important;
}

/* Dropdown sub-menus */
ul.pkp_navigation_primary ul,
.pkp_navigation_primary li ul {
    background-color: #457b8b !important;
    border: none !important;
    border-radius: 0 0 4px 4px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    min-width: 200px !important;
    position: absolute !important;
    z-index: 999 !important;
}

.pkp_navigation_primary li ul li a {
    font-size: 0.7rem !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Search in nav row */
.pkp_navigation_search_wrapper {
    background-color: transparent !important;
    flex-shrink: 0 !important;
}

.pkp_navigation_search_wrapper a,
.pkp_search_desktop a,
.pkp_navigation_primary_row .pkp_search a {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    padding: 14px 15px !important;
    white-space: nowrap !important;
}

.pkp_navigation_search_wrapper a:hover {
    background-color: #355f6c !important;
}

/* ============================================================
   CONTENT AREA — Flex layout (no floats = no whitespace bug)
   ============================================================ */
.pkp_structure_content {
    max-width: 1400px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.pkp_structure_main {
    background: #ffffff !important;
    padding: 30px 20px !important;
    min-height: auto !important;
    float: none !important;
    flex: 1 !important;
    min-width: 0 !important;
    width: auto !important;
}

/* About text */
.pkp_page_index .page_content,
.homepage_about,
.additional_content {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    text-align: justify !important;
}

/* Content headings */
.pkp_structure_main h1,
.pkp_structure_main h2 {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #2c5f6e !important;
    font-weight: 700 !important;
}

.pkp_structure_main h3,
.pkp_structure_main h4 {
    font-family: 'Inter', sans-serif !important;
    color: #2c5f6e !important;
    font-weight: 600 !important;
}

/* ============================================================
   SIDEBAR — Flex child, no float
   ============================================================ */
.pkp_structure_sidebar {
    font-family: 'Inter', sans-serif !important;
    background: #ffffff !important;
    float: none !important;
    width: 300px !important;
    flex-shrink: 0 !important;
}

.pkp_block h2,
.pkp_block .title,
.pkp_structure_sidebar .pkp_block h2 {
    color: #777 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding-bottom: 10px !important;
    border-bottom: 3px solid #3d7a8a !important;
    margin-bottom: 15px !important;
}

.pkp_block ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.pkp_block ul li { border-bottom: 1px solid #e0e0e0 !important; }
.pkp_block ul li:last-child { border-bottom: none !important; }
.pkp_block ul li a {
    color: #3d7a8a !important;
    font-size: 0.88rem !important;
    padding: 8px 0 !important;
    display: block !important;
    text-decoration: none !important;
}
.pkp_block ul li a:hover { color: #2c5f6e !important; text-decoration: underline !important; }

/* Make a Submission button */
.block_make_submission .content a,
a.block_make_submission_link,
.block_make_submission_link {
    display: block !important;
    background-color: #2c5f6e !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.06em !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    transition: background-color 0.2s !important;
    font-family: 'Inter', sans-serif !important;
    border: none !important;
}

.block_make_submission .content a:hover,
a.block_make_submission_link:hover {
    background-color: #3d7a8a !important;
}

.pkp_block img {
    max-width: 100% !important;
    height: auto !important;
}

/* ============================================================
   FOOTER — Text-based, dark teal, Taylor & Francis style
   HIGH SPECIFICITY to beat all theme overrides
   ============================================================ */
body .pkp_structure_page .pkp_structure_footer_wrapper,
body > .pkp_structure_page > .pkp_structure_footer_wrapper,
.pkp_structure_footer_wrapper {
    background: #1e4a58 !important;
    background-color: #1e4a58 !important;
    color: rgba(255,255,255,0.85) !important;
    padding: 35px 30px 25px !important;
    font-size: 0.85rem !important;
    margin-top: 0 !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 1.6 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}

body .pkp_structure_page .pkp_structure_footer_wrapper .pkp_structure_footer,
.pkp_structure_footer {
    max-width: 1400px !important;
    margin: 0 auto !important;
}

/* Hide ALL images in footer */
body .pkp_structure_footer_wrapper .pkp_footer_content img,
.pkp_footer_content img {
    display: none !important;
}

body .pkp_structure_footer_wrapper .pkp_footer_content,
.pkp_footer_content {
    text-align: center !important;
}

body .pkp_structure_footer_wrapper .pkp_footer_content p,
.pkp_footer_content p {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    font-size: 0.85rem !important;
    text-align: center !important;
    color: rgba(255,255,255,0.85) !important;
}

body .pkp_structure_footer_wrapper a,
.pkp_structure_footer_wrapper a {
    color: #d4eef3 !important;
    text-decoration: none !important;
}

body .pkp_structure_footer_wrapper a:hover,
.pkp_structure_footer_wrapper a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* === HIDE OJS/PKP branding completely === */
body .pkp_structure_page .pkp_structure_footer_wrapper .pkp_brand_footer,
.pkp_brand_footer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_brand_footer a,
.pkp_brand_footer img {
    display: none !important;
    visibility: hidden !important;
}

/* ============================================================
   ANNOUNCEMENTS
   ============================================================ */
.obj_announcement_summary h2 a,
.obj_announcement_summary h3 a {
    color: #3d7a8a !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;
}

.obj_announcement_summary .date {
    color: #777 !important;
    font-size: 0.82rem !important;
}

.read_more, a.read_more {
    color: #3d7a8a !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.05em !important;
}

/* ============================================================
   ARTICLE LISTS
   ============================================================ */
.obj_article_summary {
    padding: 15px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.obj_article_summary h3 a,
.obj_article_summary .title a {
    color: #3d7a8a !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
}

.obj_article_summary .authors {
    color: #777 !important;
    font-size: 0.85rem !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.pkp_button,
button.pkp_button,
a.pkp_button {
    background-color: #3d7a8a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 22px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}

.pkp_button:hover { background-color: #355f6c !important; }

/* ============================================================
   FORMS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-family: 'Inter', sans-serif !important;
}

input:focus, textarea:focus, select:focus {
    border-color: #3d7a8a !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(61,122,138,0.15) !important;
}

/* ============================================================
   TABLES
   ============================================================ */
table { width: 100% !important; border-collapse: collapse !important; }
table th {
    background-color: #3d7a8a !important;
    color: #ffffff !important;
    padding: 10px 15px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
}
table td {
    padding: 10px 15px !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.pkp_breadcrumb { font-size: 0.8rem !important; color: #777 !important; }
.pkp_breadcrumb a { color: #3d7a8a !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
    ul.pkp_navigation_primary > li > a,
    .pkp_navigation_primary li a {
        padding: 12px 8px !important;
        font-size: 0.68rem !important;
    }
}

@media (max-width: 992px) {
    .pkp_navigation_user_wrapper {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        background-color: #457b8b !important;
        padding: 5px 10px !important;
    }

    ul.pkp_navigation_user > li > a {
        color: #ffffff !important;
        background: rgba(255,255,255,0.15) !important;
    }

    ul.pkp_navigation_primary > li > a,
    .pkp_navigation_primary li a {
        padding: 10px 7px !important;
        font-size: 0.65rem !important;
    }

    .pkp_structure_content {
        display: block !important;
    }

    .pkp_structure_main {
        float: none !important;
        width: 100% !important;
    }

    .pkp_structure_sidebar {
        float: none !important;
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    header.pkp_structure_head { padding: 0 !important; }
    .pkp_head_wrapper { padding: 0 15px !important; }

    .pkp_site_name_wrapper {
        flex-direction: column !important;
        padding: 15px 0 !important;
    }

    ul.pkp_navigation_primary { flex-wrap: wrap !important; }

    .pkp_navigation_primary li a {
        padding: 10px 10px !important;
        font-size: 0.68rem !important;
    }

    .pkp_structure_main { padding: 20px 15px !important; }
}
