/* ============================================================================
   meraki. JOURNAL & ARTICLE STYLING
   Editorial-quality layout for the journal index (home.php) + single posts.
   Loaded only on is_home() (journal index) + is_singular('post').
   ============================================================================ */

/* ---------- Editorial title typography ---------- */
.meraki-article > header h1,
.meraki-feature-post h2,
.meraki-feature-post h2 a,
section.py-xl > .max-w-\[1200px\] > header > h1,
body.blog section h1,
body.home.blog section h1,
body.single-post article header h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    letter-spacing: -0.012em;
}

/* Journal index card titles in serif */
body.blog article.group h2,
body.blog article.group h2 a {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.005em;
}

/* "Editorial" eyebrow + uppercase meta lines */
body.blog .text-brass:not(a),
body.single-post .text-brass:not(a) {
    color: #8a7e6a;
}

/* ---------- Article body typography ---------- */
.meraki-article-body .prose-meraki > p {
    font-size: 17px;
    line-height: 1.75;
    color: #4a4a4a;
    margin: 0 0 1.4em;
}

.meraki-article-body .prose-meraki > p:first-of-type {
    font-size: 20px;
    line-height: 1.55;
    color: #1a1a1a;
}

.meraki-article-body .prose-meraki h2 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(26px, 3.2vw, 34px);
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: #1a1a1a;
    margin: 2.2em 0 0.6em;
}

.meraki-article-body .prose-meraki h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 500;
    color: #1a1a1a;
    margin: 1.8em 0 0.5em;
}

.meraki-article-body .prose-meraki h4 {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
    color: #1a1a1a;
    margin: 1.6em 0 0.5em;
}

.meraki-article-body .prose-meraki strong {
    font-weight: 600;
    color: #1a1a1a;
}

.meraki-article-body .prose-meraki em {
    font-style: italic;
}

.meraki-article-body .prose-meraki ul,
.meraki-article-body .prose-meraki ol {
    margin: 0 0 1.4em;
    padding-left: 28px;
}

.meraki-article-body .prose-meraki ul {
    list-style: disc;
}

.meraki-article-body .prose-meraki ol {
    list-style: decimal;
}

.meraki-article-body .prose-meraki li {
    font-size: 17px;
    line-height: 1.7;
    color: #4a4a4a;
    margin-bottom: 0.5em;
}

.meraki-article-body .prose-meraki li > p {
    margin: 0;
}

.meraki-article-body .prose-meraki blockquote {
    border-left: 2px solid #c9a85a;
    padding: 4px 0 4px 28px;
    margin: 2em 0;
    font-style: italic;
    color: #555;
    font-size: 19px;
    line-height: 1.6;
}

.meraki-article-body .prose-meraki blockquote p {
    margin: 0 0 0.6em;
}

.meraki-article-body .prose-meraki blockquote p:last-child {
    margin-bottom: 0;
}

.meraki-article-body .prose-meraki a {
    color: #8a7e6a;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.meraki-article-body .prose-meraki a:hover {
    color: #6e6451;
}

/* In-content images */
.meraki-article-body .prose-meraki img {
    display: block;
    width: 100%;
    height: auto;
    margin: 2em auto;
    border-radius: 2px;
}

.meraki-article-body .prose-meraki figure {
    margin: 2em 0;
}

.meraki-article-body .prose-meraki figure img {
    margin: 0;
}

.meraki-article-body .prose-meraki figcaption {
    text-align: center;
    font-size: 13px;
    color: #888;
    font-style: italic;
    margin-top: 8px;
}

.meraki-article-body .prose-meraki hr {
    margin: 3em 0;
    border: 0;
    border-top: 1px solid #e5e0d8;
}

/* WordPress alignment classes */
.meraki-article-body .prose-meraki .aligncenter,
.meraki-article-body .prose-meraki .alignnone {
    display: block;
    margin: 2em auto;
}

.meraki-article-body .prose-meraki .alignleft {
    float: left;
    margin: 8px 24px 16px 0;
    max-width: 50%;
}

.meraki-article-body .prose-meraki .alignright {
    float: right;
    margin: 8px 0 16px 24px;
    max-width: 50%;
}

.meraki-article-body .prose-meraki .wp-caption {
    max-width: 100%;
    margin: 2em auto;
}

.meraki-article-body .prose-meraki .wp-caption-text {
    text-align: center;
    font-size: 13px;
    color: #888;
    font-style: italic;
    margin-top: 8px;
}

/* ---------- Featured image: ensure it shows full ---------- */
.meraki-article-feature img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    background-color: #faf8f4;
}

/* ---------- Mobile tweaks ---------- */
@media (max-width: 640px) {
    .meraki-article-body .prose-meraki > p {
        font-size: 16px;
    }
    .meraki-article-body .prose-meraki > p:first-of-type {
        font-size: 18px;
    }
    .meraki-article-body .prose-meraki li {
        font-size: 16px;
    }
    .meraki-article-body .prose-meraki img {
        margin: 1.4em auto;
    }
}

/* ---------- Journal listing card refinements ---------- */
.meraki-feature-post img {
    display: block;
    width: 100%;
    height: auto;
}

/* Ensure card images don't get clipped to forced aspect ratios — let them breathe */
.entry-summary-card img,
article.group > a > img {
    display: block;
    width: 100%;
    height: auto;
}

/* Pagination */
.meraki-article-body + .pagination,
section .pagination {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.page-numbers {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #e5e0d8;
    color: #555;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s;
}

.page-numbers:hover,
.page-numbers.current {
    background: #1a1a1a;
    color: #fff;
    border-color: #1a1a1a;
}

.page-numbers.dots {
    border: 0;
    background: transparent;
}
