/**
 * Zyonix Journal — assets/css/article.css
 *
 * Single article pages (single-article.php) plus the “Latest Articles”
 * feed cards on the journal taxonomy home (taxonomy-journal.php).
 *
 * @package Zyonix_Journal
 * @since   1.0.0
 */

/* ── Article layout wrapper ───────────────────────────────────────────── */
.article-page {
    display:               grid;
    grid-template-columns: 1fr 280px;
    gap:                   2rem;
    align-items:           start;
    padding:               2rem 0;
}

/* ── Article header ───────────────────────────────────────────────────── */
.article-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border, #e0e0e0);
}
.article-type-badge {
    margin-bottom: .75rem;
}
.article-title {
    font-family:   var(--font-serif, 'Source Sans Pro', Georgia, serif);
    font-size:     clamp(1.5rem, 3vw, 2.25rem);
    font-weight:   var(--font-bold, 700);
    line-height:   var(--leading-snug, 1.35);
    margin-bottom: 1rem;
    color:         var(--color-text-primary, #1a1a1a);
}

/* ── Authors ──────────────────────────────────────────────────────────── */
.article-authors {
    display:     flex;
    flex-wrap:   wrap;
    gap:         .5em;
    font-size:   var(--text-sm, .8125rem);
    margin-bottom: .75rem;
}
.article-author-link {
    color:           var(--color-primary, #1a73e8);
    text-decoration: none;
    font-weight:     var(--font-medium, 500);
}
.article-author-link:hover { text-decoration: underline; }

/* ── Meta row (dates, doi, journal) ──────────────────────────────────── */
.article-meta-row {
    display:     flex;
    flex-wrap:   wrap;
    gap:         1em;
    font-size:   var(--text-xs, .75rem);
    color:       var(--color-text-muted, #777);
    margin-bottom: 1rem;
}
.article-meta-row strong { color: var(--color-text-secondary, #444); }
.article-doi a {
    font-family:    var(--font-mono, 'JetBrains Mono', monospace);
    font-size:      .85em;
    word-break:     break-all;
    color:          var(--color-primary, #1a73e8);
    text-decoration: none;
}
.article-doi a:hover { text-decoration: underline; }

/* ── Action buttons (PDF, cite, share) ────────────────────────────────── */
.article-actions {
    display:     flex;
    flex-wrap:   wrap;
    gap:         .5em;
    margin-bottom: 1.5rem;
}

/* ── Table of Contents ────────────────────────────────────────────────── */
.article-toc {
    background:    var(--color-gray-50, #fafafa);
    border:        1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 6px);
    padding:       1.1em 1.25em;
    margin-bottom: 2rem;
}
.article-toc h2 {
    font-size:     var(--text-md, .9375rem);
    font-weight:   var(--font-semibold, 600);
    margin-bottom: .6em;
}
.toc-list {
    list-style:  none;
    padding:     0;
    margin:      0;
}
.toc-list li { margin-bottom: .3em; }
.toc-list a {
    font-size:       var(--text-sm, .8125rem);
    color:           var(--color-text-secondary, #444);
    text-decoration: none;
    padding-left:    .5em;
    border-left:     2px solid transparent;
    display:         block;
    transition:      color .15s, border-color .15s;
}
.toc-list a:hover,
.toc-list a.active {
    color:        var(--color-primary, #1a73e8);
    border-color: var(--color-primary, #1a73e8);
}
.toc-list .toc-h3 { padding-left: 1.25em; }
.toc-list .toc-h4 { padding-left: 2em; }

/* ── Citation box ─────────────────────────────────────────────────────── */
.article-citation-box {
    background:    var(--color-gray-50, #fafafa);
    border:        1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 6px);
    padding:       1.1em 1.25em;
    margin-bottom: 2rem;
}
.article-citation-box h2 {
    font-size:     var(--text-md, .9375rem);
    font-weight:   var(--font-semibold, 600);
    margin-bottom: .6em;
}
.citation-tabs {
    display:       flex;
    gap:           .3em;
    margin-bottom: .75em;
}
.citation-tab {
    background:    none;
    border:        1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-sm, 4px);
    padding:       .25em .65em;
    font-size:     var(--text-xs, .75rem);
    font-weight:   var(--font-semibold, 600);
    cursor:        pointer;
    color:         var(--color-text-secondary, #444);
    transition:    background .15s, color .15s;
}
.citation-tab.active {
    background:   var(--color-primary, #1a73e8);
    border-color: var(--color-primary, #1a73e8);
    color:        #fff;
}
.citation-panel {
    font-family:  var(--font-mono, 'JetBrains Mono', monospace);
    font-size:    var(--text-xs, .75rem);
    background:   #fff;
    border:       1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-sm, 4px);
    padding:      .75em 1em;
    white-space:  pre-wrap;
    word-break:   break-all;
    line-height:  1.6;
}
.citation-copy-btn {
    margin-top: .5em;
    font-size:  var(--text-xs, .75rem);
}

/* ── Sidebar ──────────────────────────────────────────────────────────── */
.article-sidebar {
    position:   sticky;
    top:        80px;
}
.sidebar-section {
    background:    #fff;
    border:        1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 6px);
    padding:       1.1em 1.25em;
    margin-bottom: 1.25rem;
}
.sidebar-section h3 {
    font-size:     var(--text-sm, .8125rem);
    font-weight:   var(--font-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .04em;
    color:         var(--color-text-muted, #777);
    margin-bottom: .65em;
    padding-bottom: .4em;
    border-bottom: 1px solid var(--color-border-light, #eee);
}

/* ── Metrics / altmetric ──────────────────────────────────────────────── */
.article-metrics {
    display:       flex;
    flex-direction: column;
    gap:           .65em;
}
.metric-item {
    display:     flex;
    justify-content: space-between;
    align-items: center;
    font-size:   var(--text-sm, .8125rem);
}
.metric-value {
    font-weight: var(--font-bold, 700);
    color:       var(--color-primary, #1a73e8);
}

/* ── Journal home — latest articles feed (taxonomy-journal main column) ── */

.tjm-articles-section {
    padding: 12px 16px 0;
}

.tjm-articles-heading {
    font-size:     1.125rem;
    font-weight:   var(--font-bold, 700);
    color:         var(--color-text-primary, #1a1a1a);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom:  1px solid var(--color-border, #e0e0e0);
}

.tjm-article-card {
    padding:       10px 0;
    border-bottom: 1px solid var(--color-border, #e0e0e0);
}

.tjm-article-card:last-child {
    border-bottom: none;
}

.tjm-article-topmeta {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             6px;
    margin-bottom:   4px;
}

.tjm-article-badges {
    display:   flex;
    gap:       5px;
    flex-wrap: wrap;
}

.tjm-badge {
    display:        inline-flex;
    align-items:    center;
    padding:        1px 5px;
    font-size:      9px;
    font-weight:    var(--font-bold, 700);
    border-radius:  2px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tjm-badge--oa {
    background: var(--color-oa-green, #e8a000);
    color:      #fff;
}

.tjm-badge--type {
    background: var(--color-article-type, #e8a000);
    color:      #fff;
}

.tjm-article-file-info {
    display:     flex;
    align-items: center;
    gap:         5px;
    font-size:   0.6875rem;
    color:       var(--color-text-muted, #777);
}

.tjm-article-title {
    font-size:     0.9375rem;
    font-weight:   var(--font-bold, 700);
    line-height:   1.3;
    margin-bottom: 4px;
}

.tjm-article-title a {
    color:           var(--color-primary, #0075b4);
    text-decoration: none;
}

.tjm-article-title a:hover {
    text-decoration: underline;
}

.tjm-article-authors {
    font-size:     0.8125rem;
    color:         var(--color-text-secondary, #444);
    margin-bottom: 3px;
    line-height:   1.35;
}

.tjm-article-cite-str {
    font-size:     0.6875rem;
    color:         var(--color-text-muted, #777);
    margin-bottom: 5px;
    line-height:   1.45;
}

.tjm-article-cite-str a,
.tjm-doi-link {
    color: inherit;
}

.tjm-article-abstract {
    font-size:     0.8125rem;
    color:         var(--color-text-secondary, #444);
    line-height:   1.45;
    margin-bottom: 5px;
}

.tjm-abstract-label {
    font-weight:   var(--font-bold, 700);
    color:         var(--color-text-primary, #1a1a1a);
    margin-right:  3px;
}

.tjm-read-more {
    color:           var(--color-primary, #0075b4);
    text-decoration: none;
    font-size:       0.6875rem;
}

.tjm-read-more:hover {
    text-decoration: underline;
}

.tjm-article-si-note {
    font-size:     0.6875rem;
    color:         var(--color-text-muted, #777);
    margin-bottom: 4px;
}

.tjm-article-si-note a {
    color: var(--color-primary, #0075b4);
}

.tjm-show-figures-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             3px;
    background:      none;
    border:          none;
    cursor:          pointer;
    font-family:     var(--font-primary, inherit);
    font-size:       0.6875rem;
    color:           var(--color-primary, #0075b4);
    padding:         0;
    transition:      color var(--transition-fast, 0.15s ease);
}

.tjm-show-figures-btn:hover {
    color: var(--color-primary-dark, #005a8e);
}

.tjm-arrow-icon {
    transition: transform var(--transition-base, 0.2s ease);
}

.tjm-show-figures-btn[aria-expanded="true"] .tjm-arrow-icon {
    transform: rotate(90deg);
}

.tjm-figures-panel {
    margin-top: 6px;
}

.tjm-figures-thumb {
    max-width:     100%;
    height:        auto;
    border-radius: 3px;
    margin-top:    4px;
    display:       block;
}

.tjm-no-articles {
    text-align: center;
    padding:    32px 16px;
    color:      var(--color-text-muted, #777);
}

/* ── Shared list card (template-parts/article/article-card.php) ───────── */
.zy-ac-figures-thumb {
    max-width:     100%;
    height:        auto;
    border-radius: 4px;
    margin-top:    8px;
    display:       block;
}

.zy-article-card.tim-article-card,
.zy-article-card.aam-article-card {
    /* Slightly tighter MDPI list rhythm; layout still from page-specific CSS */
    scroll-margin-top: 0.5rem;
}

/* ── Article card — archive/search baseline (moved from inline templates) ── */
.aam-article-card{
    padding:var(--space-5) 0;
    border-bottom:1px solid var(--color-border);
}
.aam-article-card:last-child{border-bottom:none;}
.aam-card-toprow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2);}
.aam-card-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.aam-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:11px;font-weight:var(--font-bold);border-radius:2px;text-transform:uppercase;letter-spacing:.03em;}
.aam-badge--oa{background:var(--color-oa-green);color:#fff;}
.aam-badge--type{background:var(--color-article-type);color:#fff;}
.aam-badge--journal{background:var(--color-primary);color:#fff;text-decoration:none;}
.aam-badge--journal:hover{background:var(--color-primary-dark);color:#fff;}
.aam-card-file-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);}
.aam-card-title{font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-snug);margin-bottom:var(--space-2);}
.aam-card-title a{color:var(--color-text-primary);text-decoration:none;}
.aam-card-title a:hover{color:var(--color-primary);}
.aam-card-authors{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);line-height:var(--leading-snug);}
.aam-by{margin-right:3px;color:var(--color-text-muted);}
.aam-card-authors a{color:var(--color-primary);text-decoration:none;}
.aam-card-authors a:hover{text-decoration:underline;}
.aam-card-cite{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-1);line-height:var(--leading-relaxed);}
.aam-card-cite a{color:inherit;}
.aam-card-metrics{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);}
.aam-metrics-sep{margin:0 var(--space-2);}
.aam-card-abstract{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2);}
.aam-abstract-label{font-weight:var(--font-bold);color:var(--color-text-primary);margin-right:4px;}
.aam-read-more{color:var(--color-primary);text-decoration:none;font-size:var(--text-xs);}
.aam-read-more:hover{text-decoration:underline;}
.aam-card-keywords{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2);}
.aam-keyword-tag{display:inline-flex;padding:2px var(--space-2);background:var(--color-primary-xlight);border:1px solid rgba(0,117,180,.15);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);}
.aam-keyword-tag:hover{background:var(--color-primary);color:#fff;}
.aam-card-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;}
.aam-pdf-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium);}
.aam-pdf-link:hover{text-decoration:underline;}
.aam-show-figs-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-primary);padding:0;}
.aam-show-figs-btn:hover{color:var(--color-primary-dark);}
.aam-figs-arrow{transition:transform var(--transition-base);}
.aam-show-figs-btn[aria-expanded="true"] .aam-figs-arrow{transform:rotate(90deg);}
.aam-figs-panel{margin-top:var(--space-2);}

/* ── Single article (MDPI grid) — typography helpers; breakpoints in responsive.css */
.single-article.zyonix-mdpi-wrap .zyonix-main {
    font-feature-settings: 'kern' 1, 'liga' 1;
}
.single-article.zyonix-mdpi-wrap .zm-title {
    font-size: clamp(1.25rem, 2.2vw, 1.45rem);
    margin-bottom: var(--space-3, 0.75rem);
}
.single-article.zyonix-mdpi-wrap .zm-section-h {
    font-size: var(--text-md, 1rem);
    margin-bottom: var(--space-2, 0.5rem);
}
.single-article.zyonix-mdpi-wrap .zm-abstract-text,
.single-article.zyonix-mdpi-wrap .zm-body .entry-content {
    font-size: var(--text-sm, 0.9375rem);
    line-height: var(--leading-relaxed, 1.55);
}

/* ── Article meta component (template-parts/article/article-meta.php) ───── */
.am-meta{margin-top:var(--space-3);}
.am-meta--card{margin-top:var(--space-2);}
.am-authors{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 4px;font-size:var(--text-sm);line-height:var(--leading-snug);margin-bottom:var(--space-2);}
.am-by{color:var(--color-text-muted);margin-right:2px;}
.am-author-name{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium);}
.am-author-name:hover{text-decoration:underline;}
.am-orcid{font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.03em;color:#2b7a2e;text-decoration:none;margin-left:4px;}
.am-orcid:hover{text-decoration:underline;}
.am-comma{color:var(--color-text-muted);}
.am-affiliations{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:3px;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed);}
.am-affiliations p{margin:0;}
.am-affiliations p+p{margin-top:3px;}
.am-citation{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;line-height:var(--leading-relaxed);margin-bottom:var(--space-2);}
.am-dates{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:var(--leading-relaxed);}
.am-dates strong{color:var(--color-text-primary);}
.am-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2);}
.am-chip{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:11px;color:var(--color-text-secondary);background:#fff;text-decoration:none;}
.am-chip--doi{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);}
.am-chip--pdf{border-color:rgba(198,40,40,.35);background:rgba(198,40,40,.06);color:#b71c1c;font-weight:var(--font-bold);}
.am-keywords{display:flex;flex-wrap:wrap;gap:6px;}
.am-kw{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-xlight);border:1px solid rgba(0,117,180,.15);font-size:11px;font-weight:var(--font-medium);color:var(--color-primary);text-decoration:none;}
.am-kw:hover{background:var(--color-primary);color:#fff;}

/* ── Abstract extras (highlights / keywords) ───────────────────────────── */
.za-highlights{margin:var(--space-3) 0 var(--space-4);}
.za-label{display:block;font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.za-list{margin:0;padding-left:18px;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);}
.za-list li{margin:0 0 6px;}
.za-keywords{margin-top:var(--space-3);font-size:var(--text-sm);line-height:2;}
.za-kw{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium);}
.za-kw:hover{text-decoration:underline;}
.za-sep{color:var(--color-text-muted);margin:0 2px 0 0;}

/* ── Single article left sidebar — article info widgets ───────────────── */
.zl-article-tools{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px;}
.zl-pdf-btn{display:inline-flex;justify-content:center;align-items:center;padding:8px var(--space-3);border-radius:var(--radius-md);background:#37474f;color:#fff;text-decoration:none;font-weight:var(--font-semibold);font-size:var(--text-sm);}
.zl-pdf-btn:hover{background:#263238;color:#fff;text-decoration:none;}
.zl-k{display:inline-block;font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-right:6px;}
.zl-doi-box{display:flex;flex-direction:column;gap:2px;}
.zl-doi{font-family:var(--font-mono);font-size:11px;color:var(--color-primary);text-decoration:none;word-break:break-all;}
.zl-doi:hover{text-decoration:underline;}
.zl-dates,.zl-metrics{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed);}
.zl-metrics strong{color:var(--color-text-primary);}
.zl-keywords{display:flex;flex-direction:column;gap:6px;}
.zl-kw-tags{display:flex;flex-wrap:wrap;gap:6px;}
.zl-kw{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-xlight);border:1px solid rgba(0,117,180,.15);font-size:11px;font-weight:var(--font-medium);color:var(--color-primary);text-decoration:none;}
.zl-kw:hover{background:var(--color-primary);color:#fff;}

/* ── Reusable PDF button component ─────────────────────────────────────── */
.apdf-btn{display:inline-flex;align-items:center;gap:8px;padding:8px var(--space-3);border-radius:var(--radius-md);background:#37474f;color:#fff;text-decoration:none;font-weight:var(--font-semibold);font-size:var(--text-sm);line-height:1;}
.apdf-btn:hover{background:#263238;color:#fff;text-decoration:none;}
.apdf-ic{flex:0 0 auto;}
.apdf-label{white-space:nowrap;}
.apdf-size{margin-left:auto;font-weight:var(--font-medium);font-size:11px;opacity:.85;}

/* allow existing wrappers to keep spacing */
.zl-pdf-btn.apdf-btn{width:100%;justify-content:space-between;}

/* Print styles live in assets/css/print.css and assets/css/responsive.css */
