/* ============================================================
 * FNC Newsletter — front-end styles
 * Newsletter: narrow, email-like. Article: wider, report-like.
 * ============================================================ */

:root {
    --fnc-primary: #1F5E3A;
    --fnc-primary-dark: #14422A;
    --fnc-accent: #C8A87C;
    --fnc-accent-light: #E5DFD1;
    --fnc-dark: #18281E;
    --fnc-body: #2A2A2A;
    --fnc-muted: #6a6a6a;
    --fnc-bg: #F6F2E9;
    --fnc-card: #FFFFFF;
}

/* ---------- Newsletter single (narrow / email-like) ---------- */

body.single-newsletter {
    background-color: var(--fnc-bg);
}

body.single-newsletter .wp-block-post-content,
body.single-newsletter .entry-content {
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 1rem;
    line-height: 1.78;
    color: var(--fnc-body);
    background: var(--fnc-card);
    padding: 3rem 2.5rem 3.25rem;
    border-radius: 6px;
    box-shadow: 0 2px 32px rgba(24, 40, 30, 0.06);
    margin-top: 2rem;
    margin-bottom: 3rem;
    box-sizing: border-box;
}

body.single-newsletter h1.entry-title,
body.single-newsletter .wp-block-post-title {
    max-width: 640px;
    margin: 2rem auto 0;
    padding: 0 2.5rem;
    font-size: 1.55rem;
    line-height: 1.45;
    color: var(--fnc-dark);
    text-align: center;
    font-weight: 700;
    box-sizing: border-box;
}

body.single-newsletter .wp-post-image,
body.single-newsletter .wp-block-post-featured-image {
    max-width: 640px;
    margin: 0 auto;
    display: block;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
}

body.single-newsletter .wp-block-post-content > p:first-of-type,
body.single-newsletter .entry-content > p:first-of-type {
    font-size: 1.0625rem;
    color: var(--fnc-dark);
    line-height: 1.75;
    margin-top: 0;
}

body.single-newsletter h2 {
    color: var(--fnc-primary);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 2.5rem 0 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--fnc-accent);
    letter-spacing: -0.01em;
}

body.single-newsletter h3 {
    color: var(--fnc-dark);
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0.5rem 0 0.75rem;
    line-height: 1.45;
    letter-spacing: -0.01em;
}

body.single-newsletter h3 a {
    color: var(--fnc-dark);
    text-decoration: none;
}

body.single-newsletter h3 a:hover {
    color: var(--fnc-primary);
}

body.single-newsletter .fnc-card {
    background: transparent;
    padding: 1.5rem 0 1.25rem;
    border-top: 1px solid var(--fnc-accent-light);
    margin: 0;
}

body.single-newsletter .fnc-card:first-of-type {
    border-top: none;
    padding-top: 0;
}

body.single-newsletter .fnc-card .fnc-card-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--fnc-primary);
    margin: 0 0 0.5rem;
    text-transform: uppercase;
}

body.single-newsletter .fnc-card .fnc-card-more {
    margin-top: 0.75rem;
    text-align: right;
    font-size: 0.95rem;
}

body.single-newsletter .fnc-card .fnc-card-more a {
    color: var(--fnc-primary);
    text-decoration: none;
    font-weight: 600;
}

body.single-newsletter .fnc-card .fnc-card-more a:hover {
    text-decoration: underline;
}

body.single-newsletter .fnc-cta {
    margin-top: 2rem;
    padding: 1.75rem 1.5rem 1.5rem;
    background: var(--fnc-bg);
    border-radius: 6px;
    text-align: center;
}

body.single-newsletter .fnc-cta h3 {
    margin: 0 0 1rem;
    color: var(--fnc-primary);
    text-align: center;
}

body.single-newsletter .fnc-cta .wp-block-buttons {
    gap: 0.5rem;
    justify-content: center;
}

body.single-newsletter .wp-block-button__link {
    background-color: var(--fnc-primary);
    color: #fff;
    border-radius: 4px;
    padding: 0.6rem 1.1rem;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

body.single-newsletter .wp-block-button__link:hover {
    background-color: var(--fnc-primary-dark);
}

body.single-newsletter a {
    color: var(--fnc-primary);
}

body.single-newsletter .wp-block-separator {
    border: none;
    border-top: 1px solid var(--fnc-accent-light);
    margin: 2rem auto;
    max-width: 100%;
}

/* ---------- Article single (wider / report-feeling) ---------- */

body.single-post .wp-block-post-content,
body.single-post .entry-content,
body.single .type-post .wp-block-post-content {
    max-width: 740px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 1.0625rem;
    line-height: 1.85;
    color: var(--fnc-body);
}

body.single-post .wp-block-post-title,
body.single-post h1.entry-title {
    max-width: 740px;
    margin: 2rem auto 0.75rem;
    font-size: 2rem;
    line-height: 1.35;
    color: var(--fnc-dark);
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.single-post h2 {
    color: var(--fnc-primary);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 2.75rem 0 1.1rem;
    line-height: 1.4;
    letter-spacing: -0.015em;
}

body.single-post h3 {
    color: var(--fnc-dark);
    font-size: 1.2rem;
    font-weight: 700;
    margin: 2rem 0 0.9rem;
    line-height: 1.45;
    letter-spacing: -0.01em;
}

body.single-post p {
    margin: 0 0 1.1rem;
}

body.single-post strong {
    color: var(--fnc-primary);
    font-weight: 700;
}

body.single-post blockquote,
body.single-post .wp-block-quote {
    border-left: 3px solid var(--fnc-accent);
    padding: 0.5rem 0 0.5rem 1.25rem;
    margin: 1.5rem 0;
    color: var(--fnc-dark);
    font-style: normal;
}

body.single-post .wp-block-image {
    margin: 2.25rem 0;
}

body.single-post .wp-block-image img {
    border-radius: 4px;
    width: 100%;
    height: auto;
}

body.single-post figcaption,
body.single-post figcaption.wp-element-caption {
    color: var(--fnc-muted);
    font-size: 0.9rem;
    line-height: 1.55;
    margin-top: 0.9rem;
    padding-left: 0.85rem;
    border-left: 3px solid var(--fnc-accent);
    text-align: left;
    font-style: normal;
}

body.single-post .wp-block-table,
body.single-post table {
    margin: 2rem 0;
    border-collapse: collapse;
    font-size: 0.95rem;
    width: 100%;
}

body.single-post .wp-block-table th,
body.single-post .wp-block-table td {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid var(--fnc-accent-light);
    text-align: left;
}

body.single-post .wp-block-table thead th {
    background: var(--fnc-bg);
    color: var(--fnc-primary);
    font-weight: 700;
    border-bottom: 2px solid var(--fnc-accent);
}

body.single-post ul,
body.single-post ol {
    margin: 1rem 0 1.25rem 1.25rem;
    padding-left: 0.75rem;
}

body.single-post ul li,
body.single-post ol li {
    margin-bottom: 0.4rem;
    line-height: 1.75;
}

body.single-post .wp-block-separator {
    border: none;
    border-top: 1px solid var(--fnc-accent-light);
    margin: 2.5rem auto;
}

body.single-post a {
    color: var(--fnc-primary);
    text-decoration: underline;
    text-decoration-color: var(--fnc-accent);
    text-underline-offset: 3px;
}

body.single-post a:hover {
    text-decoration-color: var(--fnc-primary);
}

/* ---------- Mobile ---------- */

@media (max-width: 720px) {
    body.single-newsletter .wp-block-post-content,
    body.single-newsletter .entry-content {
        padding: 2rem 1.5rem 2.25rem;
        margin-top: 1rem;
    }

    body.single-newsletter h1.entry-title,
    body.single-newsletter .wp-block-post-title {
        padding: 0 1.25rem;
        font-size: 1.35rem;
    }

    body.single-post .wp-block-post-title,
    body.single-post h1.entry-title {
        font-size: 1.55rem;
        padding: 0 1rem;
    }

    body.single-post h2 {
        font-size: 1.3rem;
    }

    body.single-post h3 {
        font-size: 1.1rem;
    }
}
