/*
 Theme Name:   Anthropoetics Child
 Theme URI:    https://anthropoetics.org
 Description:  Child theme for Twenty Twenty-Five — Anthropoetics: The Journal of Generative Anthropology
 Author:        Anthropoetics
 Author URI:   https://anthropoetics.org
 Template:     twentytwentyfive
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  anthropoetics-child
*/


:root {
    --site-navy-dark:         #0d3d52;
    --site-blue-primary:      #2e86ab;
    --site-blue-mid:          #6db8d4;
    --site-white:             #ffffff;
    --site-text:              #1a1a1a;

    --journal-blue-deep:      #1a6b8a;
    --journal-blue-tint:      #dff0f7;
    --journal-gold-deco:      #e8a020;
    --journal-gold-text:      #b87800;
    --journal-gold-tint:      #fff8ee;

    --chronicles-yellow:      #ffbb27;   /* rich warm gold (Otterbox primary) */
    --chronicles-yellow-mid:  #ffcf68;   /* medium gold for accents */
    --chronicles-yellow-tint: #fffde7;   /* pale cream tint (Otterbox light) */
    --chronicles-accent:      #e6a000;
    --chronicles-label:       #c47d00;
    --chronicles-label-dark:  #8a5a00;
    --chronicles-orange:      #f5881f;
    --chronicles-graphite:    #2c2c2c;
    --chronicles-link-body:   #9a6200;
    --chronicles-link-ui:     #6db8d4;
    --chronicles-meta-blue:   #1a5c7a;   /* #2e86ab darkened for AA contrast on yellow */

    --font-serif: Georgia, 'Noto Serif JP', 'Frank Ruhl Libre', serif;
    --font-sans:  Nunito, 'Noto Sans JP', 'Noto Sans HE', sans-serif;
    --font-chronicles-masthead: "mistral-mn", cursive;

    --site-surround: #2e2e2e;   /* dark graphite — area beyond content column */
}


/* ============================================================
   GLOBAL BASE STYLES
   ============================================================ */

/* Reset dark surround in the block editor — editor-styles-wrapper is
   the Gutenberg content canvas; it should always be white. */
.editor-styles-wrapper {
    background-color: #fff !important;
}

body {
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.8;
    color: var(--site-text);
    background-color: var(--site-surround);
}

/* Full-width section wrappers need explicit white so the dark surround
   only shows in the true margins, not behind the content column. */
.section-site,
.section-gaintro,
.section-journal,
.section-chronicles,
.section-gasc,
.ap-band,
.post-header-outer,
.gaintro-body,
.journal-article-body,
.chronicles-entry-body,
.author-bio-body,
.news-post-body,
.chron-featured-body,
.home-pub-body,
.gasc-conf-body {
    background-color: var(--site-white);
}

a {
    color: var(--journal-blue-deep);
    text-decoration: none;
}

a:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    line-height: 1.3;
    color: var(--site-navy-dark);
}

h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; font-family: var(--font-sans); }

p {
    margin-bottom: 1.25rem;
}

/* TT25 resets bold via :where(strong) — reinstate it explicitly.
   font-weight: bold = 700, which is the standard browser expectation.
   Using both element and contextual selectors ensures specificity wins. */
strong, b {
    font-weight: 700;
}

/* Georgia bold is a true cut and should be visibly heavier at 700.
   Nunito 700 is loaded from Google Fonts and clearly distinct from 400.
   No !important needed — specificity of element selector beats :where(). */


/* ============================================================
   SECTION — ANTHROPOETICS.ORG (PARENT SITE)
   Body class: .section-site
   ============================================================ */

.section-site .site-header {
    background-color: var(--site-navy-dark);
    color: var(--site-white);
}

.section-site .site-header a {
    color: var(--site-blue-mid);
}

.section-site .site-header a:hover {
    color: var(--site-white);
    text-decoration: none;
}

.section-site .site-title {
    font-family: var(--font-serif);
    color: var(--site-white);
}

.section-site .site-footer {
    background-color: var(--site-navy-dark);
    color: rgba(255, 255, 255, 0.6);
}

.section-site .site-footer a {
    color: var(--site-blue-mid);
}

.section-site .wp-block-navigation .wp-block-navigation-item__content,
.section-site .wp-block-navigation a,
.section-site .wp-block-navigation button {
    color: #6db8d4 !important;
}

.section-site .wp-block-navigation a:hover,
.section-site .wp-block-navigation button:hover {
    color: #ffffff !important;
    text-decoration: none;
}

/* ── Zotero CTA block ─────────────────────────────────────────
   Custom HTML block used on the Bibliography page.
   Markup: <div class="zotero-cta"> ... </div>             */

.zotero-cta {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: #f7fbfd;
    border: 0.5px solid var(--journal-blue-tint);
    border-left: 3px solid var(--site-blue-primary);
    border-radius: 0 6px 6px 0;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.zotero-cta-text {
    flex: 1;
    min-width: 200px;
}

.zotero-cta-text p {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.7;
    color: var(--site-text);
    margin-bottom: 0.4rem;
}

.zotero-cta-text p:last-child { margin-bottom: 0; }

.zotero-btn {
    display: inline-block;
    flex-shrink: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    background: #cc2936;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    padding: 0.6rem 1.25rem;
    white-space: nowrap;
}

.zotero-btn:hover {
    background: #a01f29;
    color: #fff;
    text-decoration: none;
}

/* ── Motto & Mascot — hedgehog feature block ──────────────────
   Custom HTML block: image/SVG left, pull-quote right.
   Markup: <div class="hog-feature"> ... </div>               */

.hog-feature {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.hog-img-wrap {
    flex-shrink: 0;
    text-align: center;
}

.hog-img-wrap img,
.hog-img-wrap svg {
    width: 140px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.hog-caption {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: #aaa;
    text-align: center;
    margin-top: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.hog-quote {
    flex: 1;
    min-width: 220px;
    border-left: 3px solid var(--site-blue-primary);
    background: #f7fbfd;
    padding: 1.25rem 1.5rem;
    border-radius: 0 6px 6px 0;
}

.hog-quote p {
    font-family: var(--font-serif);
    font-size: 17px;
    line-height: 1.75;
    color: var(--site-text);
    font-style: italic;
    margin-bottom: 0.75rem;
}

.hog-quote .hog-attribution {
    font-style: normal;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: #555;
    margin-bottom: 0;
}


/* ============================================================
   SECTION — GA INTRODUCTION & ABOUT PAGES
   Body class: .section-gaintro
   Shared with galist and other GA/about pages.
   ============================================================ */

/* ── AP Journal Band (globe + wordmark banner + pills) ── */
.ap-band-journal {
    background: #fff;
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.ap-masthead-svg {
    display: block;
    height: 68px;       /* fixed height — width follows SVG aspect ratio */
    width: auto;
    max-width: 100%;
}

.ap-band-pills {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.pill-journal {
    background: #fff;
    border: 0.5px solid var(--site-blue-primary);
    color: #1a6b8a;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
}

.pill-oa-icon {
    width: 11px;
    height: 11px;
    object-fit: contain;
    /* tint to match the journal blue #2e86ab */
    filter: invert(44%) sepia(72%) saturate(450%) hue-rotate(163deg) brightness(85%);
}

/* ── Gaintro body layout ── */
.gaintro-body {
    max-width: 720px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 3rem;
}

/* Page title */
.gaintro-body .gaintro-page-title,
.gaintro-body h1 {
    font-family: var(--font-serif);
    font-size: 26px;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.25;
    text-align: center;
    margin-bottom: 1.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

/* Section subheadings — small-caps blue labels */
.gaintro-body h2 {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-top: 2.25rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.35rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

/* Body text */
.gaintro-body p {
    font-family: var(--font-serif);
    font-size: 16px;
    line-height: 1.85;
    color: #1a1a1a;
    margin-bottom: 1.25rem;
}

.gaintro-body p:last-child { margin-bottom: 0; }

.gaintro-body a {
    color: var(--site-blue-primary);
    text-decoration: none;
    border-bottom: 0.5px solid #b8d8e8;
}
.gaintro-body a:hover {
    color: var(--site-navy-dark);
    border-bottom-color: var(--site-navy-dark);
}

/* ── Editorial notice box ──
   Use: <div class="ga-notice">...</div> in a Custom HTML block */
.ga-notice {
    background: #fffbf0;
    border: 0.5px solid #f5e9c8;
    border-left: 3px solid #c8973a;
    border-radius: 0 6px 6px 0;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
}
.ga-notice p {
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.6;
    color: #8a6520;
    margin-bottom: 0;
}
.ga-notice strong { color: #5d4215; }

/* ── Key concepts list ──
   Use: <div class="ga-concepts">
          <div class="ga-concept"><strong>Term</strong> — Definition text.</div>
        </div> */
.ga-concepts {
    margin: 0.75rem 0 1.5rem;
    border-top: 0.5px solid #f0f0f0;
}
.ga-concept {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.65;
    color: #1a1a1a;
    padding: 0.65rem 0 0.65rem 1.25rem;
    border-bottom: 0.5px solid #f0f0f0;
    position: relative;
}
.ga-concept::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--site-blue-primary);
}
.ga-concept strong { font-weight: 800; }

/* ── Further reading box ──
   Use: <div class="ga-further-reading">...</div> */
.ga-further-reading {
    background: #f7fbfd;
    border: 0.5px solid var(--journal-blue-tint);
    border-left: 3px solid var(--site-blue-primary);
    border-radius: 0 6px 6px 0;
    padding: 1.25rem 1.5rem;
    margin-top: 2rem;
}
.ga-further-reading p {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.7;
    color: #1a1a1a;
    margin-bottom: 0.6rem;
}
.ga-further-reading p:last-child { margin-bottom: 0; }

/* ── Eric Gans's original text box ──
   Preserved as a primary document; visually distinct from editorial content.
   Use: <div class="ga-gans-box">...</div> in a Custom HTML block */
.ga-gans-box {
    background: #f4f8fb;
    border: 0.5px solid var(--journal-blue-tint);
    border-top: 3px solid var(--site-blue-primary);
    border-radius: 0 0 8px 8px;
    padding: 1.5rem 2rem 1.75rem;
    margin-top: 2.5rem;
}

.ga-gans-box .ga-gans-header {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

/* Section headings inside the Gans box — serif, not the small-caps style */
.ga-gans-box h2 {
    font-family: var(--font-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--site-navy-dark) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-top: 1.75rem !important;
    margin-bottom: 0.5rem !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.ga-gans-box h3 {
    font-family: var(--font-serif);
    font-size: 14px;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.4rem;
}

.ga-gans-box p {
    font-size: 15px !important;   /* slightly smaller than editorial body */
    margin-bottom: 1rem !important;
    line-height: 1.8 !important;
}

.ga-gans-box p:last-child { margin-bottom: 0 !important; }

.ga-gans-attribution {
    font-family: var(--font-sans);
    font-size: 11px;
    color: rgba(0,0,0,0.45);
    margin-top: 1.5rem;
    padding-top: 0.75rem;
    border-top: 0.5px solid var(--journal-blue-tint);
    line-height: 1.6;
}

/* ── Inline citation box — blue variant for journal/about pages ──
   Use: <div class="ga-cite-box">...</div> inside .ga-gans-box */
.ga-cite-box {
    background: #eef5fa;
    border: 0.5px solid #b8d8e8;
    border-radius: 6px;
    margin-top: 1.25rem;
    padding: 0.9rem 1.1rem;
}

.ga-cite-box .cite-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 6px;
}

.ga-cite-box .cite-text {
    font-family: var(--font-serif);
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 8px;
}

.ga-cite-box .cite-text em { font-style: italic; }

.ga-cite-copy-btn {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    color: var(--site-blue-primary);
    background: #fff;
    border: 0.5px solid #9acfe3;
    border-radius: 4px;
    padding: 3px 10px;
    cursor: pointer;
    display: inline-block;
}

.ga-cite-copy-btn:hover { background: var(--journal-blue-tint); }


/* ============================================================
   SECTION — ANTHROPOETICS JOURNAL
   Body class: .section-journal
   ============================================================ */

/* Frame effect — deferred; requires block template changes, not CSS alone */

.section-journal a {
    color: var(--journal-blue-deep);
}

/* ── Journal section nav (static journal pages) ── */
.journal-section-nav {
    background: #f7fbfd;
    border-bottom: 0.5px solid var(--journal-blue-tint);
    padding: 0 1.5rem;
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.journal-section-nav::-webkit-scrollbar { display: none; }

.journal-section-nav a {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--journal-blue-deep);
    text-decoration: none;
    padding: 0.55rem 0.875rem;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.15s;
}

.journal-section-nav a:hover {
    color: var(--site-navy-dark);
    text-decoration: none;
}

.journal-section-nav a.active {
    color: var(--site-navy-dark);
    border-bottom-color: var(--site-blue-primary);
}

/* ── Journal page footer (Last updated) ── */
.journal-page-footer {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 1.5rem 2rem;
}

.page-last-updated {
    font-family: var(--font-sans);
    font-size: 12px;
    color: #888;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.section-journal a:hover {
    color: var(--site-blue-primary);
}

.section-journal h1 {
    font-family: var(--font-serif);
    color: var(--site-navy-dark);
    font-size: 1.75rem;
}

.section-journal h2 {
    font-family: var(--font-serif);
    color: var(--journal-blue-deep);
}

.section-journal h3 {
    font-family: var(--font-sans);
    color: var(--site-navy-dark);
}

/* Keyword pills — white with blue border */
.keyword-pill {
    display: inline-block;
    background-color: #ffffff;
    border: 0.5px solid #b8d8e8;
    border-radius: 20px;
    padding: 3px 12px;
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--journal-blue-deep);
    margin: 3px 4px 3px 0;
}

/* Open Access badge — matches ISSN pill: white fill, blue border and type */
.badge-open-access {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    border: 0.5px solid var(--site-blue-primary);
    border-radius: 20px;
    padding: 3px 11px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    color: #1a6b8a;
    white-space: nowrap;
}

.badge-open-access img {
    display: none;
}


/* ============================================================
   SECTION — CHRONICLES OF LOVE & RESENTMENT
   Design: stark — white field, black rule, navy accents, gold entry numbers.
   Body class: .section-chronicles
   ============================================================ */

/* ── Font overrides ── */
.section-chronicles {
    --font-sans: 'Nunito Sans', sans-serif;
}

/* ── Body typography: Nunito 400, 16px, 1.7 lh ── */
.section-chronicles p,
.section-chronicles li {
    font-family: 'Nunito', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    color: var(--chronicles-graphite);
}

/* ── Headings: no Georgia; h1 Nunito Sans 800, h2/h3 Nunito Sans 700 ── */
.section-chronicles h1 {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 800;
    color: var(--site-navy-dark);
}

.section-chronicles h2,
.section-chronicles h3,
.section-chronicles h4 {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    color: var(--site-navy-dark);
}

/* ── Links: navy in body, site-blue for UI ── */
.section-chronicles .entry-content a,
.section-chronicles .chron-featured-lede a {
    color: var(--site-navy-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.section-chronicles .entry-content a:hover {
    color: var(--site-blue-primary);
}

.section-chronicles .site-nav a,
.section-chronicles .chronicles-nav a,
.section-chronicles .entry-meta a {
    color: var(--chronicles-link-ui);
    text-decoration: none;
}

.section-chronicles .site-nav a:hover,
.section-chronicles .chronicles-nav a:hover {
    color: #ffffff;
    text-decoration: none;
}

/* Band subtitle — amber on yellow band is fine */
.section-chronicles .band-subtitle {
    color: var(--chronicles-label) !important;
}

/* ── Masthead band: white with thick black rule ── */
.chronicles-masthead {
    background-color: #fff;
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 3px solid #111;
}

.chronicles-masthead .chronicles-title {
    font-family: var(--font-chronicles-masthead);
    font-size: 2.5rem;
    color: var(--chronicles-graphite);
    line-height: 1.2;
    margin-bottom: 0.25rem;
}

.chronicles-masthead .chronicles-byline {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    color: #111;
}

/* ── Entry header ── */
.chronicles-entry-header {
    background-color: #fafafa;
    border-bottom: 1px solid #f0f0f0;
    padding: 1rem 1.5rem;
}

.chronicles-entry-header .entry-number {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    font-weight: 800;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ── Secondary section ── */
.chronicles-secondary {
    background-color: #fafafa;
    border-top: 1px solid #f0f0f0;
    padding: 1rem 1.5rem;
}

.chronicles-secondary .section-label {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    font-weight: 800;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.5rem;
}

/* ── Footer ── */
.chronicles-footer {
    background-color: var(--chronicles-graphite);
    padding: 1rem 1.5rem;
    color: #fff;
}

.chronicles-footer .chronicles-footer-title {
    font-family: var(--font-chronicles-masthead);
    font-size: 1.25rem;
    color: #fff;
}

.chronicles-footer .chronicles-issn {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
}

/* ── Tags ── */
.chronicles-tag {
    display: inline-block;
    background-color: #fff;
    border: 0.5px solid #ccc;
    border-radius: 20px;
    padding: 3px 12px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 12px;
    color: #555;
    margin: 3px 4px 3px 0;
}



/* ============================================================
   UTILITY CLASSES
   ============================================================ */

.text-meta {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.text-small {
    font-size: 13px;
}

.divider-blue {
    border: none;
    border-top: 0.5px solid var(--journal-blue-tint);
    margin: 1.5rem 0;
}

.divider-gold {
    border: none;
    border-top: 0.5px solid var(--chronicles-accent);
    margin: 1.5rem 0;
}


/* ============================================================
   JOURNAL ARTICLE TEMPLATE
   ============================================================ */

.journal-breadcrumb {
    background-color: var(--journal-blue-tint);
    padding: 0.75rem 0;
    font-family: var(--font-sans);
    font-size: 13px;
}

.journal-breadcrumb-inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.journal-breadcrumb a {
    color: var(--journal-blue-deep);
    text-decoration: none;
}

.journal-breadcrumb a:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

.breadcrumb-sep {
    margin: 0 6px;
    color: var(--site-blue-mid);
}

.breadcrumb-current {
    color: var(--site-navy-dark);
    font-weight: 600;
}

/* ── Article header inner ── */
.journal-article-header-inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 1.75rem 1.5rem 0;
}

/* ── Vol/Issue row ── */
.vol-issue-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.article-volume {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    color: var(--site-blue-primary);
    letter-spacing: 0.03em;
}

.vol-badges {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* ISSN — outline pill */
.badge-issn {
    display: inline-block;
    border: 0.5px solid var(--site-blue-primary);
    border-radius: 20px;
    padding: 3px 10px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    color: var(--journal-blue-deep);
    background: #fff;
    white-space: nowrap;
}

/* ── Article title ── */
.article-title {
    font-family: var(--font-serif);
    font-size: 1.85rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.25;
    margin-bottom: 1.25rem;
}

/* ── Author blocks (per-author stacked) ── */
.article-authors-section {
    padding-bottom: 1rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

.author-block {
    margin-bottom: 0.75rem;
}

.author-block:last-child {
    margin-bottom: 0;
}

.author-name {
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 800;
    color: var(--journal-blue-deep);
    margin-bottom: 1px;
}

.author-role {
    font-family: var(--font-sans);
    font-size: 12px;
    font-style: italic;
    color: var(--site-navy-dark);
    margin-bottom: 2px;
}

.author-affil {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--site-text);
    margin-bottom: 1px;
}

.author-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.author-email {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--journal-blue-deep);
    text-decoration: none;
}

.author-email:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

.author-bio-affil .author-orcid {
    display: block;
    margin-top: 4px;
}

.author-orcid {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--journal-blue-deep);
    text-decoration: none;
}

.author-orcid:hover {
    color: var(--site-blue-primary);
}

.author-orcid img {
    width: 14px;
    height: 14px;
}

/* PDF — filled blue pill */
.badge-pdf {
    display: inline-block;
    background-color: var(--site-blue-primary);
    color: #ffffff !important;
    border-radius: 20px;
    padding: 3px 12px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

.badge-pdf:hover {
    background-color: var(--site-navy-dark);
}

/* ── Abstract — left rule accent, no fill ── */
.journal-abstract {
    border-left: 2.5px solid var(--journal-blue-deep);
    padding: 0 0 0.25rem 1.5rem;
    margin: 1.75rem 0 0;
}

.abstract-label,
.keywords-label {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.6rem;
}

.journal-abstract p,
.abstract-text {
    font-family: var(--font-serif);
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--site-text);
    margin-bottom: 0.85rem;
}

.journal-abstract p:last-of-type,
.abstract-text:last-of-type {
    margin-bottom: 0;
}

.journal-keywords {
    margin-top: 1rem;
}

.keywords-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 0.5rem;
}

.journal-article-body {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.85;
    color: var(--site-text);
}

.journal-article-body p {
    margin-bottom: 1.25rem;
}

.journal-article-body img {
    max-width: 100%;
    height: auto;
    display: block;
}

.journal-article-body table {
    max-width: 100%;
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.journal-article-body h2 {
    font-family: var(--font-sans);
    font-size: 1.3rem;
    color: var(--journal-blue-deep);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.journal-article-body h3 {
    font-family: var(--font-sans);
    font-size: 1.15rem;
    color: var(--site-navy-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.journal-article-body h4 {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--site-navy-dark);
    margin-top: 1.25rem;
    margin-bottom: 0.4rem;
}

/* Cancel journal-page heading rules that bleed into article body.
   The .section-journal .wp-block-post-content rules apply to ALL post content,
   including article body — these overrides restore article-body-specific values. */
.journal-article-body h2 {
    font-family: var(--font-sans) !important;   /* keep Nunito; journal-page rule sets Georgia */
    font-size: 1.3rem !important;               /* lock hierarchy against TT25 */
    border-bottom: none !important;             /* no hairline rule on article body h2 */
    padding-bottom: 0 !important;
}
.journal-article-body h3 {
    font-size: 1.15rem !important;              /* lock above body text; TT25 can't shrink it */
    text-transform: none !important;            /* cancel TT25 uppercase bleed */
    letter-spacing: normal !important;          /* cancel TT25 tracking bleed */
}
.journal-article-body h4 {
    font-family: var(--font-serif) !important;  /* Georgia for h4 — Roman numerals, subheadings */
    font-size: 1rem !important;                 /* same as body but bold+serif = clearly distinct */
}
.journal-article-body h3 + p,
.journal-article-body h3 + ul,
.journal-article-body h3 + ol {
    padding-left: 0 !important;
    margin-top: 1.25rem !important;
}

.journal-article-body blockquote {
    border-left: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* Width-based indent (2rem each side): more reliable than margin-right
       in block themes where the parent layout absorbs right margins. */
    width: calc(100% - 4rem) !important;
    max-width: calc(100% - 4rem) !important;
    box-sizing: border-box !important;
    margin-left: 2rem !important;
    margin-right: auto !important;
    margin-inline-start: 2rem !important;
    margin-inline-end: auto !important;
    font-style: normal;
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--site-text);
}

/* Notes / Works Cited / Bibliography / References headings.
   PHP adds ap-notes-heading (Notes) or ap-works-cited-heading (Works Cited
   / Bibliography / References) via ap_mark_section_headings() in functions.php.
   Heading styling only — centered, navy, top margin. */
.journal-article-body .ap-notes-heading,
.journal-article-body .ap-works-cited-heading,
.journal-article-body h2[align="CENTER"],
.journal-article-body h2[align="center"],
.journal-article-body h2[style*="text-align: center"],
.journal-article-body h2[style*="text-align:center"],
.journal-article-body h3[style*="text-align: center"],
.journal-article-body h3[style*="text-align:center"],
.journal-article-body h4[align="center"],
.journal-article-body h4[style*="text-align: center"],
.journal-article-body h4[style*="text-align:center"],
.journal-article-body h5[align="center"],
.journal-article-body h5[style*="text-align: center"],
.journal-article-body h5[style*="text-align:center"],
.journal-article-body h2:has(> center),
.journal-article-body h3:has(> center),
.journal-article-body h4:has(> center),
.journal-article-body h5:has(> center) {
    font-family: var(--font-serif) !important; /* Georgia — Roman numerals read cleanly; eels begone */
    text-align: center;
    color: var(--site-navy-dark);
    margin-top: 2.5rem;
}

/* Fallback for older browsers: target the <center> element inside headings directly */
.journal-article-body h2 > center,
.journal-article-body h3 > center,
.journal-article-body h4 > center,
.journal-article-body h5 > center {
    font-family: var(--font-serif) !important;
}

/* ── Asterisk / whole-essay note ─────────────────────────────
   For acknowledgment or disclosure notes that apply to the full
   article rather than a specific passage. Place immediately
   before the Notes heading in the article body:
   <p class="ap-asterisk-note">* Adapted from...</p>
   Renders with a thin top rule, smaller serif text.             */
.journal-article-body p.ap-asterisk-note {
    font-family: var(--font-serif);
    font-size: 13.5px;
    color: var(--site-text);
    margin-top: 2.5rem;
    padding-top: 1rem;
    border-top: 1px solid #ddd;
}

/* ── Dialogue section ─────────────────────────────────────────
   Wrap the entire exchange in <div class="ap-dialogue">
   Normalises structural bold (one speaker differentiated by
   bold in legacy Word exports) so the blue speaker labels
   carry all differentiation.
   Preserves <em> and <i> for legitimate inline emphasis.      */
.journal-article-body .ap-dialogue {
    background-color: rgba(46, 134, 171, 0.05);
    border-radius: 3px;
    padding: 0.6rem 1rem;
    margin-bottom: 0.75rem;
}

.journal-article-body .ap-dialogue p {
    font-weight: normal !important;
    margin-bottom: 0;
}

.journal-article-body .ap-dialogue p em,
.journal-article-body .ap-dialogue p i {
    font-style: italic;
}

/* ── Notes paragraph style ────────────────────────────────────
   First-line indent (not hanging). Notes begin with a number or
   anchor; continuation lines run flush left.

   TWO ways to trigger:
   1. AUTOMATIC: PHP adds .ap-notes-heading to the heading;
      CSS fires on all following <p> siblings via ~ combinator.
   2. MANUAL WRAPPER: wrap the section in
      <div class="ap-notes-section">...</div> in the Code Editor.

   Georgia 13.5px, first-line indent 1.5rem.                     */
.journal-article-body .ap-notes-heading ~ p,
.journal-article-body .ap-notes-section p {
    padding-left: 0;
    text-indent: 1.5rem;
    margin-bottom: 0.4rem;
    font-family: var(--font-serif);
    font-size: 13.5px;
    line-height: 1.75;
}

/* ── Works Cited / Bibliography / References paragraph style ───
   Hanging indent: first line flush left, continuation lines
   indented 2.5rem.

   TWO ways to trigger:
   1. AUTOMATIC: PHP adds .ap-works-cited-heading to the heading;
      CSS fires on all following <p> siblings via ~ combinator.
   2. MANUAL WRAPPER: wrap the section in
      <div class="ap-works-cited-section">...</div>.

   Nunito 14px, hanging indent 2.5rem.                           */
.journal-article-body .ap-works-cited-heading ~ p,
.journal-article-body .ap-works-cited-section p {
    font-family: var(--font-sans);
    font-size: 14px;
    padding-left: 2.5rem;
    text-indent: -2.5rem;
    margin-bottom: 0.4rem;
    line-height: 1.75;
}

/* Contributor name — Benchmarks inline style.
   Usage: <span class="ap-contributor">Author Name</span>        */
.journal-article-body .ap-contributor {
    font-weight: 700;
    color: var(--journal-blue-deep);
}

/* Editorial comment — blue-accented blockquote variant, italic */
.journal-article-body p.editor-note {
    padding-left: 1rem;
    padding-right: 0;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
    text-indent: 0;
    font-style: italic;
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--journal-blue-deep);
    border-left: 2px solid var(--site-blue-primary);
    width: calc(100% - 4rem);
    margin-left: 2rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

/* Dialogue / interview speaker labels, e.g. "EG – " at paragraph start.
   Added by ap_mark_dialogue_speakers() PHP filter. */
.journal-article-body .speaker-label {
    font-family: var(--font-sans);
    font-weight: 800;
    font-style: normal;
    color: var(--site-blue-primary);
}

/* Inside an editor-note, the bold label ("Editorial Note:") stays roman
   while the rest of the paragraph is italic. */
.journal-article-body p.editor-note > strong:first-child,
.journal-article-body p.editor-note > b:first-child {
    font-style: normal;
    color: var(--site-blue-primary);
}

.journal-citation {
    max-width: 720px;
    margin: 0.5rem auto 2.5rem;
    padding: 1.25rem 1.5rem;
    background-color: var(--journal-blue-tint);
    border-radius: 8px;
}

.citation-label {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.5rem;
}

.citation-text {
    font-family: var(--font-serif);
    font-size: 14px;
    line-height: 1.7;
    color: var(--site-navy-dark);
    margin-bottom: 0.6rem;
}

.citation-footer {
    font-family: var(--font-sans);
    font-size: 12px;
    color: #555555;
    margin-bottom: 0.85rem;
    line-height: 1.5;
}

.citation-footer a {
    color: var(--journal-blue-deep);
    text-decoration: none;
}

.citation-footer a:hover {
    text-decoration: underline;
}

.copy-btn {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--journal-blue-deep);
    background: #ffffff;
    border: 0.5px solid var(--journal-blue-deep);
    border-radius: 6px;
    padding: 4px 12px;
    cursor: pointer;
}

.copy-btn:hover {
    background-color: var(--journal-blue-deep);
    color: #ffffff;
    border-color: var(--journal-blue-deep);
}

/* ── Prev / Next article navigation ── */
.article-nav-outer {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

.article-nav {
    display: flex;
    justify-content: space-between;
    width: 720px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 1.1rem 1.5rem;
    border: 1px solid var(--journal-blue-deep);
    border-radius: 8px;
    background: #f7fbfd;
    gap: 1.5rem;
}

.article-nav a.nav-dir {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-decoration: none;
    display: block;
    margin-bottom: 3px;
}

.article-nav a.nav-dir:hover {
    color: var(--site-navy-dark);
}

.nav-article-title {
    font-family: var(--font-sans);
    font-size: 12.5px;
    color: #888888;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-nav .prev {
    text-align: center;
    flex: 1;
}

.article-nav .next {
    text-align: center;
    flex: 1;
}

/* ── Article footer strip — Originally published ── */
.article-back-nav {
    max-width: 720px;
    margin: 1rem auto 0;
    padding: 0.5rem 1.5rem;
    font-family: var(--font-sans);
    font-size: 13px;
    color: #999;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.article-back-nav a {
    color: var(--journal-blue);
    text-decoration: none;
}

.article-back-nav a:hover {
    text-decoration: underline;
}

.back-nav-sep {
    color: #bbb;
}

.article-footer-strip {
    max-width: 720px;
    margin: 0.5rem auto 0;
    padding: 0.875rem 1.5rem 1.5rem;
    text-align: center;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.footer-pubdate {
    font-family: var(--font-sans);
    font-size: 12px;
    color: #999999;
    letter-spacing: 0.02em;
}

.footer-pubdate strong {
    color: #666666;
    font-weight: 600;
}

.wp-block-navigation .wp-block-navigation-item__content {
    color: #6db8d4 !important;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
    color: #ffffff !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #0d3d52 !important;
}


/* ============================================================
   CHRONICLES ENTRY TEMPLATE
   ============================================================ */

/* ── Chronicles Band (masthead + nav pills) ── */
/* X figures are embedded in the banner SVG — band is a simple centred column */
.ap-band {
    background: #fff;
    padding: 1.25rem 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.masthead-banner-svg {
    display: block;
    height: 160px;      /* fixed height — width follows aspect ratio */
    width: auto;
    max-width: 100%;    /* shrinks gracefully on narrow viewports */
}

/* Amber subtitle — carries "Weekly essays by Eric Gans · Since 1995 · N entries" */
.band-subtitle {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #9a6500;         /* golden amber — ~5:1 contrast on white, passes WCAG AA */
    letter-spacing: 0.02em;
    margin: 0;              /* remove browser default <p> margin (was adding ~16px gap) */
}

.pills-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.pill {
    display: inline-flex;
    align-items: center;
    border-radius: 20px;
    padding: 2px 10px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.pill-gold {
    background: var(--chronicles-yellow);
    border: 1px solid var(--chronicles-graphite);
    color: var(--site-navy-dark);
}

/* Nav arrows (← Chronicles, Archive →): teal — indicates movement */
.pill-nav {
    background: var(--site-blue-primary);
    border: 0.5px solid var(--site-navy-dark);
    color: #fff;
}

.pill-nav:hover {
    background: var(--site-navy-dark);
    color: #fff;
}

/* Active/identity pill (No. 72): gold — indicates location in Chronicles */
.pill-active {
    background: var(--chronicles-yellow);
    border: 1px solid var(--chronicles-graphite);
    color: var(--site-navy-dark);
    font-weight: 800;
}

/* ── Post Header ── */
/* Structure: No./date · h1 title · byline
   Sits below the band; gold top rule does the visual work — no box fill.
   Subtitle (if any) is appended to the title as "Title: Subtitle" in the h1. */
.post-header-outer {
    border-top: 2px solid var(--chronicles-yellow);
    padding-top: 4px;
}
.post-header {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    margin: 0 0 0;
    padding: 1rem 1.5rem 1rem;
}

/* No. / date — top of card, above title */
.post-meta-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 12px;
    margin-bottom: 0.5rem;
}

.post-num {
    font-family: var(--font-serif);
    font-size: 13px;
    font-weight: 400;
    color: var(--chronicles-meta-blue);
}

.post-date {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 400;
    color: var(--chronicles-meta-blue);
}

.post-meta-top .meta-sep {
    color: rgba(26, 92, 122, 0.4);
}

/* Flex wrapper that holds [figure] [h1] [figure] on one row */
.post-title-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 0.3rem;
}

/* Pixel figures flanking the title — black left, white right rotated 180° (yin-yang).
   x-black.svg is 48×80 at native scale. */
.post-title-wrap .chron-figure {
    width: 36px;
    height: auto;
    flex-shrink: 0;
    image-rendering: pixelated;
}

.post-title-wrap .chron-figure-right {
    transform: rotate(180deg);
}

.post-header .post-title {
    font-family: var(--font-sans);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--site-navy-dark);
    line-height: 1.25;
    margin-bottom: 0;   /* wrap handles spacing */
    text-align: center;
}

/* Byline — below title; amber for guest entries */
.post-header .post-byline {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--chronicles-meta-blue);
    margin-top: 0.35rem;
    text-align: center;
}

.post-header .post-byline.guest {
    color: #6b4800;
}

/* Constrain all images in the post body — prevents full-viewport inline images */
.chronicles-entry-body img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* SVG blowout guard — SVGs have no intrinsic pixel dimensions so they
   expand to fill the container. Cap at 220px unless overridden by a
   more specific class or an inline width attribute on the img tag.    */
.chronicles-entry-body img[src$=".svg"] {
    max-width: 220px;
    width: auto;
    height: auto;
}

/* ── Decorative originary-scene icon classes ──────────────────
   Single icon (square):  <img class="chron-icon alignleft" …>
   Wide/double icon:      <img class="chron-icon-wide aligncenter" …>
   WordPress alignleft / alignright / aligncenter handle the float.  */
.chronicles-entry-body img.chron-icon {
    width: 56px;
    height: 56px;
    max-width: 56px;
    image-rendering: crisp-edges;   /* keeps pixel-art SVG sharp */
    image-rendering: pixelated;
}

.chronicles-entry-body img.chron-icon-wide {
    width: 200px;
    height: auto;
    max-width: 200px;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
}

/* ── Chronicle entry body ── */
.chronicles-entry-body {
    max-width: 720px;
    margin: 1rem auto;
    padding: 0 1.5rem;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.85;
    color: var(--chronicles-graphite);
}

.chronicles-entry-body p {
    margin-bottom: 1.25rem;
    color: var(--chronicles-graphite);
}

.chronicles-entry-body a {
    color: var(--chronicles-link-body);
}

.chronicles-entry-body a:hover {
    color: var(--chronicles-accent);
}

.chronicles-entry-body h2 {
    font-family: var(--font-sans);
    font-weight: 800;
    color: var(--chronicles-graphite);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.chronicles-entry-body blockquote {
    background-color: var(--chronicles-yellow-mid);
    border-left: 3px solid var(--chronicles-graphite);
    border-radius: 0 4px 4px 0;
    padding: 0.875rem 1.25rem;
    margin: 1.25rem 0;
    font-style: italic;
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--chronicles-label-dark);
}

.chronicles-entry-body hr {
    border: none;
    border-top: 0.5px solid var(--chronicles-yellow);
    margin: 1.75rem 0;
}

/* Strong gold rule — for emphatic section breaks in body text.
   Usage: <hr class="chron-rule-strong"> in the HTML editor */
.chronicles-entry-body hr.chron-rule-strong {
    border-top: 2px solid var(--chronicles-yellow);
    margin: 2rem auto;
    width: 33%;       /* centered ornamental break, not full width */
}

/* ── Chronicles Dialogue ──────────────────────────────────────
   Wrap the exchange in <div class="chron-dialogue">
   Cream tint background, gold left border, Nunito throughout.
   Speaker labels get .chron-speaker-label (added manually or
   via a future PHP filter).                                    */
.chronicles-entry-body .chron-dialogue {
    background: var(--chronicles-yellow-tint);
    border-left: 3px solid var(--chronicles-yellow);
    border-radius: 0 4px 4px 0;
    padding: 0.75rem 1.25rem;
    margin: 1.5rem 0;
}

.chronicles-entry-body .chron-dialogue p {
    font-weight: normal !important;
    margin-bottom: 0.5rem;
    font-size: 16px;
}

.chronicles-entry-body .chron-dialogue p:last-child {
    margin-bottom: 0;
}

.chronicles-entry-body .chron-dialogue p em,
.chronicles-entry-body .chron-dialogue p i {
    font-style: italic;
}

/* Speaker label — bold graphite-navy, no italic bleed */
.chronicles-entry-body .chron-speaker-label {
    font-family: var(--font-sans);
    font-weight: 800;
    font-style: normal;
    color: var(--site-navy-dark);
}

/* ── Chronicles Notes ─────────────────────────────────────────
   Two ways to trigger:
   1. AUTOMATIC: add class chron-notes-heading to the heading;
      CSS fires on all following <p> siblings via ~ combinator.
   2. MANUAL WRAPPER: <div class="chron-notes-section">...</div>

   Nunito 13.5px, first-line indent 1.5rem (note number anchor).*/
.chronicles-entry-body .chron-notes-heading,
.chronicles-entry-body h5.chron-notes-heading {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--chronicles-label);
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

.chronicles-entry-body .chron-notes-heading ~ p,
.chronicles-entry-body .chron-notes-section p {
    font-family: var(--font-sans);
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--chronicles-graphite);
    padding-left: 0;
    text-indent: 1.5rem;
    margin-bottom: 0.4rem;
}

/* ── Chronicles Works Cited ───────────────────────────────────
   Hanging indent: first line flush left, continuations indented.

   Two ways to trigger:
   1. AUTOMATIC: add class chron-works-cited-heading to heading.
   2. MANUAL WRAPPER: <div class="chron-works-cited-section">

   Nunito 13.5px, hanging indent 2.5rem.                        */
.chronicles-entry-body .chron-works-cited-heading,
.chronicles-entry-body h5.chron-works-cited-heading {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--chronicles-label);
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

.chronicles-entry-body .chron-works-cited-heading ~ p,
.chronicles-entry-body .chron-works-cited-section p {
    font-family: var(--font-sans);
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--chronicles-graphite);
    padding-left: 2.5rem;
    text-indent: -2.5rem;
    margin-bottom: 0.5rem;
}

/* ── Chronicles Lists ─────────────────────────────────────────
   Unordered and ordered lists in Chronicle body text.
   Matches body typography; disc/decimal markers in gold.       */
.chronicles-entry-body ul,
.chronicles-entry-body ol {
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.75;
    color: var(--chronicles-graphite);
    padding-left: 2rem;
    margin: 1rem 0 1.25rem;
}

.chronicles-entry-body ul li,
.chronicles-entry-body ol li {
    margin-bottom: 0.4rem;
    padding-left: 0.25rem;
}

.chronicles-entry-body ul {
    list-style-type: disc;
}

.chronicles-entry-body ol {
    list-style-type: decimal;
}

/* Nested lists — slightly smaller, tighter */
.chronicles-entry-body ul ul,
.chronicles-entry-body ol ol,
.chronicles-entry-body ul ol,
.chronicles-entry-body ol ul {
    font-size: 15px;
    margin: 0.3rem 0 0.3rem 1.25rem;
}

/* Decorative float image (prepended via the_content filter) */
.chronicles-deco-img {
    float: left;
    width: 56px;
    height: auto;
    margin: 0.1rem 1.25rem 0.6rem 0;
    opacity: 0.85;
}

/* ── Post Bottom (guest bio, citation, copyright) ── */
.post-bottom {
    background: #fff;
    padding: 0.75rem 0 2rem;
    border-top: 0.5px solid var(--chronicles-yellow-tint);
}

.post-bottom-inner {
    max-width: 100%;
    margin: 0;
    padding: 0 2rem;
}

.meta-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.4rem;
}

.author-bio-block {
    background: #ffffff;
    border: 2px solid var(--chronicles-yellow);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.author-bio-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--chronicles-yellow);
    border: 0.5px solid var(--chronicles-accent);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-sans);
    font-size: 17px;
    font-weight: 800;
    color: #7a5c00;
    letter-spacing: 0;
}

/* 3-letter initials (e.g. RvO) — slightly smaller to fit the circle */
.author-bio-avatar[data-len="3"] {
    font-size: 13px;
    letter-spacing: -0.03em;
}

.author-bio-name {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-top: 0;
    margin-bottom: 2px;
}

/* Inside the bio card, give author meta lines a touch more breathing room
   than the tight defaults used in AP article author blocks. */
.author-bio-block .author-affil {
    margin-top: 0;
    margin-bottom: 4px;
}

.author-bio-block .author-links {
    margin-top: 2px;
}

.author-bio-affil {
    font-family: var(--font-sans);
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}

.author-bio-affil a {
    color: var(--site-blue-primary);
    text-decoration: none;
}

.author-bio-orcid {
    font-family: var(--font-sans);
    font-size: 13px;
    color: #888;
    margin-top: 0;
    margin-bottom: 6px;
}

.author-bio-body {
    font-family: var(--font-sans);
    font-size: 12.5px;
    color: #444;
    line-height: 1.65;
    margin-bottom: 0;
}

/* ── Chronicle citation box ── */
.chron-citation-box {
    background: #ffffff;
    border: 2px solid var(--chronicles-yellow);
    border-radius: 8px;
    margin: 1.25rem 1.5rem;
    padding: 1rem 1.25rem;
}

.chron-citation-box .citation-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--chronicles-label);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 6px;
}

.chron-citation-box .citation-text {
    font-family: var(--font-serif);
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 10px;
}

.chron-citation-box .citation-text em { font-style: italic; }

.citation-copy-btn {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    color: var(--site-blue-primary);
    background: #fff;
    border: 0.5px solid #9acfe3;
    border-radius: 4px;
    padding: 3px 10px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 0.75rem;
}

.citation-copy-btn:hover { background: #dff0f7; }

.citation-divider {
    border: none;
    border-top: 0.5px solid #fce4a0;
    margin: 10px 0;
}

.citation-copyright,
.chron-citation-box .citation-copyright,
.chron-citation-box p.citation-copyright {
    font-family: var(--font-sans) !important;
    font-size: 10px !important;
    color: var(--chronicles-label);
    line-height: 1.5;
    margin: 0;
}

.citation-copyright em { font-style: italic; }

/* ── Chronicles tags ── */
.chronicles-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 1.5rem;
}

.chronicles-tag {
    display: inline-block;
    background-color: var(--chronicles-yellow-tint);
    border: 1px solid var(--chronicles-graphite);
    border-radius: 20px;
    padding: 4px 13px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: var(--site-navy-dark);
    text-decoration: none;
}

.chronicles-tag:hover {
    background-color: var(--chronicles-yellow);
    color: var(--site-navy-dark);
}

/* ── Post Navigation ── */
.post-nav {
    border-top: 1.5px solid var(--chronicles-graphite);
    padding: 0.9rem 2.5rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
    gap: 1rem;
    margin-bottom: 0;
}

.post-nav-link {
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--site-blue-primary);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 42%;
}

.post-nav-link:hover {
    color: var(--site-navy-dark);
    text-decoration: none;
}

.post-nav-label {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--chronicles-label);
}

.post-nav-num {
    font-family: var(--font-serif);
    font-size: 10px;
    color: var(--chronicles-label);
}

.post-nav-title {
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.post-nav-link.next {
    text-align: right;
    justify-self: end;
}

.post-nav-center {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    color: var(--chronicles-label);
    justify-self: center;
    align-self: center;
    white-space: nowrap;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.post-nav-center:hover {
    color: var(--site-blue-primary);
    text-decoration: none;
}

/* Last-updated notice — appears below post nav, above site footer */
.post-last-updated {
    font-family: var(--font-sans);
    font-size: 11px;
    color: rgba(0, 0, 0, 0.35);
    text-align: right;
    padding: 0.5rem 1.5rem 1rem;
    margin: 0;
}


/* ============================================================
   POST CONTENT — strip double-padding from block layout system

   wp:post-content with constrained layout adds has-global-padding,
   which applies var(--wp--style--root--padding-left/right).  Our
   .chronicles-entry-body / .journal-article-body containers already
   supply max-width + side padding via CSS above, so zeroing out
   has-global-padding here prevents the text from being double-indented
   relative to the yellow masthead bands.
   ============================================================ */

.chronicles-entry-body .wp-block-post-content.has-global-padding,
.chronicles-entry-body .wp-block-post-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}

.wp-block-group.section-chronicles.has-global-padding {
    padding-bottom: 0 !important;
}

.journal-article-body .wp-block-post-content.has-global-padding,
.journal-article-body .wp-block-post-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.news-post-body .wp-block-post-content.has-global-padding,
.news-post-body .wp-block-post-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ── Site header home link (logo + name) ── */
.site-header-home {
    display: flex;
    align-items: center;
    gap: 9px;
    text-decoration: none !important;
}

.site-header-logo {
    width: 28px;
    height: 28px;
    display: block;
    flex-shrink: 0;
}

.site-header-name {
    font-family: var(--font-sans);   /* Nunito */
    font-size: 14px;
    font-weight: 400;                /* roman, matching nav items */
    color: #6db8d4;                  /* same mid-blue as nav links */
    letter-spacing: 0.01em;
    line-height: 1;
}


/* ============================================================
   PAGE FRAMING — light gray viewport, white content page
   Creates a document/paper feel on wider screens.
   Gray shows only on left/right margins; header and footer
   connect flush with the white content card (no top/bottom gap).
   ============================================================ */

body:has(.section-chronicles),
body:has(.section-journal) {
    background-color: var(--site-surround);
}

/* Full-height layout: content area stretches to push footer to bottom.
   Also zero horizontal padding so nav/footer run edge-to-edge. */
.wp-site-blocks {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.wp-site-blocks > main {
    flex: 1 !important;
}
/* Ensure header and footer template parts stretch full width.
   WordPress wraps them in .wp-block-template-part which inherits
   the wideSize (1100px) constraint from theme.json. */
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > header,
.wp-site-blocks > footer {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
}

/* Flush the wp-site-blocks container — no row gaps, no padding
   so the dark navy header/footer butt directly against the white card */
body:has(.section-chronicles) .wp-site-blocks,
body:has(.section-journal) .wp-site-blocks,
body:has(.section-home-hero) .wp-site-blocks,
body.home .wp-site-blocks {
    row-gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Also zero out any margin on the site footer itself */
body:has(.section-chronicles) .wp-site-blocks > footer,
body:has(.section-journal) .wp-site-blocks > footer,
body:has(.section-home-hero) .wp-site-blocks > footer,
body.home .wp-site-blocks > footer {
    margin-top: 0 !important;
}

/* Close gap between header and first block on home page */
body.home .wp-site-blocks > main,
body.home .wp-site-blocks > .wp-block-group {
    margin-top: 0 !important;
}

/* Tighten footer internal block gap — only the 10px spacer separates
   the subscribe row from the copyright row */
.wp-site-blocks > footer.wp-block-group {
    --wp--style--block-gap: 0 !important;
}

/* "anthropoetics.org" domain text — bump opacity so it reads against navy */
.footer-domain {
    color: rgba(255, 255, 255, 0.65) !important;
}

.section-chronicles,
.section-journal {
    background-color: #ffffff;
    max-width: 820px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 4rem !important;
}


/* ============================================================
   HEADER NAVIGATION — force mid blue on navy background
   Overrides Twenty Twenty-Five header template part styles
   ============================================================ */

.wp-block-navigation .wp-block-navigation-item__content {
    color: #6db8d4 !important;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
    color: #ffffff !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #0d3d52 !important;
}

.anthro-nav .wp-block-navigation-item__content,
.anthro-nav a {
    color: #6db8d4 !important;
}

.anthro-nav .wp-block-navigation-item__content:hover,
.anthro-nav a:hover {
    color: #ffffff !important;
}


/* ============================================================
   JOURNAL BACK ISSUES — compact grid
   ============================================================ */

.journal-archive-header {
    max-width: 760px;
    margin: 2rem auto 1.5rem;
    padding: 0 1.5rem;
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
}

.journal-archive-title {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-bottom: 0;
}

/* 3-column grid; collapses to 2 on narrow viewports */
.volumes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem 2rem;
    max-width: 760px;
    margin: 0 auto 3rem;
    padding: 0 1.5rem;
}

@media (max-width: 620px) {
    .volumes-grid { grid-template-columns: repeat(2, 1fr); }
}

.volume-block {
    min-width: 0; /* prevent grid blowout */
}

.volume-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--site-blue-primary);
    padding-bottom: 0.35rem;
    margin-bottom: 0.35rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

.volume-label a {
    color: inherit;
    text-decoration: none;
}

.volume-label a:hover {
    color: var(--site-navy-dark);
    text-decoration: underline;
}

.volume-issues {
    list-style: none;
    margin: 0;
    padding: 0;
}

.volume-issues li {
    margin-bottom: 0.2rem;
}

.volume-issues a {
    font-family: var(--font-serif);
    font-size: 13px;
    line-height: 1.5;
    color: var(--journal-blue-deep);
    text-decoration: none;
    border-bottom: 0.5px solid #b8d8e8;
}

.volume-issues a:hover {
    color: var(--site-navy-dark);
    border-bottom-color: var(--site-navy-dark);
}

.special-note {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 600;
    color: #999;
    display: block;
    margin-top: 1px;
}


/* ============================================================
   JOURNAL CURRENT ISSUE — dynamic TOC page
   ============================================================ */

.journal-current-issue {
    max-width: 720px;
    margin: 2rem auto 3rem;
    padding: 0 1.5rem;
}

/* Issue banner */
.issue-banner {
    background: #f7fbfd;
    border: 0.5px solid var(--journal-blue-tint);
    border-left: 3px solid var(--site-blue-primary);
    border-radius: 0 6px 6px 0;
    padding: 0.875rem 1.25rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
}

.issue-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.issue-cite {
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--site-navy-dark);
    line-height: 1.3;
}

/* TOC table */
.toc-table {
    width: 100%;
    border-collapse: collapse;
}

.toc-table tr {
    border-bottom: 0.5px solid #f0f0f0;
}

.toc-table td {
    padding: 0.8rem 0.5rem;
    vertical-align: top;
}

.toc-author {
    font-family: var(--font-serif);
    font-size: 15px;
    font-weight: 700;
    width: 28%;
    padding-right: 1.25rem;
    white-space: nowrap;
    color: var(--site-navy-dark);
}

.toc-title {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.55;
}

.toc-title a {
    color: var(--site-blue-primary);
    text-decoration: none;
    border-bottom: 0.5px solid #b8d8e8;
}

.toc-title a:hover {
    color: var(--site-navy-dark);
}

/* PDF pill */
.pdf-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: var(--site-blue-primary);
    border: 0.5px solid #b8d8e8;
    border-radius: 20px;
    padding: 1px 8px;
    margin-left: 8px;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
}

.pdf-pill:hover {
    background: var(--journal-blue-tint);
    border-color: var(--site-blue-primary);
}

/* Benchmarks row */
.benchmarks-row td {
    border-top: 0.5px solid var(--journal-blue-tint);
    padding-top: 1rem;
}

.benchmarks-label {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.benchmarks-link {
    font-family: var(--font-serif);
    font-size: 14px;
    font-style: italic;
    color: #888;
    border-bottom-color: #ddd;
}

/* Prev/next issue nav */
.issue-nav {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.issue-nav a {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 45%;
}

.issue-nav .issue-nav-next {
    text-align: right;
    margin-left: auto;
}

.issue-nav a:hover { color: var(--site-navy-dark); }

.nav-issue-label {
    font-family: var(--font-serif);
    font-size: 13px;
    color: #888;
    font-style: italic;
    font-weight: 400;
}


/* ============================================================
   JOURNAL VOLUME INDEX
   ============================================================ */

.journal-volume-header {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
}

.journal-volume-title {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.25;
    margin-bottom: 0.5rem;
}

.journal-volume-description {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--journal-blue-deep);
    margin-bottom: 0;
}

.journal-issues-grid {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.journal-issue-card {
    display: block;
    border: 0.5px solid var(--journal-blue-tint);
    border-radius: 8px;
    padding: 1.25rem;
    text-decoration: none;
    background-color: var(--site-white);
    transition: border-color 0.15s, background-color 0.15s;
}

.journal-issue-card:hover {
    border-color: var(--site-blue-primary);
    background-color: #f7fbfd;
    text-decoration: none;
}

.issue-card-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}

.issue-card-name {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-bottom: 6px;
    line-height: 1.3;
}

.issue-card-description {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--journal-blue-deep);
    margin-bottom: 8px;
    line-height: 1.5;
}

.issue-card-count {
    font-family: var(--font-sans);
    font-size: 11px;
    color: var(--site-blue-mid);
    margin-bottom: 0;
}

.journal-empty {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    font-family: var(--font-sans);
    font-size: 14px;
    color: #888888;
}


/* ============================================================
   JOURNAL ISSUE INDEX
   ============================================================ */

.journal-issue-header {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
}

.journal-issue-title {
    font-family: var(--font-serif);
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.25;
    margin-bottom: 0.5rem;
}

.journal-issue-description {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--journal-blue-deep);
    margin-bottom: 0.75rem;
}

.issue-header-badges {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0.75rem;
}

.issue-issn {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #888888;
}

.journal-article-list {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    list-style: none;
    counter-reset: article-counter;
}

.journal-article-row {
    border-top: 0.5px solid var(--journal-blue-tint);
    padding: 1.5rem 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
}

.journal-article-row:last-child {
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

.article-row-main {
    min-width: 0;
}

.article-row-title {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

.article-row-title a {
    color: var(--site-navy-dark);
    text-decoration: none;
}

.article-row-title a:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

.article-row-author {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--journal-blue-deep);
    margin-bottom: 0.4rem;
}

.article-row-abstract {
    font-family: var(--font-serif);
    font-size: 13px;
    color: var(--site-text);
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.article-row-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* ============================================================
   NEWS POST TEMPLATE
   ============================================================ */

.news-post-header {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
}

.news-breadcrumb {
    font-family: var(--font-sans);
    font-size: 13px;
    margin-bottom: 1.5rem;
}

.news-breadcrumb a {
    color: var(--site-blue-primary);
    text-decoration: none;
    font-weight: 600;
}

.news-breadcrumb a:hover {
    text-decoration: underline;
}

.news-post-label {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.35rem;
}

.news-post-date {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--site-blue-mid);
    margin-bottom: 0.75rem;
}

.news-post-header .news-post-title,
.news-post-title {
    text-align: left;
    font-family: var(--font-serif);
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

.news-post-author {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--journal-blue-deep);
    margin-bottom: 0;
}

.news-post-body {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.85;
    color: var(--site-text);
}

.news-post-footer {
    max-width: 720px;
    margin: 2rem auto;
    padding: 1.5rem;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.news-post-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-sans);
    font-size: 13px;
}

.news-post-nav a {
    color: var(--journal-blue-deep);
    text-decoration: none;
    font-weight: 600;
}

.news-post-nav a:hover {
    color: var(--site-blue-primary);
}

.news-nav-archive a {
    color: var(--site-blue-primary) !important;
    font-weight: 400 !important;
}

/* ============================================================
   NEWS ARCHIVE
   ============================================================ */

.news-archive {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem;
}

.news-archive-header {
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
    margin-bottom: 2.5rem;
}

.news-archive-title {
    font-family: var(--font-sans);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-bottom: 0;
}

.news-archive-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.news-archive-item {
    padding: 1.5rem 0;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

.news-archive-item:first-child {
    border-top: 0.5px solid var(--journal-blue-tint);
}

.news-item-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.news-item-date {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: #aaaaaa;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Category pills on news archive entries */
.news-item-pills {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.news-cat-pill {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 2px 9px;
    border-radius: 20px;
    color: #ffffff;
}

.news-cat-journal    { background: var(--site-blue-primary); }
.news-cat-chronicles { background: var(--chronicles-label); }
.news-cat-gasc       { background: #1a6b8a; }
.news-cat-site       { background: #777777; }

.news-item-title {
    font-family: var(--font-serif);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: normal;
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 0.35rem;
}

.news-item-title a {
    color: var(--site-navy-dark);
    text-decoration: none;
}

.news-item-title a:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

.news-item-excerpt {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--site-text);
    line-height: 1.7;
    margin-bottom: 0;
}

.news-item-read-more {
    display: inline-block;
    margin-top: 0.5rem;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-decoration: none;
}

.news-item-read-more:hover {
    color: var(--site-navy-dark);
    text-decoration: underline;
}

.news-archive-empty {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--site-text);
    padding: 2rem 0;
}

/* Pagination */
.news-archive-pagination {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.news-archive-pagination .page-numbers {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
}

.news-archive-pagination .page-numbers li {
    margin: 0;
    padding: 0;
}

.news-archive-pagination a.page-numbers,
.news-archive-pagination span.page-numbers {
    display: inline-block;
    padding: 5px 10px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--site-blue-primary);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 3px;
}

.news-archive-pagination a.page-numbers:hover {
    border-color: var(--site-blue-primary);
}

.news-archive-pagination .current {
    background: var(--site-blue-primary);
    color: #fff;
    border-radius: 3px;
    padding: 5px 10px;
    font-family: var(--font-sans);
    font-size: 13px;
}


/* ============================================================
   CHRONICLES ARCHIVE  (v4 mockup)
   ============================================================ */

/* Outer wrapper — edge-to-edge within the constrained group */
.chronicles-archive-wrap {
    scroll-behavior: smooth;
}

/* ── Year filter strip ── */
.chronicles-year-filter-strip {
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
    padding: 0.65rem 1.5rem;
}

.chronicles-filter-label,
.section-chronicles .chronicles-filter-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary) !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 6px;
}

.chronicles-year-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.chronicles-year-btn {
    display: inline-block;
    font-family: var(--font-serif);
    font-size: 11px;
    color: #7a5c00;
    padding: 2px 8px;
    border-radius: 4px;
    border: 0.5px solid transparent;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.chronicles-year-btn:hover {
    background: #f5f5f5;
    border-color: #ccc;
    color: var(--site-navy-dark);
    text-decoration: none;
}

/* ── Tag browser strip ── */
.chronicles-tag-strip {
    background: var(--chronicles-yellow-tint);
    border-top: 1.5px solid var(--chronicles-graphite);
    border-bottom: 1.5px solid var(--chronicles-graphite);
    padding: 0.65rem 1.5rem;
}

.chronicles-tag-chip {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 11px;
    border-radius: 20px;
    background: var(--chronicles-yellow-tint);
    border: 1px solid var(--chronicles-graphite);
    color: var(--site-navy-dark);
    text-decoration: none;
    transition: background 0.15s;
    margin: 2px 2px;
}

.chronicles-tag-chip:hover {
    background: var(--chronicles-yellow);
    color: var(--site-navy-dark);
    text-decoration: none;
}

/* ── Year section headers ── */
.chronicles-year-section {
    /* each year block; no extra margin needed — entry rows supply their own borders */
}

.chronicles-year-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0.9rem 1.75rem 0.6rem;
    background: #fff;
    border-top: 2px solid #111;
    border-bottom: 1px solid #f0f0f0;
}

.chronicles-year-heading {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 800;
    color: #7a5c00;
    margin: 0;
}

.chronicles-year-count {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #9a7800;
    font-weight: 400;
}

/* ── Entry rows ── */
.chronicles-entry-row {
    display: grid;
    grid-template-columns: 56px 108px 1fr;
    align-items: baseline;
    padding: 0.38rem 1.75rem;
    text-decoration: none;
    border-bottom: 0.5px solid #f0f0f0;
    transition: background 0.12s;
}

.chronicles-entry-row:hover {
    background: #f5f5f5;
    text-decoration: none;
}

.chronicles-entry-num {
    font-family: var(--font-serif);
    font-size: 11px;
    color: #7a5c00;
    white-space: nowrap;
}

.chronicles-entry-date {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #767676;
    white-space: nowrap;
}

.chronicles-entry-title {
    font-family: var(--font-sans);
    font-size: 13.5px;
    color: #1a1a1a;
    line-height: 1.4;
}

.chronicles-entry-row:hover .chronicles-entry-title {
    color: var(--site-blue-primary);
}

.chronicles-entry-guest-tag {
    font-style: italic;
    color: #767676;
    font-size: 12px;
}

.chronicles-year-btn-count {
    font-weight: 400;
    opacity: 0.7;
}

/* ── Back-to-top / empty state ── */
.chronicles-back-to-top {
    display: inline-block;
    margin: 0.75rem 1.75rem;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    color: var(--site-blue-primary);
    text-decoration: none;
}

.chronicles-back-to-top:hover {
    color: var(--site-navy-dark);
    text-decoration: underline;
}

.chronicles-empty {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--chronicles-graphite);
    padding: 2rem 1.75rem;
}


/* ── Subscribe CTA box (used on GA List page via Custom HTML block) ── */
.subscribe-cta {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    background: #f7fbfd;
    border: 0.5px solid var(--journal-blue-tint);
    border-left: 3px solid var(--site-blue-primary);
    border-radius: 0 6px 6px 0;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
}

.subscribe-cta-text {
    flex: 1;
    min-width: 220px;
}

.subscribe-cta-text p {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.7;
    color: #1a1a1a;
    margin-bottom: 0.4rem;
}

.subscribe-cta-text p:last-child { margin-bottom: 0; }

.subscribe-btn,
.gaintro-body a.subscribe-btn {
    display: inline-block;
    flex-shrink: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    background: var(--site-blue-primary);
    color: #fff !important;
    text-decoration: none;
    border-bottom: none !important;
    border-radius: 6px;
    padding: 0.6rem 1.25rem;
    white-space: nowrap;
    transition: background 0.15s;
}

.subscribe-btn:hover,
.gaintro-body a.subscribe-btn:hover {
    background: var(--site-navy-dark);
    color: #fff !important;
    border-bottom: none !important;
}

/* ── Receives list (bullet items on GA List page) ── */
.receives-list {
    margin: 0.75rem 0 1.5rem;
}

.receives-item {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 0.5px solid #f5f5f5;
}

.receives-item:last-child { border-bottom: none; }

.receives-bullet {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--site-blue-primary);
    flex-shrink: 0;
    margin-top: 7px;
}

.receives-text {
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.6;
    color: #1a1a1a;
    flex: 1;
    margin: 0;
}


/* ============================================================
   CHRONICLES HOME  (page-chronicles-home.html / [chronicles_home])
   ============================================================ */

/* ── Intro box ── */
.chron-home-intro {
    background: #fff;
    padding: 1.5rem 2.5rem;
    border-bottom: 0.5px solid #f0f0f0;
    display: flex;
    justify-content: center;
}

.chron-home-intro-box {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 1.1rem 2rem;
    max-width: 640px;
    text-align: left;
}

.chron-home-intro-box p {
    font-family: var(--font-sans);
    font-size: 13.5px;
    line-height: 1.8;
    color: #2a2a2a;
}

.chron-home-intro-box a {
    color: var(--site-blue-primary);
    text-decoration: none;
    border-bottom: 0.5px solid #9acfe3;
}

.chron-home-intro-box a:hover { color: var(--site-navy-dark); }

/* ── Content area ── */
.chron-home-content {
    background: #fff;
    padding: 2rem 2.5rem 2.5rem;
}

.chron-home-section {
    margin-bottom: 2rem;
}

/* Section labels — blue uppercase, matches mockup */
.chron-section-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding-bottom: 0.5rem;
    border-bottom: 0.5px solid #e0e0e0;
    margin-bottom: 1.1rem;
}

/* ── Featured entry card ── */
.chron-featured-entry {
    border: 1.5px solid var(--chronicles-graphite);
    border-radius: 10px;
    overflow: hidden;
    background: #fafafa;
}

.chron-featured-head {
    background: var(--chronicles-yellow);
    border-bottom: 1.5px solid var(--chronicles-graphite);
    padding: 1.1rem 1.5rem 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.chron-featured-title {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 800;
    color: var(--site-navy-dark);
    line-height: 1.25;
    flex: 1;
    margin: 0;
}

.chron-featured-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.chron-featured-num,
.chron-featured-date {
    font-family: var(--font-sans);
    font-size: 11px;
    color: var(--site-blue-primary);
    white-space: nowrap;
}

.chron-featured-body {
    display: grid;
    grid-template-columns: 110px 1fr;
}

.chron-featured-body.no-deco {
    grid-template-columns: 1fr;
}

.chron-featured-deco-col {
    padding: 1.25rem 0 1.25rem 1.25rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    border-right: 0.5px solid #e0e0e0;
}

.chron-featured-deco-img {
    width: 80px;
    height: auto;
    opacity: 0.85;
}

.chron-featured-text-col {
    padding: 1.25rem 1.5rem;
}

.chron-featured-lede {
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #2a2a2a;
    line-height: 1.7;
    margin-bottom: 1.1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f0f0f0;
}

.chron-read-link {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 800;
    color: var(--site-blue-primary);
    text-decoration: none;
}

.chron-read-link:hover { color: var(--site-navy-dark); }

/* ── Recent entries list — reuses .chronicles-entry-row grid ── */
.chron-home-entry-list {
    /* entry rows already styled via .chronicles-entry-row */
}

.chron-home-entry-list .chronicles-entry-row {
    padding-left: 0;
    padding-right: 0;
}

/* ── Archive CTA ── */
.chron-archive-cta {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 1.1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.chron-archive-cta-heading {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    color: var(--site-navy-dark);
    margin-bottom: 2px;
}

.chron-archive-cta-sub {
    font-family: var(--font-sans);
    font-size: 12px;
    color: #888;
    line-height: 1.5;
}

.chron-archive-cta-btn {
    display: inline-block;
    background: var(--site-blue-primary);
    color: #fff;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 800;
    padding: 7px 18px;
    border-radius: 20px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s;
}

.chron-archive-cta-btn:hover {
    background: var(--site-navy-dark);
    color: #fff;
    text-decoration: none;
}


/* ============================================================
   STANDARD PAGE TEMPLATE
   ============================================================ */

.page-title {
    font-family: var(--font-serif);
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--site-navy-dark);
    border-top: 4px solid var(--site-blue-primary);
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.journal-page-title {
    border-top-color: var(--site-blue-primary);
}


/* ── Journal page body content typography ── */

/* h2: section heading in text-heavy pages (Submissions, Copyright, etc.) */
.section-journal .wp-block-post-content h2 {
    font-family: var(--font-serif);
    font-size: 1.2rem;           /* 19px — clear step below h1 (28px) */
    font-weight: 700;
    color: var(--journal-blue-deep);
    line-height: 1.3;
    margin-top: 2.5rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.3rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

/* h3: role/category labels (Editorial Board pattern) */
.section-journal .wp-block-post-content h3 {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: var(--journal-blue-deep);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 1.75rem;
    margin-bottom: 0.35rem;
}

/* Members / content that follows a role h3 — slight left indent */
.section-journal .wp-block-post-content h3 + p,
.section-journal .wp-block-post-content h3 + ul,
.section-journal .wp-block-post-content h3 + ol {
    padding-left: 1rem;
    margin-top: 0;
}

/* Override h3 indent — add class "no-h3-indent" to the h3 block in Advanced panel */
h3.no-h3-indent + p,
h3.no-h3-indent + ul,
h3.no-h3-indent + ol {
    padding-left: 0 !important;
    margin-top: 1.25rem !important;
}

/* In memoriam rule — WP separator block */
.section-journal .wp-block-post-content hr,
.section-journal .wp-block-separator {
    border: none;
    border-top: 0.5px solid var(--journal-blue-tint);
    margin: 2.5rem 0;
}

/* Table block — remove default cell borders, use row separators instead */
.section-journal .wp-block-post-content .wp-block-table {
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

.section-journal .wp-block-post-content .wp-block-table table {
    border-collapse: collapse;
    width: 100%;
    border: none;
}

.section-journal .wp-block-post-content .wp-block-table td,
.section-journal .wp-block-post-content .wp-block-table th {
    border: none;
    border-bottom: 0.5px solid var(--journal-blue-tint);
    padding: 0.55rem 1rem 0.55rem 0;
    vertical-align: top;
    font-family: var(--font-serif);
    font-size: 14px;
    line-height: 1.5;
}

/* First column: name — slightly bolder */
.section-journal .wp-block-post-content .wp-block-table td:first-child {
    font-weight: 600;
    color: var(--site-navy-dark);
}

/* Email column: use link color */
.section-journal .wp-block-post-content .wp-block-table td:last-child a {
    color: var(--site-blue-primary);
    text-decoration: none;
}

.section-journal .wp-block-post-content .wp-block-table td:last-child a:hover {
    text-decoration: underline;
}


/* ============================================================
   ARTICLE LIST (SORTABLE INDEX)
   ============================================================ */

.article-list-wrap {
    max-width: 960px;
    margin: 2rem auto;
    padding: 0 1.5rem;
}

/* Search + count bar */
.article-list-controls {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.article-list-search {
    flex: 1 1 280px;
    max-width: 420px;
    padding: 7px 12px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--site-text);
    border: 1px solid var(--journal-blue-tint);
    border-radius: 4px;
    background: #fff;
    outline: none;
    transition: border-color 0.15s;
}

.article-list-search:focus {
    border-color: var(--journal-blue-deep);
    box-shadow: 0 0 0 2px rgba(26, 107, 138, 0.12);
}

.article-list-count {
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--journal-blue-deep);
    margin: 0;
    white-space: nowrap;
}

/* Table */
.article-list-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: 14px;
}

.article-list-table thead th {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--site-white);
    background: var(--journal-blue-deep);
    padding: 10px 12px;
    text-align: left;
    border: none;
    white-space: nowrap;
    user-select: none;
}

.article-list-table th.sortable {
    cursor: pointer;
}

.article-list-table th.sortable:hover {
    background: var(--site-blue-primary);
}

.article-list-table th.sort-asc,
.article-list-table th.sort-desc {
    background: var(--site-navy-dark);
}

.sort-icon {
    display: inline-block;
    margin-left: 4px;
    opacity: 0.75;
    font-style: normal;
}

/* Column widths */
.col-author { width: 22%; }
.col-title  { width: 52%; }
.col-issue  { width: 26%; }

/* Body rows */
.article-list-table tbody tr {
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

.article-list-table tbody tr:nth-child(even) {
    background: #f8fcfe;
}

.article-list-table tbody tr:hover {
    background: var(--journal-gold-tint);
}

.article-list-table td {
    padding: 8px 12px;
    vertical-align: top;
    line-height: 1.5;
    color: var(--site-text);
}

.col-author {
    font-size: 13px;
    color: var(--site-navy-dark);
}

.col-title a {
    color: var(--journal-blue-deep);
    text-decoration: none;
    font-weight: 600;
}

.col-title a:hover {
    color: var(--site-blue-primary);
    text-decoration: underline;
}

.col-issue {
    font-size: 12px;
}

.col-issue a {
    color: var(--journal-gold-text);
    text-decoration: none;
}

.col-issue a:hover {
    text-decoration: underline;
}

.article-list-empty {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--site-text);
    padding: 2rem 0;
}

/* Responsive: horizontal scroll on narrow screens */
@media (max-width: 640px) {
    .article-list-wrap {
        padding: 0 0.75rem;
        overflow-x: auto;
    }
    .article-list-table {
        min-width: 560px;
    }
}


/* ============================================================
   CUSTOM BLOCK STYLES — ACADEMIC FORMATTING
   ============================================================ */

/* ── Works Cited / References ────────────────────────────────
   Hanging indent: first line flush left, subsequent lines
   indented. Each reference entry is a separate paragraph.    */

p.is-style-works-cited {
    padding-left: 2.5rem;
    text-indent: -2.5rem;
    margin-bottom: 0.4rem;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.75;
}

/* ── Endnotes ────────────────────────────────────────────────
   Same hanging indent as Works Cited. Editor types the note
   number at the start: "1. Note text..." The indent clears
   up to three-digit note numbers comfortably.               */

p.is-style-endnote {
    padding-left: 2.25rem;
    text-indent: -2.25rem;
    margin-bottom: 0.35rem;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.7;
}

/* ── Block Quote (applied to core/quote block) ───────────────
   Academic convention: indented both sides, no border,
   no quotation marks, normal weight, slightly smaller.      */

.wp-block-quote.is-style-academic {
    border-left: none;
    padding-left: 0;
    margin-left: 2.5rem;
    margin-right: 2.5rem;
    font-style: normal;
    font-size: 14px;
    line-height: 1.85;
    color: var(--site-text);
}

.wp-block-quote.is-style-academic p {
    margin-bottom: 0.75rem;
}

.wp-block-quote.is-style-academic cite {
    display: block;
    font-style: italic;
    font-size: 13px;
    text-align: right;
    margin-top: 0.25rem;
    color: var(--journal-blue-deep);
}

/* ── Epigraph ────────────────────────────────────────────────
   Appears before the article body. Italic, indented from
   the left, with breathing room above and below.           */

p.is-style-epigraph {
    margin-left: 3rem;
    margin-right: 2rem;
    margin-bottom: 0.25rem;
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 14px;
    line-height: 1.8;
    color: var(--site-text);
}

/* ── Epigraph Source ─────────────────────────────────────────
   Attribution line below an epigraph. Right-aligned,
   preceded conventionally by an em dash in the text.       */

p.is-style-epigraph-source {
    margin-left: 3rem;
    margin-right: 2rem;
    margin-top: 0;
    margin-bottom: 2rem;
    font-family: var(--font-sans);
    font-style: normal;
    font-size: 13px;
    text-align: right;
    color: var(--journal-blue-deep);
}


/* ============================================================
   HOME PAGE  (front-page.html)
   [home_hero] + [home_cards] + native wp:query news
   ============================================================ */

/* ── Hero branding block ───────────────────────────────────── */

.home-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3rem 2rem 2.5rem;
}

.home-hero-logo-col {
    margin-bottom: 1.25rem;
}

.home-hero-logo {
    width: 115px;
    height: 115px;
    opacity: 0.95;
    display: block;
}

.home-hero-text-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.home-hero-field-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6db8d4;
    margin: 0;
}

.home-hero-title {
    font-family: var(--font-serif);
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    color: #ffffff;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 0.5rem;
}

.home-hero-tagline {
    font-family: var(--font-serif);
    font-size: 13px;
    font-style: italic;
    line-height: 1.55;
    color: #6db8d4;
    margin: 0;
}

.home-hero-pills { display: none; }

/* .pill base is defined above (shared); home-pill-gold is the hero variant */
.home-pill-gold {
    background: #ffffff;
    color: var(--journal-gold-deco);
    border: 0.5px solid var(--journal-gold-deco);
}

/* ── Intro strip (below hero grid) ──────────────────────────── */

.home-intro-strip {
    width: 100%;
    margin: 2rem 0 0;
    padding: 1.25rem 3rem 2rem;
    text-align: center;
    background: transparent;
    box-sizing: border-box;
}

.home-intro-strip p {
    font-family: var(--font-serif);
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

.home-intro-strip a {
    color: #6db8d4;
    text-decoration: none;
    border-bottom: 0.5px solid rgba(109, 184, 212, 0.45);
}

.home-intro-strip a:hover {
    color: #fff;
    border-bottom-color: #fff;
}

.home-chron-banner {
    display: block;
    width: 100%;
    max-width: 260px;
    height: auto;
    margin: 4px auto 2px;
}

/* ── Content area (wraps pub cards + secondary grid) ─────────── */

.home-content-area {
    max-width: 960px;
    margin: 0 auto;
}

/* ── Publication cards (2-column grid) ──────────────────────── */

.home-pub-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;  /* subgrid rows: head + body */
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.home-pub-card {
    border-radius: 12px;
    overflow: hidden;
    border: 0.5px solid #dff0f7;
    display: grid;
    grid-template-rows: subgrid;  /* heads in both cards match height */
    grid-row: span 2;
}

/* Card header — journal (navy) */
.home-pub-head {
    padding: 1.5rem 1.75rem;
}

.home-pub-head-navy {
    background: var(--site-navy-dark);
    display: flex;
    flex-direction: column;
}

.home-pub-head-navy .home-pub-title {
    margin-top: auto !important;
}

.home-pub-head-gold {
    background: var(--chronicles-yellow);
}

.home-pub-card .home-pub-kicker {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 6px;
}

.home-pub-head-navy .home-pub-kicker { color: #6db8d4; }
.home-pub-head-gold .home-pub-kicker { color: #ffffff; }

.home-pub-card .home-pub-title {
    font-family: var(--font-serif);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 4px;
    text-align: center;
}

.home-pub-head-navy .home-pub-title { color: #ffffff; }
.home-pub-head-gold .home-pub-title { color: #1a1a1a; }

.home-pub-card .home-pub-sub {
    font-family: var(--font-serif);
    font-size: 14px;
    font-style: italic;
    margin: 0;
    text-align: center;
}

.home-pub-head-navy .home-pub-sub { color: #6db8d4; }
.home-pub-head-gold .home-pub-sub { color: #7a5800; }

/* Card body — white */
.home-pub-body {
    background: #ffffff;
    padding: 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.home-pub-desc {
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.75;
    color: #1a1a1a;
    margin: 0 0 0.75rem;
}

.home-pub-issn {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #aaaaaa;
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 0.5px solid #f0f0f0;
}

.home-pub-issue-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 4px;
}

.home-pub-issue-vol {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--site-navy-dark);
    margin: 0 0 0.6rem;
}

/* Mini TOC (journal articles) */
.home-toc-mini {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.home-toc-mini li {
    font-family: var(--font-sans);
    font-size: 12.5px;
    line-height: 1.5;
    color: #1a1a1a;
}

.home-toc-mini a {
    color: var(--journal-blue-deep);
    text-decoration: none;
}

.home-toc-mini a:hover {
    text-decoration: underline;
}

.home-toc-author {
    color: #888888;
    font-size: 11.5px;
}

/* Card action links */
.home-card-link {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--site-blue-primary);
    text-decoration: none;
    margin-top: auto;
    padding-top: 0.75rem;
    display: inline-block;
}

.home-card-link:hover {
    text-decoration: underline;
}

.home-card-link-gold {
    color: var(--chronicles-label);
}

.home-card-link-muted {
    color: #aaaaaa;
    font-size: 12px;
}

.home-card-link-muted:hover {
    color: var(--site-blue-primary);
}
.home-pub-title-link,
.home-pub-issue-link,
.home-chron-title-link {
    color: inherit;
    text-decoration: none;
}
.home-pub-title-link:hover,
.home-pub-issue-link:hover,
.home-chron-title-link:hover {
    text-decoration: underline;
    opacity: 0.85;
}
/* Chronicle preview row (No. + date + title) */
.home-chron-preview {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0 0 0.75rem;
    padding: 0.6rem 0.75rem;
    background: #fffdf5;
    border: 0.5px solid #fce4a0;
    border-radius: 6px;
}

.home-chron-num {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: var(--chronicles-label);
    white-space: nowrap;
    padding-top: 2px;
}

.home-chron-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.home-chron-date {
    font-family: var(--font-sans);
    font-size: 11px;
    color: #888888;
    display: block;
}

.home-chron-title {
    font-family: var(--font-sans);
    font-size: 13.5px;
    font-weight: 600;
    color: #1a1a1a;
    display: block;
    line-height: 1.4;
}

/* ── Secondary grid (GASC · Bibliography · Intro to GA) ──────── */

.home-secondary-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.5rem;
    align-items: flex-start;
}

.home-secondary-grid .home-secondary-card {
    flex: 1 1 200px;
    min-width: 0;
}

/* Suppress any ghost elements WordPress inserts between cards */
.home-secondary-grid > *:not(.home-secondary-card) {
    display: none !important;
}

/* Suppress empty <p> wpautop injects inside the first card */
.home-secondary-card > p:not([class]) {
    display: none !important;
}

/* Section label above the grid */
.home-secondary-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--site-navy-dark);
    text-align: center;
    margin: 0 0 0.75rem;
}

.home-secondary-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #f7fbfd;
    border: 0.5px solid #dff0f7;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}

.home-secondary-card:hover {
    background: #edf6fb;
    border-color: #9acfe3;
    text-decoration: none;
}

.home-sec-title {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: #1a6b8a;
    margin: 0 0 4px;
}

.home-sec-desc {
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.5;
    color: #1a1a1a;
    margin: 0;
}

/* ── Home news feed (replaces wp:query block) ────────────────── */

.home-news-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 720px;
    margin: 0 auto;
}

.home-news-item {
    padding: 1.25rem 0;
    border-bottom: 0.5px solid #f0f0f0;
}

.home-news-item:first-child { border-top: 0.5px solid #f0f0f0; }

.home-news-date {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--site-blue-primary);
    margin: 0 0 6px;
}

.home-news-title {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--site-navy-dark);
    margin: 0 0 8px;
}

.home-news-title a {
    color: inherit;
    text-decoration: none;
}

.home-news-title a:hover { color: var(--site-blue-primary); }

.home-news-excerpt {
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.75;
    color: #1a1a1a;
    margin: 0 0 6px;
}

.home-news-read-more {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-decoration: none;
    display: inline-block;
}

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

.home-news-all {
    margin: 1.25rem 0 0;
    font-family: var(--font-sans);
    font-size: 13px;
    text-align: right;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.home-news-all a {
    color: var(--site-blue-primary);
    text-decoration: none;
}

.home-news-all a:hover { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 700px) {
    .home-hero {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1.25rem;
    }
    .home-hero-pills {
        justify-content: center;
    }
    .home-pub-cards {
        grid-template-columns: 1fr;
    }
    .home-secondary-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   SITEWIDE TRANSITION BANNER
   ============================================================ */

.ap-transition-banner {
    width: 100%;
    background: #e8f2f8;
    border-bottom: 1px solid #b5d4f0;
    box-sizing: border-box;
}

.ap-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 1.5rem;
}

.ap-banner-text {
    font-family: var(--font-sans);
    font-size: 14px;
    color: #0d3d52;
    line-height: 1.5;
    margin: 0;
}

.ap-banner-text em {
    font-style: italic;
}

.ap-banner-link {
    color: #185fa5;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 600;
}

.ap-banner-link:hover {
    text-decoration: underline;
}

.ap-banner-dismiss {
    background: none;
    border: none;
    cursor: pointer;
    color: #5f8fa8;
    font-size: 20px;
    line-height: 1;
    padding: 2px 4px;
    flex-shrink: 0;
    opacity: 0.7;
    transition: opacity 0.15s, color 0.15s;
}

.ap-banner-dismiss:hover {
    color: #0d3d52;
    opacity: 1;
}

@media (max-width: 600px) {
    .ap-banner-text {
        font-size: 13px;
    }
    .ap-banner-link {
        display: block;
        margin-top: 4px;
    }
}


/* ============================================================
   SITE SEARCH  (search.html / [ap_search])
   ============================================================ */

.ap-search {
    max-width: 720px;
    margin: 2rem auto;
    padding: 0 1.5rem 3rem;
}

/* ── Search form ─────────────────────────────────────────────── */

.ap-search-form-wrap {
    margin-bottom: 1.25rem;
}

.ap-search-form {
    display: flex;
    gap: 0;
}

.ap-search-input {
    flex: 1;
    font-family: var(--font-serif);
    font-size: 16px;
    padding: 0.75rem 1rem;
    border: 0.5px solid #c8e4f0;
    border-right: none;
    border-radius: 6px 0 0 6px;
    color: var(--site-text);
    background: #f7fbfd;
    outline: none;
    transition: border-color 0.15s, background 0.15s;
}

.ap-search-input:focus {
    border-color: var(--site-blue-primary);
    background: #ffffff;
}

.ap-search-input::placeholder {
    color: #aaaaaa;
    font-style: italic;
}

.ap-search-btn {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    background: var(--site-blue-primary);
    color: #ffffff;
    border: none;
    cursor: pointer;
    padding: 0.75rem 1.25rem;
    border-radius: 0 6px 6px 0;
    white-space: nowrap;
    transition: background 0.15s;
}

.ap-search-btn:hover {
    background: var(--site-navy-dark);
}

/* ── Scope note (empty state) ────────────────────────────────── */

.ap-search-scope {
    font-family: var(--font-sans);
    font-size: 13px;
    color: #888888;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.ap-search-scope strong {
    color: #555555;
    font-weight: 700;
}

/* ── Filter tabs ─────────────────────────────────────────────── */

.ap-search-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
    padding-bottom: 0.75rem;
}

.ap-search-tab {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    text-decoration: none;
    color: var(--site-blue-primary);
    border: 0.5px solid #c8e4f0;
    background: #ffffff;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.ap-search-tab:hover {
    background: #edf6fb;
    border-color: var(--site-blue-primary);
    text-decoration: none;
}

.ap-search-tab.active {
    background: var(--site-blue-primary);
    color: #ffffff;
    border-color: var(--site-blue-primary);
}

/* ── Results header ──────────────────────────────────────────── */

.ap-search-results-header {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    color: var(--site-blue-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 0.5px solid var(--journal-blue-tint);
}

/* ── Result entries ──────────────────────────────────────────── */

.ap-search-results {
    display: flex;
    flex-direction: column;
}

.ap-search-result {
    padding: 1.1rem 0;
    border-bottom: 0.5px solid #f0f0f0;
}

.ap-search-result:last-child {
    border-bottom: none;
}

/* Content-type badge */
.ap-result-type {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 4px;
}

.ap-result-type-journal    { color: var(--site-blue-primary); }
.ap-result-type-chronicle  { color: var(--chronicles-label); }
.ap-result-type-news       { color: #777777; }
.ap-result-type-page,
.ap-result-type-site       { color: #aaaaaa; }

/* Result title */
.ap-result-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.3rem;
}

.ap-result-title a {
    color: var(--site-navy-dark);
    text-decoration: none;
    border-bottom: 0.5px solid #b8d8e8;
}

.ap-result-title a:hover {
    color: var(--site-blue-primary);
    border-bottom-color: var(--site-blue-primary);
}

/* Meta line */
.ap-result-meta {
    font-family: var(--font-sans);
    font-size: 12px;
    color: #888888;
    margin: 0 0 0.4rem;
    line-height: 1.5;
}

/* Excerpt */
.ap-result-excerpt {
    font-family: var(--font-serif);
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    margin: 0;
}

.ap-result-excerpt mark {
    background: #fff3cd;
    color: #1a1a1a;
    padding: 0 1px;
    border-radius: 2px;
}

/* ── Empty / no-results state ────────────────────────────────── */

.ap-search-empty {
    font-family: var(--font-serif);
    font-size: 15px;
    color: #aaaaaa;
    font-style: italic;
    padding: 2rem 0;
    line-height: 1.7;
}

.ap-search-empty a {
    color: var(--site-blue-primary);
    text-decoration: none;
    font-style: normal;
}

.ap-search-empty a:hover {
    text-decoration: underline;
}

/* ── Pagination ──────────────────────────────────────────────── */

.ap-search-pagination {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 0.5px solid var(--journal-blue-tint);
}

.ap-search-pagination .page-numbers {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
}

.ap-search-pagination .page-numbers li {
    margin: 0;
    padding: 0;
}

.ap-search-pagination a.page-numbers,
.ap-search-pagination span.page-numbers {
    display: inline-block;
    padding: 5px 10px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--site-blue-primary);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 3px;
}

.ap-search-pagination a.page-numbers:hover {
    border-color: var(--site-blue-primary);
}

.ap-search-pagination .current {
    background: var(--site-blue-primary);
    color: #ffffff;
    border-radius: 3px;
    padding: 5px 10px;
    font-family: var(--font-sans);
    font-size: 13px;
}

/* ── Override .gaintro-body h2 uppercase/color on result titles ── */

.gaintro-body .ap-result-title,
.ap-result-title {
    text-transform: none;
    letter-spacing: normal;
    border-bottom: none;
    padding-bottom: 0;
    color: var(--site-navy-dark);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.3rem;
}

.gaintro-body .ap-result-title a,
.ap-result-title a {
    color: var(--site-navy-dark);
    text-decoration: none;
    border-bottom: 0.5px solid #b8d8e8;
}

.gaintro-body .ap-result-title a:hover,
.ap-result-title a:hover {
    color: var(--site-blue-primary);
    border-bottom-color: var(--site-blue-primary);
}

/* ── Article PDF button ──────────────────────────────────────── */

.article-pdf-row {
    margin-top: 1rem;
    padding-top: 0.875rem;
    border-top: 0.5px solid var(--site-rule-color, #dff0f7);
}

.article-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-sans, 'Nunito', sans-serif);
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--site-blue-primary, #2e86ab);
    border: none;
    border-radius: 5px;
    padding: 0.45rem 1rem;
    text-decoration: none;
    transition: background 0.15s;
}

.article-pdf-btn:hover {
    background: var(--site-navy-dark, #0d3d52);
    color: #fff;
}

.article-pdf-btn .pdf-icon {
    flex-shrink: 0;
}

/* ── Print button — Chronicles and journal articles ─────────── */
.article-print-row {
    margin-top: 0.75rem;
}
.print-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    color: #666;
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.3rem 0.7rem;
    text-decoration: none;
    transition: color 0.15s, border-color 0.15s;
    cursor: pointer;
}
.print-btn:hover {
    color: var(--site-navy-dark);
    border-color: var(--site-navy-dark);
    text-decoration: none;
}
.chron-print-btn {
    position: absolute;
    bottom: 1rem;
    right: 1.5rem;
}
.post-header {
    position: relative;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 600px) {
    .ap-search-form {
        flex-direction: column;
    }
    .ap-search-input {
        border-right: 0.5px solid #c8e4f0;
        border-radius: 6px 6px 0 0;
        border-bottom: none;
    }
    .ap-search-btn {
        border-radius: 0 0 6px 6px;
        text-align: center;
    }
}



/* ── Home hero: fix CSS variable fallback on dark background ── */
.home-hero-field-label { color: #6db8d4 !important; }
.home-hero-logo { filter: brightness(0) invert(1); }

/* ── GASC band: fix CSS variable fallback on dark background ── */
.gasc-tagline { color: #6db8d4; }
.conf-meta-item { color: #6db8d4; }
.conf-status-pill { background: transparent; border: 1px solid #fddc70; color: #fddc70; }

/* ── GASC page section wrapper ── */
body:has(.section-gasc) { background-color: #e8e8e8; }
body:has(.section-gasc) .wp-site-blocks { row-gap: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
body:has(.section-gasc) .wp-site-blocks > footer { margin-top: 0 !important; }

.section-gasc {
    background-color: #ffffff;
    max-width: 820px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 4rem !important;
}

.gasc-band {
    background: #0d3d52;
    padding: 2rem 2.5rem 1.75rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.gasc-tag {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: #fddc70;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    display: block;
    margin-bottom: 5px;
}

.gasc-title {
    font-family: var(--font-serif);
    font-size: 26px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    display: block;
}

.gasc-tagline {
    font-family: var(--font-sans);
    font-size: 13px;
    color: #6db8d4;
    display: block;
    margin-top: 6px;
}

.gasc-intro-strip {
    background: #f7fbfd;
    border-bottom: 0.5px solid #dff0f7;
    padding: 1.25rem 2.5rem;
    text-align: center;
}

.gasc-intro-strip p {
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.85;
    color: #2a2a2a;
    max-width: 680px;
    margin: 0 auto;
}

.gasc-intro-strip a { color: #2e86ab; }

.gasc-content { padding: 2rem 2.5rem 2.5rem; }

.gasc-section-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: #2e86ab;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding-bottom: 0.5rem;
    border-bottom: 0.5px solid #dff0f7;
    margin-bottom: 1.1rem;
    display: block;
}

.gasc-conf-card {
    border: 0.5px solid #c8dde8;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 2rem;
}

.gasc-conf-head {
    background: #0d3d52;
    padding: 1.25rem 1.5rem 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.conf-edition {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: #fddc70;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 5px;
}

.conf-name {
    font-family: var(--font-serif);
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 6px;
}

.conf-meta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

.conf-meta-dot {
    width: 3px; height: 3px;
    border-radius: 50%;
    background: rgba(109,184,212,0.4);
    display: inline-block;
}

.conf-status-pill {
    background: transparent;
    border: 1px solid #fddc70;
    color: #fddc70;
    border-radius: 20px;
    padding: 3px 10px;
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: flex-start;
}

.gasc-conf-body { padding: 1.25rem 1.5rem; }

.conf-theme-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    color: #2e86ab;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}

.conf-theme { font-family: var(--font-serif); font-size: 15px; font-style: italic; color: #0d3d52; line-height: 1.45; margin-bottom: 1rem; }

.conf-desc { font-family: var(--font-sans); font-size: 13.5px; color: #444; line-height: 1.7; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 0.5px solid #f0f0f0; }

.conf-links { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }

.conf-btn-primary {
    display: inline-block;
    background: #0d3d52;
    color: #fff;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    padding: 7px 18px;
    border-radius: 20px;
    text-decoration: none;
}

.conf-btn-primary:hover { background: #164f68; }
.conf-btn-secondary { font-family: var(--font-sans); font-size: 12px; font-weight: 700; color: #2e86ab; text-decoration: none; }

.gasc-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 0.5px solid #dff0f7; }

.gasc-info-card { background: #f7fbfd; border: 0.5px solid #dff0f7; border-radius: 6px; padding: 1rem 1.1rem; }

.gasc-info-heading { font-family: var(--font-sans); font-size: 11px; font-weight: 700; color: #1a6b8a; text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 6px; }

.gasc-info-text { font-family: var(--font-sans); font-size: 13px; color: #444; line-height: 1.7; }
.gasc-info-text a { color: #2e86ab; }

.gasc-archive-teaser { background: #f7fbfd; border: 0.5px solid #dff0f7; border-radius: 6px; padding: 1rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }

.archive-teaser-heading { font-family: var(--font-sans); font-size: 13px; font-weight: 700; color: #0d3d52; margin-bottom: 3px; }
.archive-teaser-sub { font-family: var(--font-sans); font-size: 12px; color: #888; line-height: 1.5; }


/* ============================================================
   PRINT STYLES — Chronicles posts
   Strips site chrome; preserves article content for clean output.
   Intended for browser Print / Save as PDF.
   ============================================================ */
@media print {

    /* ── Page setup ── */
    @page { margin: 0.9in 1in; }

    /* ── Hide everything that isn't article content ── */
    #wpadminbar,
    .anthro-nav,
    .wp-block-navigation,
    .pills-row,
    .band-subtitle,
    .post-nav,
    .post-last-updated,
    .chronicles-tags,
    .wp-site-blocks > footer { display: none !important; }

    /* ── Strip backgrounds / colors from layout shells ── */
    body,
    .wp-site-blocks,
    .section-chronicles { background: #fff !important; color: #000 !important; }

    /* Remove the content-column centering constraint so it uses full page width */
    .section-chronicles {
        max-width: 100% !important;
        margin: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Masthead band: keep the banner SVG, soften the border, drop padding */
    .ap-band {
        border-bottom: 0.5px solid #ccc !important;
        padding: 0.5rem 0 1rem !important;
        background: #fff !important;
    }

    /* Entry body: ensure black text, no background artefacts */
    .chronicles-entry-body,
    .chronicles-entry-body * { color: #000 !important; }

    /* Headings */
    .chronicles-entry-title,
    .chronicles-entry-body h2,
    .chronicles-entry-body h3 { color: #000 !important; }

    /* ── Bio box ── */
    .author-bio-block {
        border-color: #aaa !important;
        background: #fff !important;
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 1rem;
    }
    .author-bio-avatar {
        background: #ddd !important;
        border-color: #aaa !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .author-bio-name { color: #000 !important; }
    .author-affil,
    .author-email,
    .author-orcid,
    .author-bio-body { color: #333 !important; }

    /* ── Citation box ── */
    .chron-citation-box {
        border-color: #aaa !important;
        background: #fff !important;
        break-inside: avoid;
        page-break-inside: avoid;
        margin: 1rem 0 !important;
    }
    .chron-citation-box .citation-label { color: #555 !important; }
    .chron-citation-box .citation-text  { color: #000 !important; }
    .citation-copyright                  { color: #555 !important; }
    .citation-divider { border-top-color: #ccc !important; }

    /* Hide the Copy Citation button — no clipboard in print */
    .citation-copy-btn { display: none !important; }

    /* ── Links: don't append URLs — citation URL is already visible as text ── */
    a::after { content: none !important; }
    a { color: #000 !important; text-decoration: underline; }
    .chron-citation-box a { color: #000 !important; }

    /* ── Dialogue / notes / works cited ── */
    .chron-dialogue {
        background: #f8f8f8 !important;
        border-left-color: #aaa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ================================================================
       STATIC PAGE PRINT STYLES (Submissions, Editorial Policy, GA Intro, etc.)
       ================================================================ */

    .page-print-row { display: none !important; }

    .gaintro-body,
    .gaintro-body * { color: #000 !important; background: #fff !important; }

    .gaintro-body {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 11pt !important;
        line-height: 1.65 !important;
    }

    .gaintro-body h1,
    .gaintro-body h2,
    .gaintro-body h3 { color: #000 !important; break-after: avoid; page-break-after: avoid; }
    .gaintro-body p  { orphans: 3; widows: 3; }
    .gaintro-body a  { color: #000 !important; text-decoration: underline !important; }

    /* ================================================================
       JOURNAL ARTICLE PRINT STYLES
       ================================================================ */

    /* ── Hide UI chrome ── */
    .journal-breadcrumb,
    .journal-article-nav,
    .ap-band-journal,
    .article-pdf-row,
    .article-print-row,
    .badge-pdf,
    .badge-issn,
    .badge-open-access,
    .vol-badges { display: none !important; }

    /* ── Layout reset ── */
    body:has(.section-journal),
    .section-journal,
    .journal-article-header-inner,
    .journal-article-body { background: #fff !important; color: #000 !important; }

    .journal-article-header-inner {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 0 0.5rem !important;
        border-bottom: 0.5px solid #ccc !important;
    }

    .journal-article-body {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 11pt !important;
        line-height: 1.65 !important;
    }

    /* ── Vol/issue line ── */
    .article-volume {
        font-size: 10pt !important;
        color: #444 !important;
        font-style: italic;
    }

    /* ── Article title ── */
    .article-title {
        font-size: 18pt !important;
        color: #000 !important;
        margin: 0.4rem 0 0.6rem !important;
        line-height: 1.25 !important;
    }

    /* ── Authors ── */
    .article-authors-section { margin-bottom: 0.5rem !important; }
    .author-name  { font-size: 12pt !important; color: #000 !important; font-weight: 700 !important; }
    .author-affil { font-size: 10pt !important; color: #333 !important; }
    .author-email { font-size: 10pt !important; color: #000 !important; text-decoration: underline !important; }
    .author-orcid img { display: none !important; }
    .author-orcid { font-size: 9pt !important; color: #444 !important; }

    /* ── Abstract and keywords ── */
    .journal-abstract,
    .journal-keywords {
        background: #fff !important;
        border-color: #ccc !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .journal-abstract .abstract-label,
    .journal-keywords .keywords-label {
        color: #000 !important;
        font-size: 10pt !important;
    }
    .journal-abstract p,
    .journal-keywords .keyword-list { color: #000 !important; font-size: 10pt !important; }
    .keyword-tag {
        background: #fff !important;
        border-color: #999 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ── Body headings and text ── */
    .journal-article-body h2,
    .journal-article-body h3,
    .journal-article-body h4 { color: #000 !important; break-after: avoid; page-break-after: avoid; }
    .journal-article-body p  { orphans: 3; widows: 3; }

    /* ── Epigraph / block quote ── */
    .journal-article-body blockquote {
        border-left-color: #999 !important;
        color: #222 !important;
    }

    /* ── Links: show URL for external links, underline inline links ── */
    .journal-article-body a { color: #000 !important; text-decoration: underline !important; }
    .journal-article-body a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #555;
    }
    /* Suppress URL display for footnote back-links and anchors */
    .journal-article-body a[href^="#"]::after { content: none !important; }

    /* ── Footnotes ── */
    .journal-article-body .footnotes {
        border-top: 0.5px solid #ccc !important;
        font-size: 9.5pt !important;
        color: #000 !important;
        break-before: avoid;
    }
}

.archive-badge { font-family: var(--font-sans); font-size: 10px; font-weight: 700; color: #aaa; border: 0.5px solid #ddd; border-radius: 20px; padding: 3px 10px; white-space: nowrap; flex-shrink: 0; }


/* ============================================================
   MOBILE — header/footer full-width fix
   T25 parent theme overrides our alignfull rules below ~768px,
   causing the nav header and site footer to appear at ~50% width
   on phone viewports. These rules re-assert full width.
   ============================================================ */
@media (max-width: 767px) {
    /* Outer template-part wrapper */
    .wp-site-blocks > header,
    .wp-site-blocks > footer,
    header.wp-block-template-part,
    footer.wp-block-template-part {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Inner alignfull block group (the actual header/footer element) */
    header.wp-block-template-part > .wp-block-group,
    footer.wp-block-template-part > .wp-block-group,
    .wp-site-blocks > header > .wp-block-group,
    .wp-site-blocks > footer > .wp-block-group {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Announcement banner: wp_body_open injects this as a direct child of
       <body>, so it inherits the T25 root padding as its containing block.
       Switch to 100vw and offset by the left padding to span the full viewport. */
    .ap-transition-banner {
        width: 100vw !important;
        margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
        box-sizing: border-box !important;
    }
}
