/* ============================================
   KOLPA EDITORES — REVISTA CIENTÍFICA
   Elegant Light Edition
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --k-bg: #faf9f7;
    --k-bg2: #f3f1ed;
    --k-white: #ffffff;
    --k-surface: #ffffff;
    --k-card: #ffffff;

    --k-brand: #8b1a2b;
    --k-brand-light: #a82240;
    --k-brand-soft: rgba(139, 26, 43, 0.06);
    --k-brand-glow: rgba(139, 26, 43, 0.12);

    --k-gold: #b8860b;
    --k-gold-soft: rgba(184, 134, 11, 0.08);
    --k-accent: #1a5276;
    --k-accent-soft: rgba(26, 82, 118, 0.07);

    --k-text: #1a1a2e;
    --k-text2: #4a4a5a;
    --k-text3: #8a8a9a;
    --k-text-inv: #ffffff;

    --k-border: rgba(0, 0, 0, 0.06);
    --k-border2: rgba(0, 0, 0, 0.1);
    --k-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.03);
    --k-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
    --k-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
    --k-shadow-brand: 0 4px 20px rgba(139, 26, 43, 0.12);

    --k-radius: 14px;
    --k-radius-sm: 8px;
    --k-radius-xs: 5px;
    --k-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

    --font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-sans: 'Inter', 'Noto Sans', system-ui, -apple-system, sans-serif;
}

/* === BODY === */
body {
    background: var(--k-bg) !important;
    color: var(--k-text) !important;
    font-family: var(--font-sans) !important;
    -webkit-font-smoothing: antialiased;
    line-height: 1.7 !important;
}

/* === HEADER === */
.pkp_structure_head,
header.pkp_structure_head {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12) !important;
}

.pkp_head_wrapper {
    background: transparent !important;
}

/* Logo — only change color/filter, keep default sizing */
.pkp_site_name .is_img img {
    filter: brightness(1.15) !important;
    transition: var(--k-transition) !important;
}

.pkp_site_name .is_img img:hover {
    filter: brightness(1.3) !important;
}

/* === PRIMARY NAVIGATION — colors only === */
#navigationPrimary a,
.pkp_navigation_primary a {
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: var(--font-sans) !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-size: 0.76rem !important;
    transition: var(--k-transition) !important;
}

#navigationPrimary a:hover,
.pkp_navigation_primary a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.07) !important;
}

/* === DROPDOWN / SUBMENU === */
.pkp_nav_list ul {
    background: #1a1a2e !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--k-radius-sm) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.3) !important;
}

.pkp_nav_list ul a {
    color: rgba(255, 255, 255, 0.68) !important;
    text-transform: none !important;
    letter-spacing: 0.2px !important;
    font-size: 0.85rem !important;
}

.pkp_nav_list ul a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.07) !important;
}

/* === SEARCH === */
.pkp_search a,
.pkp_search_desktop {
    color: rgba(255, 255, 255, 0.5) !important;
    transition: var(--k-transition) !important;
}

.pkp_search a:hover,
.pkp_search_desktop:hover {
    color: var(--k-gold) !important;
}

/* === USER NAV — colors only === */
.pkp_navigation_user a {
    color: rgba(255, 255, 255, 0.45) !important;
    font-size: 0.75rem !important;
    transition: var(--k-transition) !important;
}

.pkp_navigation_user a:hover {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* "Entrar" subtle gold accent */
.pkp_navigation_user li:last-child a {
    color: var(--k-gold) !important;
}

.pkp_navigation_user li:last-child a:hover {
    color: #fff !important;
}

/* === MOBILE TOGGLE — color only === */
.pkp_site_nav_toggle {
    color: rgba(255, 255, 255, 0.85) !important;
}

.pkp_site_nav_toggle span {
    background: rgba(255, 255, 255, 0.85) !important;
}

/* === CONTENT === */
.pkp_structure_main,
.pkp_structure_content {
    background: transparent !important;
}

/* === HOMEPAGE IMAGE === */
.homepage_image {
    border-radius: var(--k-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--k-shadow-lg) !important;
    border: 1px solid var(--k-border) !important;
}

.homepage_image img {
    transition: transform 0.6s ease !important;
}

.homepage_image:hover img {
    transform: scale(1.02);
}

/* === CURRENT ISSUE === */
.current_issue h2 {
    font-family: var(--font-serif) !important;
    color: var(--k-text) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    position: relative;
    padding-bottom: 16px !important;
    margin-bottom: 10px !important;
}

.current_issue h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 45px;
    height: 3px;
    background: linear-gradient(90deg, var(--k-brand), var(--k-gold));
    border-radius: 2px;
}

/* "Vol. 4 Núm. 3 (2023)" */
.current_issue_title {
    font-family: var(--font-serif) !important;
    color: var(--k-brand) !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    font-style: italic !important;
    padding: 8px 0 20px !important;
    -webkit-text-fill-color: var(--k-brand) !important;
    background: none !important;
    letter-spacing: 0.3px !important;
}

/* Issue cover */
.obj_issue_toc .cover img,
.cover img {
    border-radius: var(--k-radius) !important;
    box-shadow: var(--k-shadow-lg) !important;
    border: 1px solid var(--k-border) !important;
    transition: var(--k-transition) !important;
}

.obj_issue_toc .cover img:hover,
.cover img:hover {
    box-shadow: var(--k-shadow-brand) !important;
    transform: translateY(-3px);
}

/* DOI */
.pub_id.doi {
    font-size: 0.85rem !important;
}

.pub_id.doi .type {
    color: var(--k-gold) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.72rem !important;
}

.pub_id.doi .id a {
    color: var(--k-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.82rem !important;
}

/* Published */
.published .label {
    color: var(--k-text3) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
}

.published .value {
    color: var(--k-text2) !important;
}

/* "Ver todos los números" */
a.read_more {
    display: inline-block !important;
    color: var(--k-brand) !important;
    border: 1.5px solid var(--k-brand) !important;
    border-radius: 50px !important;
    padding: 10px 28px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    transition: var(--k-transition) !important;
    margin-top: 24px !important;
    background: transparent !important;
}

a.read_more:hover {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    box-shadow: var(--k-shadow-brand) !important;
    transform: translateY(-1px) !important;
}

/* === SECTION TITLES === */
.section > .title,
.obj_issue_toc .section > .title {
    font-family: var(--font-sans) !important;
    color: var(--k-gold) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 3.5px !important;
    font-weight: 700 !important;
    padding: 14px 0 !important;
    margin: 32px 0 18px !important;
    border-bottom: 1px solid var(--k-border2) !important;
}

/* === ARTICLE CARDS === */
.obj_article_summary {
    background: var(--k-card) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    padding: 24px 28px !important;
    margin-bottom: 14px !important;
    transition: var(--k-transition) !important;
    position: relative;
    box-shadow: var(--k-shadow-sm) !important;
}

.obj_article_summary:hover {
    border-color: rgba(139, 26, 43, 0.18) !important;
    box-shadow: var(--k-shadow), 0 0 0 1px rgba(139, 26, 43, 0.05) !important;
    transform: translateY(-2px);
}

.obj_article_summary .title a,
.obj_article_summary h3 a,
.obj_article_summary h4 a {
    font-family: var(--font-serif) !important;
    color: var(--k-text) !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
    transition: var(--k-transition) !important;
    text-decoration: none !important;
}

.obj_article_summary .title a:hover,
.obj_article_summary h3 a:hover {
    color: var(--k-brand) !important;
}

.obj_article_summary .meta,
.obj_article_summary .authors {
    color: var(--k-text3) !important;
    font-size: 0.88rem !important;
    font-style: italic;
}

/* Galley links (PDF, HTML) */
.obj_galley_link,
a.obj_galley_link {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 5px 18px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    transition: var(--k-transition) !important;
    box-shadow: var(--k-shadow-sm) !important;
}

.obj_galley_link:hover,
a.obj_galley_link:hover {
    background: var(--k-brand-light) !important;
    color: var(--k-text-inv) !important;
    box-shadow: var(--k-shadow-brand) !important;
    transform: translateY(-1px) !important;
}

/* === LIBROS SECTION === */
.additional_content div[style*="font-size: 24px"],
.additional_content div[style*="color: #333"] {
    font-family: var(--font-serif) !important;
    color: var(--k-text) !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.additional_content .gallery,
div.gallery[style],
.additional_content div[style*="background-color: #fff"] {
    background: var(--k-white) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    box-shadow: var(--k-shadow) !important;
    padding: 24px !important;
}

.additional_content .column,
.additional_content div[style*="background-color: #f9f9f9"] {
    background: var(--k-bg2) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius-sm) !important;
    transition: var(--k-transition) !important;
}

.additional_content .column:hover,
.additional_content div[style*="background-color: #f9f9f9"]:hover {
    box-shadow: var(--k-shadow) !important;
    transform: translateY(-3px) !important;
    border-color: var(--k-border2) !important;
}

.additional_content .column img {
    border-radius: 6px !important;
}

/* Download buttons */
.additional_content a[style*="background-color: #ff0000"],
.additional_content a[href*="drive.google.com"] {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    transition: var(--k-transition) !important;
    box-shadow: var(--k-shadow-sm) !important;
    border: none !important;
}

.additional_content a[style*="background-color: #ff0000"]:hover,
.additional_content a[href*="drive.google.com"]:hover {
    background: var(--k-brand-light) !important;
    box-shadow: var(--k-shadow-brand) !important;
    transform: translateY(-1px) !important;
}

/* Inline style overrides */
div[style*="border: 1px solid #ddd"] {
    border-color: var(--k-border) !important;
}

div[style*="box-shadow: 0 0 10px"] {
    box-shadow: var(--k-shadow) !important;
}

/* === SIDEBAR === */
.pkp_structure_sidebar {
    background: transparent !important;
}

.pkp_block {
    background: var(--k-white) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    padding: 22px !important;
    margin-bottom: 18px !important;
    box-shadow: var(--k-shadow-sm) !important;
}

.pkp_block .title {
    font-family: var(--font-sans) !important;
    color: var(--k-gold) !important;
    font-size: 0.68rem !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-weight: 700 !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid var(--k-border2) !important;
}

.pkp_block a {
    color: var(--k-text2) !important;
    transition: var(--k-transition) !important;
}

.pkp_block a:hover {
    color: var(--k-brand) !important;
}

.pkp_block ul li {
    padding: 5px 0 !important;
    border-bottom: 1px solid var(--k-border) !important;
}

/* === FOOTER === */
.pkp_structure_footer_wrapper,
footer.pkp_structure_footer,
.pkp_structure_footer {
    background: var(--k-text) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border-top: none !important;
}

.pkp_footer_content {
    color: rgba(255, 255, 255, 0.6) !important;
}

.pkp_footer_content a {
    color: rgba(255, 255, 255, 0.85) !important;
    transition: var(--k-transition) !important;
}

.pkp_footer_content a:hover {
    color: #fff !important;
}

.pkp_brand_footer a {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* === HEADINGS === */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif) !important;
    color: var(--k-text) !important;
    font-weight: 700 !important;
}

.page_title {
    font-family: var(--font-serif) !important;
    color: var(--k-text) !important;
}

/* === LINKS === */
a {
    color: var(--k-brand) !important;
    transition: var(--k-transition) !important;
    text-decoration: none !important;
}

a:hover {
    color: var(--k-brand-light) !important;
}

/* === BUTTONS === */
.pkp_button,
.cmp_button,
a.pkp_button,
input[type="submit"],
button[type="submit"] {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 11px 28px !important;
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
    transition: var(--k-transition) !important;
    box-shadow: var(--k-shadow-sm) !important;
}

.pkp_button:hover,
.cmp_button:hover,
a.pkp_button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background: var(--k-brand-light) !important;
    box-shadow: var(--k-shadow-brand) !important;
    transform: translateY(-1px) !important;
}

/* === FORMS === */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
    background: var(--k-white) !important;
    border: 1.5px solid var(--k-border2) !important;
    border-radius: var(--k-radius-sm) !important;
    color: var(--k-text) !important;
    padding: 11px 18px !important;
    font-family: var(--font-sans) !important;
    transition: var(--k-transition) !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--k-brand) !important;
    box-shadow: 0 0 0 3px var(--k-brand-glow) !important;
    outline: none !important;
}

/* === BREADCRUMBS === */
.pkp_breadcrumbs,
.cmp_breadcrumbs {
    color: var(--k-text3) !important;
    font-size: 0.82rem !important;
}

.pkp_breadcrumbs a,
.cmp_breadcrumbs a {
    color: var(--k-text3) !important;
}

.pkp_breadcrumbs a:hover,
.cmp_breadcrumbs a:hover {
    color: var(--k-brand) !important;
}

.pkp_breadcrumbs span,
.pkp_breadcrumbs span[aria-current],
.pkp_breadcrumbs li {
    color: var(--k-text2) !important;
}

/* === ARTICLE DETAIL === */
.obj_article_details {
    color: var(--k-text) !important;
}

.obj_article_details .page_title {
    font-family: var(--font-serif) !important;
    font-size: 2rem !important;
    line-height: 1.35 !important;
    color: var(--k-text) !important;
}

.obj_article_details .authors {
    color: var(--k-text2) !important;
    font-style: italic;
}

.obj_article_details .abstract {
    background: var(--k-bg2) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    padding: 28px !important;
    border-left: 3px solid var(--k-brand) !important;
}

.obj_article_details .abstract h2,
.obj_article_details .label {
    font-family: var(--font-sans) !important;
    color: var(--k-gold) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    font-weight: 700 !important;
}

.obj_article_details .sub_item {
    color: var(--k-text) !important;
}

.obj_article_details .sub_item .value {
    color: var(--k-text2) !important;
}

.obj_article_details .item.section,
.obj_article_details .item.section .value {
    color: var(--k-text2) !important;
}

/* Keywords */
.obj_article_details .keywords .value a,
.keyword {
    background: var(--k-accent-soft) !important;
    color: var(--k-accent) !important;
    border: 1px solid rgba(26, 82, 118, 0.15) !important;
    border-radius: 50px !important;
    padding: 4px 14px !important;
    font-size: 0.78rem !important;
    display: inline-block !important;
    margin: 3px !important;
    transition: var(--k-transition) !important;
    font-weight: 500 !important;
}

.obj_article_details .keywords .value a:hover {
    background: var(--k-accent) !important;
    color: var(--k-text-inv) !important;
}

/* Galleys on detail page */
.obj_article_details .galleys_links {
    list-style: none !important;
    padding: 0 !important;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.obj_article_details .galleys_links li {
    border: none !important;
}

/* === PDF / GALLEY VIEWER (only the viewer page, NOT article detail) === */
body.pkp_page_article.pkp_op_view:not(.has_site_logo) {
    background: var(--k-bg2) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.header_view {
    background: var(--k-text) !important;
}

.header_view .return {
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    transition: var(--k-transition) !important;
}

.header_view .return::before {
    color: rgba(255, 255, 255, 0.7) !important;
}

.header_view .return:hover,
.header_view .return:focus {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

.header_view .return:hover::before {
    color: #fff !important;
}

.header_view .title {
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: var(--font-serif) !important;
}

.header_view .title:hover,
.header_view .title:focus {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #fff !important;
}

.header_view .download {
    background: var(--k-brand) !important;
    color: #fff !important;
    transition: var(--k-transition) !important;
}

.header_view .download::before {
    color: #fff !important;
}

.header_view .download .label {
    color: #fff !important;
}

.header_view .download:hover,
.header_view .download:focus {
    background: var(--k-brand-light) !important;
    color: #fff !important;
}

.galley_view,
#pdfCanvasContainer {
    background: var(--k-bg2) !important;
}

/* === PAGINATION === */
.cmp_pagination a,
.pkp_pagination a {
    background: var(--k-white) !important;
    color: var(--k-text2) !important;
    border: 1px solid var(--k-border2) !important;
    border-radius: 50px !important;
    padding: 6px 16px !important;
    transition: var(--k-transition) !important;
    font-weight: 500 !important;
}

.cmp_pagination a:hover,
.pkp_pagination a:hover {
    background: var(--k-brand-soft) !important;
    border-color: var(--k-brand) !important;
    color: var(--k-brand) !important;
}

.cmp_pagination .current,
.pkp_pagination .current {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    border-color: var(--k-brand) !important;
}

/* === ARCHIVE === */
.issues_archive .obj_issue_summary {
    background: var(--k-white) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    padding: 24px !important;
    margin-bottom: 16px !important;
    box-shadow: var(--k-shadow-sm) !important;
    transition: var(--k-transition) !important;
}

.issues_archive .obj_issue_summary:hover {
    box-shadow: var(--k-shadow) !important;
    transform: translateY(-2px);
}

/* === ANNOUNCEMENTS === */
.obj_announcement_summary {
    background: var(--k-white) !important;
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius) !important;
    padding: 24px !important;
    box-shadow: var(--k-shadow-sm) !important;
    transition: var(--k-transition) !important;
}

.obj_announcement_summary:hover {
    box-shadow: var(--k-shadow) !important;
}

/* === TABLES === */
table {
    border-collapse: collapse !important;
    border-radius: var(--k-radius-sm) !important;
    overflow: hidden;
}

table th {
    background: var(--k-brand) !important;
    color: var(--k-text-inv) !important;
    padding: 12px 16px !important;
    font-size: 0.78rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    border: none !important;
}

table td {
    padding: 12px 16px !important;
    color: var(--k-text) !important;
    border-bottom: 1px solid var(--k-border) !important;
}

table tr:hover td {
    background: var(--k-brand-soft) !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--k-bg); }
::-webkit-scrollbar-thumb {
    background: rgba(139, 26, 43, 0.25);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--k-brand);
}

/* === SELECTION === */
::selection {
    background: rgba(139, 26, 43, 0.15);
    color: var(--k-text);
}

/* === FIX .mjs MIME (keep from previous) === */
/* AddType handled in .htaccess */

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .pkp_site_nav_menu {
        background: #1a1a2e !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.3) !important;
    }

    .obj_article_summary {
        padding: 18px !important;
    }

    .current_issue_title {
        font-size: 1.1rem !important;
    }

    .additional_content .gallery,
    .additional_content div[style*="background-color: #fff"] {
        flex-direction: column !important;
    }

    .additional_content .column,
    .additional_content div[style*="background-color: #f9f9f9"] {
        width: 100% !important;
        margin-bottom: 12px !important;
    }
}
