/**
 * ASE Branded Article Style
 *
 * This stylesheet is intentionally scoped to ordinary single-post requests.
 * It does not replace theme templates or rewrite post content.
 */
body.single-post {
    overflow-x: hidden;
    overflow-x: clip;
    color: var(--ase-article-ink, #263640);
    background: var(--ase-article-background, #f4f6f7);
    font-family: var(--ase-article-font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
}

body.single-post #page,
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post #primary,
body.single-post .site-main,
body.single-post .wp-site-blocks,
body.single-post .wp-site-blocks > main {
    background-color: transparent;
}

body.single-post .site-content,
body.single-post .wp-site-blocks > main {
    padding-top: clamp(2rem, 4.5vw, 4.5rem);
    padding-bottom: clamp(2.5rem, 5vw, 5rem);
}

body.single-post .site-content > .container,
body.single-post .site-content > .ast-container,
body.single-post .content-container,
body.single-post .site-grid {
    gap: clamp(1.5rem, 3vw, 2.5rem);
}

body.single-post article.type-post,
body.single-post .wp-site-blocks > main .wp-block-post-content {
    min-width: 0;
    color: var(--ase-article-ink, #263640);
    border: 1px solid var(--ase-article-border, #ced8dd);
    border-radius: var(--ase-article-radius, 18px);
    background: var(--ase-article-surface, #fff);
    box-shadow: var(--ase-article-shadow, 0 18px 50px rgba(15, 28, 38, 0.08));
}

body.single-post article.type-post {
    overflow: hidden;
    padding: clamp(1.35rem, 3.4vw, 3rem);
}

body.single-post .wp-site-blocks > main .wp-block-post-content {
    width: min(100% - 2rem, 820px);
    margin-right: auto;
    margin-left: auto;
    padding: clamp(1.35rem, 3.4vw, 3rem);
}

body.single-post article.type-post > :first-child,
body.single-post .wp-site-blocks > main .wp-block-post-content > :first-child {
    margin-top: 0;
}

body.single-post article.type-post > :last-child,
body.single-post .wp-site-blocks > main .wp-block-post-content > :last-child {
    margin-bottom: 0;
}

body.single-post .entry-header,
body.single-post .entry-content,
body.single-post .entry-footer,
body.single-post .post-content,
body.single-post .single-content {
    min-width: 0;
}

body.single-post .entry-header {
    margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

body.single-post .entry-content,
body.single-post .post-content,
body.single-post .single-content,
body.single-post .wp-block-post-content {
    font-size: clamp(1rem, 0.98rem + 0.12vw, 1.075rem);
    line-height: 1.78;
}

body.single-post .entry-title,
body.single-post .wp-block-post-title,
body.single-post article.type-post h1,
body.single-post article.type-post h2,
body.single-post article.type-post h3,
body.single-post article.type-post h4,
body.single-post article.type-post h5,
body.single-post article.type-post h6,
body.single-post .wp-block-post-content h2,
body.single-post .wp-block-post-content h3,
body.single-post .wp-block-post-content h4,
body.single-post .wp-block-post-content h5,
body.single-post .wp-block-post-content h6 {
    max-width: 100%;
    color: var(--ase-article-heading, #17242e);
    font-family: var(--ase-article-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    font-weight: 750;
    line-height: 1.13;
    letter-spacing: -0.025em;
    overflow-wrap: normal;
    word-break: normal;
    -webkit-hyphens: none;
    hyphens: none;
    text-wrap: pretty;
}

body.single-post .entry-title,
body.single-post .wp-block-post-title,
body.single-post article.type-post h1 {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: clamp(2rem, 1.55rem + 2.05vw, 3.75rem);
}

body.single-post article.type-post h2,
body.single-post .wp-block-post-content h2 {
    margin-top: clamp(2rem, 4vw, 3.25rem);
    margin-bottom: 0.8rem;
    font-size: clamp(1.55rem, 1.3rem + 1vw, 2.35rem);
}

body.single-post article.type-post h3,
body.single-post .wp-block-post-content h3 {
    margin-top: clamp(1.7rem, 3vw, 2.5rem);
    margin-bottom: 0.65rem;
    font-size: clamp(1.3rem, 1.16rem + 0.55vw, 1.75rem);
}

body.single-post article.type-post h4,
body.single-post .wp-block-post-content h4 {
    margin-top: 1.6rem;
    margin-bottom: 0.55rem;
    font-size: clamp(1.12rem, 1.04rem + 0.3vw, 1.35rem);
}

body.single-post .entry-meta,
body.single-post .post-meta,
body.single-post .posted-on,
body.single-post .byline,
body.single-post .wp-block-post-date,
body.single-post .wp-block-post-author,
body.single-post .wp-block-post-terms {
    color: var(--ase-article-muted, #52636e);
    font-size: 0.9rem;
    line-height: 1.55;
}

body.single-post .entry-meta a,
body.single-post .post-meta a,
body.single-post .posted-on a,
body.single-post .byline a,
body.single-post .wp-block-post-date a,
body.single-post .wp-block-post-author a,
body.single-post .wp-block-post-terms a {
    color: var(--ase-article-link, #15536d);
}

body.single-post .entry-content a,
body.single-post .post-content a,
body.single-post .single-content a,
body.single-post .wp-block-post-content a,
body.single-post .entry-footer a,
body.single-post .post-navigation a {
    color: var(--ase-article-link, #15536d);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.17em;
}

body.single-post .entry-content a:hover,
body.single-post .entry-content a:focus-visible,
body.single-post .post-content a:hover,
body.single-post .post-content a:focus-visible,
body.single-post .single-content a:hover,
body.single-post .single-content a:focus-visible,
body.single-post .wp-block-post-content a:hover,
body.single-post .wp-block-post-content a:focus-visible {
    color: var(--ase-article-accent, #1f627c);
}

body.single-post .post-thumbnail,
body.single-post .entry-media,
body.single-post .featured-image,
body.single-post .wp-block-post-featured-image {
    margin-bottom: clamp(1.25rem, 2.8vw, 2.25rem);
    overflow: hidden;
    border-radius: calc(var(--ase-article-radius, 18px) * 0.82);
    background: var(--ase-article-soft, #dce9ee);
}

body.single-post .post-thumbnail img,
body.single-post .entry-media img,
body.single-post .featured-image img,
body.single-post .wp-block-post-featured-image img,
body.single-post article.type-post > img.wp-post-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(62vh, 620px);
    object-fit: cover;
    border-radius: calc(var(--ase-article-radius, 18px) * 0.82);
}

body.single-post .entry-content p,
body.single-post .post-content p,
body.single-post .single-content p,
body.single-post .wp-block-post-content p,
body.single-post .entry-content ul,
body.single-post .entry-content ol,
body.single-post .wp-block-post-content ul,
body.single-post .wp-block-post-content ol {
    margin-top: 0;
    margin-bottom: 1.25em;
}

body.single-post .entry-content li + li,
body.single-post .post-content li + li,
body.single-post .single-content li + li,
body.single-post .wp-block-post-content li + li {
    margin-top: 0.42em;
}

body.single-post blockquote,
body.single-post .wp-block-quote,
body.single-post .wp-block-pullquote {
    margin: clamp(1.5rem, 3vw, 2.5rem) 0;
    padding: clamp(1.1rem, 2.5vw, 1.75rem);
    border: 0;
    border-left: 4px solid var(--ase-article-accent, #1f627c);
    border-radius: 0 calc(var(--ase-article-radius, 18px) * 0.7) calc(var(--ase-article-radius, 18px) * 0.7) 0;
    color: var(--ase-article-heading, #17242e);
    background: var(--ase-article-soft, #dce9ee);
}

body.single-post details,
body.single-post .toc,
body.single-post [class*="table-of-contents"],
body.single-post .instant-answer,
body.single-post [class*="instant-answer"],
body.single-post .quick-answer,
body.single-post [class*="answer-box"] {
    margin: clamp(1.25rem, 2.7vw, 2rem) 0;
    padding: clamp(1rem, 2.2vw, 1.5rem);
    border: 1px solid var(--ase-article-border, #ced8dd);
    border-radius: calc(var(--ase-article-radius, 18px) * 0.75);
    color: var(--ase-article-ink, #263640);
    background: var(--ase-article-soft, #dce9ee);
    background: color-mix(in srgb, var(--ase-article-soft, #dce9ee) 58%, var(--ase-article-surface, #fff));
}

body.single-post details > summary {
    color: var(--ase-article-heading, #17242e);
    font-family: var(--ase-article-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    font-weight: 700;
    cursor: pointer;
}

body.single-post table,
body.single-post .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    border-color: var(--ase-article-border, #ced8dd);
}

body.single-post th,
body.single-post td {
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--ase-article-border, #ced8dd);
    text-align: left;
    vertical-align: top;
}

body.single-post th {
    color: var(--ase-article-heading, #17242e);
    background: var(--ase-article-soft, #dce9ee);
}

body.single-post pre,
body.single-post code,
body.single-post .wp-block-code {
    border-color: var(--ase-article-border, #ced8dd);
    border-radius: calc(var(--ase-article-radius, 18px) * 0.55);
}

body.single-post pre,
body.single-post .wp-block-code {
    padding: 1rem;
    overflow: auto;
    background: var(--ase-article-heading, #17242e);
    background: color-mix(in srgb, var(--ase-article-heading, #17242e) 95%, #000);
    color: #fff;
}

body.single-post figcaption,
body.single-post .wp-element-caption,
body.single-post .wp-caption-text {
    color: var(--ase-article-muted, #52636e);
    font-size: 0.88rem;
    line-height: 1.55;
}

body.single-post hr,
body.single-post .wp-block-separator {
    border-color: var(--ase-article-border, #ced8dd);
    color: var(--ase-article-border, #ced8dd);
}

body.single-post .entry-footer {
    margin-top: clamp(1.75rem, 3.5vw, 3rem);
    padding-top: 1.2rem;
    border-top: 1px solid var(--ase-article-border, #ced8dd);
    color: var(--ase-article-muted, #52636e);
}

body.single-post .post-navigation,
body.single-post .comments-area {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    padding: clamp(1.2rem, 2.8vw, 2rem);
    border: 1px solid var(--ase-article-border, #ced8dd);
    border-radius: var(--ase-article-radius, 18px);
    background: var(--ase-article-surface, #fff);
    box-shadow: var(--ase-article-shadow, 0 18px 50px rgba(15, 28, 38, 0.08));
}

body.single-post .site-content > #secondary .widget,
body.single-post .site-content > .widget-area .widget,
body.single-post #primary + #secondary .widget,
body.single-post .content-area + .sidebar .widget,
body.single-post .content-area + .widget-area .widget,
body.single-post .site-main + .sidebar .widget,
body.single-post .site-main + .widget-area .widget,
body.single-post .ast-container > #secondary .widget,
body.single-post .content-container > aside.primary-sidebar .widget,
body.single-post .site-grid > aside .widget {
    margin-bottom: 1.25rem;
    padding: clamp(1.1rem, 2.2vw, 1.6rem);
    border: 1px solid var(--ase-article-border, #ced8dd);
    border-radius: var(--ase-article-radius, 18px);
    color: var(--ase-article-ink, #263640);
    background: var(--ase-article-surface, #fff);
    box-shadow: var(--ase-article-shadow, 0 18px 50px rgba(15, 28, 38, 0.08));
}

body.single-post .site-content > #secondary .widget-title,
body.single-post .site-content > .widget-area .widget-title,
body.single-post #primary + #secondary .widget-title,
body.single-post .content-area + .sidebar .widget-title,
body.single-post .content-area + .widget-area .widget-title,
body.single-post .site-main + .sidebar .widget-title,
body.single-post .site-main + .widget-area .widget-title,
body.single-post .ast-container > #secondary .widget-title,
body.single-post .content-container > aside.primary-sidebar .widget-title,
body.single-post .site-grid > aside .widget-title {
    margin-top: 0;
    color: var(--ase-article-heading, #17242e);
    font-family: var(--ase-article-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    line-height: 1.2;
}

body.single-post :focus-visible {
    outline: 3px solid var(--ase-article-accent, #1f627c);
    outline: 3px solid color-mix(in srgb, var(--ase-article-accent, #1f627c) 64%, #fff);
    outline-offset: 3px;
}

@media (max-width: 782px) {
    body.single-post .site-content,
    body.single-post .wp-site-blocks > main {
        padding-top: 1.25rem;
        padding-bottom: 2.5rem;
    }

    body.single-post article.type-post,
    body.single-post .wp-site-blocks > main .wp-block-post-content {
        border-radius: calc(var(--ase-article-radius, 18px) * 0.78);
    }

    body.single-post article.type-post {
        padding: clamp(1.05rem, 5vw, 1.6rem);
    }

    body.single-post .wp-site-blocks > main .wp-block-post-content {
        width: calc(100% - 1.25rem);
        padding: clamp(1.05rem, 5vw, 1.6rem);
    }

    body.single-post .entry-title,
    body.single-post .wp-block-post-title,
    body.single-post article.type-post h1 {
        font-size: clamp(1.85rem, 9vw, 2.75rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.single-post *,
    body.single-post *::before,
    body.single-post *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
