/*
 * TNP AI typographic article support.
 * Scoped to generated article blocks only so it can live safely inside the TNP theme.
 */
.tnp-ai-typographic-article {
    --tnp-ai-reader-ink: #111820;
    --tnp-ai-reader-deep: #07142f;
    --tnp-ai-reader-muted: #435066;
    --tnp-ai-reader-soft: #f6f1e8;
    --tnp-ai-reader-soft-2: #fbf8f2;
    --tnp-ai-reader-line: #d8cfbf;
    --tnp-ai-reader-accent: #0b6b57;
    --tnp-ai-reader-dropcap: #111820;
    box-sizing: border-box;
    width: min(100%, 72ch);
    max-width: 72ch;
    margin-inline: auto;
    color: var(--tnp-ai-reader-ink);
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
    overflow-wrap: break-word;
}

.tnp-ai-typographic-article *,
.tnp-ai-typographic-article *::before,
.tnp-ai-typographic-article *::after {
    box-sizing: border-box;
}

.tnp-ai-typographic-article p {
    max-width: 68ch;
}

.tnp-ai-typographic-article .tnp-ai-body-paragraph {
    font-size: clamp(18px, 1.08vw, 20px);
    line-height: 1.72;
    margin-top: 0;
    margin-bottom: 1.18em;
    letter-spacing: -0.004em;
    color: var(--tnp-ai-reader-ink);
}

.tnp-ai-typographic-article .tnp-ai-body-paragraph + .tnp-ai-body-paragraph {
    text-indent: 1.2em;
}

.tnp-ai-typographic-article .tnp-ai-lede {
    position: relative;
    font-size: clamp(20px, 1.32vw, 23px);
    line-height: 1.58;
    color: #172033;
    text-indent: 0 !important;
    margin-bottom: 1.36em;
    padding-bottom: 1.02em;
    border-bottom: 1px solid var(--tnp-ai-reader-line);
}

.tnp-ai-typographic-article .tnp-ai-lede::first-letter {
    float: left;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(4.1rem, 7.2vw, 5.65rem);
    line-height: 0.78;
    padding: 0.09em 0.14em 0 0;
    color: var(--tnp-ai-reader-dropcap);
    font-weight: 700;
    letter-spacing: -0.05em;
}

.tnp-ai-typographic-article strong {
    font-weight: 780;
    color: var(--tnp-ai-reader-deep);
}

.tnp-ai-typographic-article em {
    font-style: italic;
    color: #273449;
}

.tnp-ai-typographic-article .tnp-ai-pullquote {
    width: min(100%, 64ch);
    margin: clamp(2rem, 4vw, 3.3rem) auto;
    padding: clamp(1.25rem, 2.4vw, 1.9rem) clamp(1.15rem, 3vw, 2rem);
    border: 0;
    border-left: 3px solid var(--tnp-ai-reader-accent);
    background: linear-gradient(90deg, rgba(11,107,87,0.08), rgba(11,107,87,0.025));
}

.tnp-ai-typographic-article .tnp-ai-pullquote blockquote,
.tnp-ai-typographic-article .tnp-ai-pullquote p {
    margin: 0;
}

.tnp-ai-typographic-article .tnp-ai-pullquote p {
    max-width: 58ch;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(23px, 2vw, 32px);
    line-height: 1.23;
    font-style: italic;
    letter-spacing: -0.018em;
    color: #111820;
    text-align: left;
}

.tnp-ai-typographic-article .tnp-ai-blockquote {
    width: min(100%, 66ch);
    margin: 1.8rem auto;
    padding: 1rem 1.25rem;
    border-left: 3px solid var(--tnp-ai-reader-line);
    background: var(--tnp-ai-reader-soft-2);
    color: var(--tnp-ai-reader-muted);
}

.tnp-ai-typographic-article .tnp-ai-blockquote p {
    margin: 0;
    font-size: clamp(17px, 1vw, 18px);
    line-height: 1.66;
}

.tnp-ai-typographic-article .tnp-ai-separator {
    width: 68px;
    height: 1px;
    margin: clamp(2rem, 4vw, 3rem) 0;
    border: 0;
    border-top: 1px solid var(--tnp-ai-reader-line);
}

/* Public post safety: generated articles should not become billboard-wide on large monitors. */
.single-post .tnp-ai-typographic-article,
.post-template-default .tnp-ai-typographic-article {
    max-width: min(100%, 72ch);
}

@media (max-width: 900px) {
    .tnp-ai-typographic-article {
        width: min(100%, 68ch);
        max-width: 68ch;
    }

    .tnp-ai-typographic-article .tnp-ai-body-paragraph {
        font-size: clamp(17.5px, 2.2vw, 19px);
        line-height: 1.68;
        margin-bottom: 1.12em;
    }
}

@media (max-width: 720px) {
    .tnp-ai-typographic-article {
        width: 100%;
        max-width: 100%;
        padding-inline: clamp(16px, 4.5vw, 22px);
    }

    .tnp-ai-typographic-article .tnp-ai-body-paragraph {
        font-size: clamp(17px, 4.6vw, 18.5px);
        line-height: 1.66;
        letter-spacing: 0;
    }

    .tnp-ai-typographic-article .tnp-ai-body-paragraph + .tnp-ai-body-paragraph {
        text-indent: 0;
        margin-top: 1.04em;
    }

    .tnp-ai-typographic-article .tnp-ai-lede {
        font-size: clamp(18.5px, 5vw, 21px);
        line-height: 1.55;
        margin-bottom: 1.15em;
        padding-bottom: 0.95em;
    }

    .tnp-ai-typographic-article .tnp-ai-lede::first-letter {
        float: left;
        font-size: clamp(3.15rem, 17vw, 4rem);
        line-height: 0.82;
        padding: 0.08em 0.12em 0 0;
        color: var(--tnp-ai-reader-dropcap);
        font-family: Georgia, "Times New Roman", Times, serif;
    }

    .tnp-ai-typographic-article .tnp-ai-pullquote {
        width: 100%;
        margin: 1.8rem 0;
        padding: 1rem 1rem 1rem 1.05rem;
        border-left-width: 3px;
        background: rgba(11,107,87,0.06);
    }

    .tnp-ai-typographic-article .tnp-ai-pullquote p {
        font-size: clamp(21px, 6vw, 25px);
        line-height: 1.25;
    }

    .tnp-ai-typographic-article .tnp-ai-blockquote {
        width: 100%;
        margin: 1.35rem 0;
        padding: 0.95rem 1rem;
    }

    .tnp-ai-typographic-article .tnp-ai-separator {
        margin: 1.8rem 0;
    }
}

@media (max-width: 420px) {
    .tnp-ai-typographic-article {
        padding-inline: 14px;
    }

    .tnp-ai-typographic-article .tnp-ai-lede::first-letter {
        font-size: 3rem;
        padding-right: 0.1em;
    }

    .tnp-ai-typographic-article .tnp-ai-pullquote p {
        font-size: 20px;
    }
}


/* Permanent paragraph path: thin left lines from light blue to dark blue. */
.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph {
    position: relative;
    padding-left: clamp(14px, 1.15vw, 19px);
}

.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.46em;
    bottom: 0.46em;
    width: 2px;
    border-radius: 999px;
    background: var(--tnp-paragraph-progress-color, #b9dcff);
    opacity: 0.86;
}

.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-lede {
    padding-left: clamp(14px, 1.15vw, 19px);
}

@media (max-width: 720px) {
    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph {
        padding-left: clamp(13px, 3.4vw, 17px);
    }

    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph + .tnp-ai-body-paragraph {
        text-indent: 0.92em;
        margin-top: 1.04em;
    }

    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph::before {
        width: 2px;
        top: 0.42em;
        bottom: 0.42em;
        opacity: 0.9;
    }

    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-lede {
        padding-left: clamp(13px, 3.4vw, 17px);
        text-indent: 0 !important;
    }
}

/* v2.7.0: literary opening rules, permanent paragraph rails, mobile indentation, and Spreaker audio embed. */
.tnp-ai-podcast-embed{
    box-sizing:border-box;
    width:min(100%,68ch);
    margin:0 auto clamp(1.8rem,3vw,2.8rem);
    padding:clamp(1rem,2.2vw,1.4rem);
    border:1px solid var(--tnp-ai-reader-line,#d8cfbf);
    border-radius:18px;
    background:rgba(255,253,248,.72);
    box-shadow:0 14px 34px rgba(15,23,42,.055);
}
.tnp-ai-podcast-eyebrow{
    margin-bottom:.35rem;
    color:#0b6b57;
    font-size:12px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.tnp-ai-podcast-title{
    margin-bottom:.85rem;
    font-family:Georgia,"Times New Roman",Times,serif;
    color:#111820;
    font-size:clamp(21px,2vw,28px);
    line-height:1.12;
    font-weight:800;
    letter-spacing:-.025em;
}
.tnp-ai-podcast-frame iframe{display:block;width:100%;max-width:100%;border:0;border-radius:12px;background:#fff;}
.tnp-ai-typographic-article .tnp-ai-body-paragraph:not(.tnp-ai-lede){text-indent:1.25em;}
.tnp-ai-typographic-article .tnp-ai-body-paragraph + .tnp-ai-body-paragraph{text-indent:1.25em;}
.tnp-ai-typographic-article .tnp-ai-lede{
    margin-top:clamp(1.1rem,2.4vw,1.8rem);
    padding-top:clamp(1.25rem,2.2vw,1.75rem);
    padding-bottom:clamp(1rem,1.7vw,1.3rem);
    border-top:1px solid var(--tnp-ai-reader-line);
    border-bottom:1px solid var(--tnp-ai-reader-line);
}
.tnp-ai-typographic-article .tnp-ai-separator{display:none!important;}
.tnp-ai-typographic-article .tnp-ai-body-paragraph em{font-style:normal;color:inherit;}
.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph::before{width:1px!important;opacity:.95!important;}
.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph{padding-left:clamp(13px,1vw,17px)!important;}
.tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-lede{padding-left:clamp(13px,1vw,17px)!important;}
@media(max-width:720px){
    .tnp-ai-podcast-embed{width:calc(100% - 28px);margin:0 auto 1.6rem;padding:1rem;border-radius:16px;}
    .tnp-ai-podcast-title{font-size:21px;}
    .tnp-ai-typographic-article .tnp-ai-body-paragraph:not(.tnp-ai-lede){text-indent:1em!important;}
    .tnp-ai-typographic-article .tnp-ai-body-paragraph + .tnp-ai-body-paragraph{text-indent:1em!important;}
    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph{padding-left:15px!important;}
    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-lede{padding-left:15px!important;}
    .tnp-ai-typographic-article[data-tnp-reading-track="true"] .tnp-ai-body-paragraph::before{width:1px!important;}
}

/* v2.8.0: podcast section aligned under the hero image and simplified audio card. */
.tnp-ai-audio-divider{
    display:block;
    height:1px;
    border:0;
    background:var(--tnp-ai-reader-line,#d8cfbf);
    width:min(1220px,calc(100vw - 72px));
    max-width:none;
    margin:clamp(1.8rem,3.4vw,2.6rem) 0 clamp(1.2rem,2.2vw,1.7rem);
    position:relative;
    left:50%;
    transform:translateX(-50%);
    opacity:.95;
}
.tnp-ai-podcast-embed{
    width:100%;
    max-width:68ch;
    margin:0 0 clamp(2rem,3vw,2.8rem);
    padding:clamp(1rem,2.1vw,1.35rem);
    border-radius:20px;
    background:rgba(255,253,248,.80);
}
.tnp-ai-podcast-title{display:none!important;}
.tnp-ai-podcast-eyebrow{
    margin:0 0 .85rem;
    color:#0b6b57;
    font-size:12px;
    line-height:1.2;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.tnp-ai-podcast-frame iframe{
    display:block;
    width:100%!important;
    max-width:100%!important;
    border-radius:12px;
}
@media(max-width:900px){
    .tnp-ai-audio-divider{
        width:calc(100vw - 36px);
        margin-top:1.55rem;
        margin-bottom:1rem;
    }
    .tnp-ai-podcast-embed{
        width:100%;
        max-width:100%;
        margin-bottom:1.8rem;
        border-radius:18px;
    }
}
@media(max-width:720px){
    .tnp-ai-audio-divider{
        width:calc(100vw - 28px);
        margin-top:1.35rem;
        margin-bottom:1rem;
    }
    .tnp-ai-podcast-embed{
        width:calc(100% - 28px);
        margin-inline:auto;
        padding:1rem;
    }
}

/* v2.9.0: audio-first article opening. The Spreaker box now sits immediately below the hero image, then the WordPress excerpt, then the article body. */
.tnp-ai-audio-section{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin:0 0 clamp(1.5rem,2.8vw,2.25rem);
}
.tnp-ai-audio-section .tnp-ai-audio-divider{
    display:block;
    height:1px;
    border:0;
    background:var(--tnp-ai-reader-line,#d8cfbf);
    width:min(1220px,calc(100vw - 72px));
    max-width:none;
    margin:0 0 clamp(1.35rem,2.3vw,1.9rem);
    position:relative;
    left:50%;
    transform:translateX(-50%);
    opacity:.95;
}
.tnp-ai-audio-section .tnp-ai-podcast-embed{
    width:100%;
    max-width:68ch;
    margin:0 0 clamp(1.35rem,2.5vw,1.9rem);
    padding:clamp(1rem,2.1vw,1.35rem);
    border:1px solid var(--tnp-ai-reader-line,#d8cfbf);
    border-radius:20px;
    background:rgba(255,253,248,.80);
    box-shadow:0 14px 34px rgba(15,23,42,.055);
}
.tnp-ai-inline-excerpt{
    box-sizing:border-box;
    width:min(100%,68ch);
    max-width:68ch;
    margin:0 0 clamp(1.65rem,3vw,2.35rem);
    font-size:clamp(19px,1.32vw,22px);
    line-height:1.52;
    letter-spacing:-0.006em;
    color:#253449;
}
.tnp-ai-inline-excerpt:empty{display:none!important;}
body.tnp-ai-audio-excerpt-inline .tnp-ai-typographic-article{
    margin-top:0;
}
@media(max-width:900px){
    .tnp-ai-audio-section .tnp-ai-audio-divider{
        width:calc(100vw - 36px);
        margin-bottom:1rem;
    }
    .tnp-ai-inline-excerpt{
        font-size:clamp(18px,2.8vw,20px);
        line-height:1.52;
    }
}
@media(max-width:720px){
    .tnp-ai-audio-section{
        margin-bottom:1.35rem;
    }
    .tnp-ai-audio-section .tnp-ai-audio-divider{
        width:calc(100vw - 28px);
        margin-bottom:1rem;
    }
    .tnp-ai-audio-section .tnp-ai-podcast-embed{
        width:calc(100% - 28px);
        max-width:none;
        margin-inline:auto;
        margin-bottom:1.25rem;
        padding:1rem;
        border-radius:18px;
    }
    .tnp-ai-inline-excerpt{
        width:calc(100% - 28px);
        max-width:none;
        margin-inline:auto;
        margin-bottom:1.55rem;
        font-size:clamp(18px,5vw,20px);
    }
}

/* Hide the theme's original single-post excerpt only for generated posts that place the excerpt after the audio player. */
body.tnp-ai-audio-excerpt-inline .wp-block-post-excerpt,
body.tnp-ai-audio-excerpt-inline .wp-block-post-excerpt__excerpt,
body.tnp-ai-audio-excerpt-inline .entry-summary,
body.tnp-ai-audio-excerpt-inline .tnp-single-excerpt,
body.tnp-ai-audio-excerpt-inline .tnp-article-excerpt,
body.tnp-ai-audio-excerpt-inline .tnp-news-excerpt,
body.tnp-ai-audio-excerpt-inline .tnp-post-excerpt{
    display:none!important;
}
body.tnp-ai-audio-excerpt-inline .tnp-ai-inline-excerpt{
    display:block!important;
}

/* v3.2.0: one clean divider below the featured image and aligned audio/sidebar cards. */
body.tnp-ai-audio-excerpt-inline .tnp-single-article-lead{
    display:none!important;
}
body.tnp-ai-audio-excerpt-inline .wp-block-post-content{
    margin-block-start:0!important;
}
body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top{
    position:relative!important;
    padding-top:clamp(2rem,3.2vw,2.65rem)!important;
    margin-top:0!important;
}
body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:var(--wp--preset--color--divider,var(--tnp-ai-reader-line,#d8cfbf));
    opacity:.95;
    pointer-events:none;
}
body.tnp-ai-audio-excerpt-inline .tnp-ai-audio-section{
    margin-top:0!important;
    margin-bottom:clamp(1.45rem,2.5vw,2.05rem)!important;
}
body.tnp-ai-audio-excerpt-inline .tnp-ai-audio-section .tnp-ai-audio-divider{
    display:none!important;
}
body.tnp-ai-audio-excerpt-inline .tnp-ai-audio-section .tnp-ai-podcast-embed{
    margin-top:0!important;
    margin-bottom:0!important;
}
body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top > .wp-block-column{
    margin-top:0!important;
}
body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top > .wp-block-column > .wp-block-group:first-child{
    margin-top:0!important;
}
@media(max-width:781px){
    body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top{
        padding-top:1.55rem!important;
    }
    body.tnp-ai-audio-excerpt-inline .wp-block-columns.alignwide.are-vertically-aligned-top::before{
        left:0;
        right:0;
    }
}
