/* Tasaol journal — brand theme */

/* Self-hosted Cairo (variable font, weights 200–1000). One file per Unicode subset. */
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 200 1000;
    font-display: swap;
    src: url('/public/journals/1/fonts/cairo-arabic.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 200 1000;
    font-display: swap;
    src: url('/public/journals/1/fonts/cairo-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 200 1000;
    font-display: swap;
    src: url('/public/journals/1/fonts/cairo-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --tasaol-primary: #524861;   /* heading color (brand purple) */
    --tasaol-accent:  #306674;   /* links & secondary accent */
    --tasaol-text:    #404040;   /* body text color */
}

/* Body text color */
body,
.pkp_structure_page,
.pkp_structure_main,
.pkp_block,
p, li, td, th, dd, dt,
input, textarea, select {
    color: var(--tasaol-text);
}

/* ---------- Typography: Cairo everywhere ---------- */
*:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*="fa-"]) {
    font-family: 'Cairo', 'Segoe UI', Tahoma, Arial, sans-serif !important;
}

html, body,
.pkp_structure_page,
.pkp_structure_content,
.pkp_site_name,
.pkp_site_name_wrapper,
.pkp_navigation_primary,
.pkp_navigation_primary a,
.pkp_navigation_user,
.pkp_structure_sidebar,
.pkp_structure_footer,
.pkp_head_wrapper,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper,
.pkp_navigation_search_wrapper,
.pkp_site_nav_menu,
.pkp_form,
.pkp_search,
.pkp_button, .pkp_button_primary,
.cmp_button, .cmp_form,
.cmp_breadcrumbs, .cmp_notification,
.page, .page_about, .page_contact, .page_index,
.obj_issue_summary, .obj_article_summary, .obj_article_details,
.obj_issue_toc, .obj_issue_toc_entry,
.obj_galley_link, .obj_file_gallery,
.article_summary, .article_details,
.issue_summary, .issue_toc,
#pkp_content_main, #pkp_content_secondary,
.pkp_pagination,
ul, ol, li, p, h1, h2, h3, h4, h5, h6,
input, select, textarea, button, label,
a, span, div, section, article, aside, main, footer, header,
table, th, td, tr, thead, tbody, tfoot,
form, fieldset, legend,
blockquote, pre, code,
.tasaol-footer-content,
.tasaol-footer-links,
.tasaol-footer-contact,
.tasaol-footer-about,
.tasaol-footer-logo {
    font-family: 'Cairo', 'Segoe UI', Tahoma, Arial, sans-serif !important;
}

/* ---------- RTL enforcement for Arabic ---------- */
html[lang="ar"], html[lang="ar"] body,
html[lang^="ar-"], html[lang^="ar-"] body {
    direction: rtl;
    text-align: right;
}
html[lang="ar"] .pkp_structure_page,
html[lang="ar"] .pkp_structure_content,
html[lang="ar"] .pkp_structure_main,
html[lang="ar"] .pkp_structure_sidebar,
html[lang="ar"] .pkp_navigation_primary,
html[lang="ar"] .pkp_navigation_user,
html[lang="ar"] .pkp_structure_footer {
    direction: rtl;
    text-align: right;
}

/* ---------- Header ---------- */
.pkp_structure_head {
    background: var(--tasaol-primary) !important;
    color: #fff !important;
    width: 100% !important;
}

/* ── Banner image wrapper ── */
.pkp_site_name_wrapper {
    position: relative !important;
    height: auto !important;       /* override the theme's fixed nav-bar height */
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    background: var(--tasaol-primary) !important;
    overflow: hidden !important;
}

/* Hamburger: float over the banner top-right */
.pkp_site_nav_toggle {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 100 !important;
    background: rgba(0,0,0,0.35) !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 6px 10px !important;
    color: #fff !important;
}

/* ── Site name / banner ── */
.pkp_site_name {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    background: var(--tasaol-primary) !important;
    white-space: normal !important;
    overflow: visible !important;
}

.pkp_site_name .is_img,
.pkp_site_name a.is_img {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Desktop banner: 300px tall */
.pkp_site_name .is_img img,
body.has_site_logo .pkp_site_name a img {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    max-height: 300px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile banner: 180px tall, no overflow */
@media (max-width: 768px) {
    .pkp_head_wrapper {
        padding: 0 !important;
    }

    .pkp_site_name .is_img img,
    body.has_site_logo .pkp_site_name a img {
        height: 180px !important;
        max-height: 180px !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    /* Nav bar: stack below the banner */
    .pkp_navigation_primary_row {
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 480px) {
    .pkp_site_name .is_img img,
    body.has_site_logo .pkp_site_name a img {
        height: 100px !important;
        max-height: 140px !important;
    }
}

/* hide the redundant text site-name (already inside the cover image) */
.pkp_site_name .is_text {
    display: none !important;
}

/* Search icon styling - make it bigger */
.pkp_navigation_search_wrapper {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.pkp_search,
.pkp_search_desktop,
.pkp_nav_search {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 16px !important;
    color: #fff !important;
    font-size: 18px !important;
    transition: all 0.3s ease !important;
}

.pkp_search:hover,
.pkp_search_desktop:hover,
.pkp_nav_search:hover {
    background: var(--tasaol-accent) !important;
    color: #fff !important;
}

.pkp_search .fa,
.pkp_search .fas,
.pkp_search .fa-search {
    font-size: 20px !important;
}

/* ---------- Primary navigation bar ---------- */
.pkp_navigation_primary_row {
    background: var(--tasaol-primary) !important;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: 0 !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pkp_navigation_primary,
.pkp_navigation_primary > li > a,
.pkp_navigation_user,
.pkp_navigation_user > li > a {
    background: var(--tasaol-primary) !important;
    color: #fff !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover {
    background: var(--tasaol-accent) !important;
    color: #fff !important;
}

/* ---------- Links & accents ---------- */
a, .pkp_structure_content a {
    color: var(--tasaol-accent);
}
a:hover, a:focus {
    color: var(--tasaol-primary);
}

/* Buttons using brand accent */
.pkp_button, .pkp_button_primary, button.pkp_button_primary,
.cmp_button, .cmp_form button[type="submit"] {
    background: var(--tasaol-accent) !important;
    border-color: var(--tasaol-accent) !important;
    color: #fff !important;
}
.pkp_button:hover, .pkp_button_primary:hover,
button.pkp_button_primary:hover,
.cmp_button:hover {
    background: var(--tasaol-primary) !important;
    border-color: var(--tasaol-primary) !important;
}

/* Headings pick up the brand purple */
h1, h2, h3, .page_title, .obj_article_details .page_title {
    color: var(--tasaol-primary);
}

/* Current-issue block accent */
.obj_issue_toc .heading, .current_issue_label,
.cmp_notification.notice {
    border-color: var(--tasaol-accent);
}

/* Footer harmony */
.pkp_structure_footer_wrapper {
    background: var(--tasaol-primary) !important;
    color: #fff !important;
}

.pkp_structure_footer {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.pkp_structure_footer_wrapper a {
    color: #fff !important;
    text-decoration: underline;
}

/* ---------- Custom Footer ---------- */
.tasaol-footer-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .tasaol-footer-content {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .tasaol-footer-content {
        grid-template-columns: 1fr;
    }
}

.tasaol-footer-logo img {
    max-width: 200px;
    height: auto;
}

.tasaol-footer-links h4,
.tasaol-footer-contact h4,
.tasaol-footer-about h4 {
    color: #fff !important;
    font-weight: 600;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.tasaol-footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tasaol-footer-links ul li {
    margin-bottom: 0.5rem;
}

.tasaol-footer-links a,
.tasaol-footer-contact a {
    color: rgba(255,255,255,0.8) !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.tasaol-footer-links a:hover,
.tasaol-footer-contact a:hover {
    color: #fff !important;
}

.tasaol-footer-contact p,
.tasaol-footer-about p {
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    margin: 0;
}

.pkp_brand_footer {
    padding-top: 1rem;
}

.pkp_brand_footer a img {
    max-width: 150px;
    opacity: 0.7;
    filter: brightness(0) invert(1);
}

/* Restore FontAwesome — must come after the broad Cairo rules */
.fa, .fas, .far, .fab, .fal,
[class*="fa-"],
span.fa, span.fas, span.far, span.fab, span.fal,
span[class*="fa-"],
i.fa, i.fas, i.far, i.fab, i.fal,
i[class*="fa-"] {
    font-family: 'FontAwesome' !important;
}

/* Footer partner logo */
.tasaol-footer-partner-logo {
    display: block;
    margin-top: 1rem;
    max-width: 180px;
    width: 100%;
    opacity: 0.9;
}
