/* ASE v1.4.3 optional branded category-archive presentation.
 * The active theme continues to own the archive template and query. */
body.ase-branded-archive {
    --ase-archive-shell-width: 1240px;
    --ase-archive-gutter: clamp(1rem, 3.6vw, 2.5rem);
    --ase-card-radius: 18px;
    --ase-shadow-soft: 0 10px 30px rgba(15, 28, 38, 0.055);
    color: var(--ase-ink, #263640);
    background: var(--ase-surface, #f4f6f7);
    font-family: var(--ase-font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.ase-branded-archive,
body.ase-branded-archive * {
    box-sizing: border-box;
}
body.ase-branded-archive :where(
    #content,
    .site-content,
    .content-area,
    .content-container,
    .site-grid,
    .wp-site-blocks > main
) {
    color: var(--ase-ink, #263640);
    background: var(--ase-surface, #f4f6f7);
}
body.ase-branded-archive :where(
    .site-content > .container,
    .site-content > .ast-container,
    .site-content > .content-container,
    .content-container,
    .site-grid,
    .wp-site-blocks > main
) {
    width: 100%;
    max-width: var(--ase-archive-shell-width);
    margin-inline: auto;
    padding: clamp(2rem, 5vw, 4.5rem) var(--ase-archive-gutter);
}
body.ase-branded-archive :where(
    .ast-archive-description,
    .page-header,
    .archive-header,
    .archive-description,
    .archive-title-wrapper,
    .wp-block-query-title
) {
    width: 100%;
    margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
    padding: clamp(1.7rem, 4vw, 3.2rem);
    border: 1px solid var(--ase-border, #ced8dd);
    border-radius: var(--ase-card-radius);
    color: var(--ase-ink, #263640);
    background: var(--ase-card, #fff);
    box-shadow: var(--ase-shadow-soft);
}
body.ase-branded-archive :where(
    .archive-title,
    .page-title,
    .ast-archive-title,
    .wp-block-query-title
) {
    max-width: 24ch;
    margin: 0;
    color: var(--ase-heading, #17242e);
    font-family: var(--ase-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    font-size: clamp(2.1rem, 4.5vw, 4.25rem);
    font-style: normal;
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 1.04;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
    text-wrap: balance;
}
body.ase-branded-archive :where(
    .ast-archive-description,
    .archive-description,
    .taxonomy-description,
    .term-description
) :where(p) {
    max-width: 72ch;
    margin: 0.85rem 0 0;
    color: var(--ase-muted, #52636e);
    font-size: clamp(1rem, 0.96rem + 0.18vw, 1.12rem);
    line-height: 1.7;
}
body.ase-branded-archive :where(
    article.post,
    article.type-post,
    .ast-article-post,
    .loop-entry,
    .wp-block-post
) {
    min-width: 0;
    overflow: hidden;
    color: var(--ase-ink, #263640);
    border: 1px solid var(--ase-border, #ced8dd);
    border-radius: var(--ase-card-radius);
    background: var(--ase-card, #fff);
    box-shadow: var(--ase-shadow-soft);
}
body.ase-branded-archive article.ase-branded-archive-entry {
    display: flex;
    flex-direction: column;
    height: 100%;
}
body.ase-branded-archive :where(
    .post-thumbnail,
    .entry-image,
    .post-image,
    .featured-image,
    .wp-block-post-featured-image
) {
    margin: 0;
    overflow: hidden;
    background: var(--ase-soft, #dce9ee);
}
body.ase-branded-archive :where(
    .post-thumbnail,
    .entry-image,
    .post-image,
    .featured-image,
    .wp-block-post-featured-image
) img,
body.ase-branded-archive img.wp-post-image {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
}
body.ase-branded-archive :where(
    article.post > .entry-header,
    article.post > .entry-content,
    article.post > .entry-summary,
    article.post > .entry-meta,
    .ast-article-post > .entry-header,
    .ast-article-post > .entry-content,
    .ast-article-post > .entry-summary,
    .inside-article > .entry-header,
    .inside-article > .entry-summary,
    .inside-article > .entry-content,
    .loop-entry > .entry-content,
    .wp-block-post > :not(.wp-block-post-featured-image)
) {
    padding-inline: clamp(1.2rem, 2.8vw, 2rem);
}
body.ase-branded-archive :where(
    article.post > .entry-header,
    .ast-article-post > .entry-header,
    .inside-article > .entry-header
) {
    padding-top: clamp(1.25rem, 3vw, 2rem);
}
body.ase-branded-archive :where(
    .entry-title,
    .post-title,
    .wp-block-post-title,
    h2.entry-title
) {
    margin: 0;
    color: var(--ase-heading, #17242e);
    font-family: var(--ase-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    font-size: clamp(1.35rem, 1.1rem + 0.75vw, 2rem);
    font-style: normal;
    font-weight: 750;
    letter-spacing: -0.025em;
    line-height: 1.16;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
    text-wrap: balance;
}
body.ase-branded-archive :where(.entry-title, .post-title, .wp-block-post-title) a {
    color: inherit;
    text-decoration: none;
}
body.ase-branded-archive :where(.entry-title, .post-title, .wp-block-post-title) a:hover,
body.ase-branded-archive :where(.entry-title, .post-title, .wp-block-post-title) a:focus-visible {
    color: var(--ase-link, #15536d);
}
body.ase-branded-archive :where(
    .entry-meta,
    .post-meta,
    .posted-on,
    .byline,
    .cat-links,
    .wp-block-post-date,
    .wp-block-post-author,
    .wp-block-post-terms
) {
    color: var(--ase-muted, #52636e);
    font-size: 0.84rem;
    font-weight: 650;
    line-height: 1.55;
}
body.ase-branded-archive :where(
    .entry-meta,
    .post-meta,
    .cat-links,
    .wp-block-post-terms
) a {
    color: var(--ase-link, #15536d);
}
body.ase-branded-archive :where(
    .entry-summary,
    .entry-content,
    .wp-block-post-excerpt
) {
    color: var(--ase-ink, #263640);
    font-size: 1rem;
    line-height: 1.68;
}
body.ase-branded-archive :where(
    .entry-summary,
    .entry-content,
    .wp-block-post-excerpt
) p:last-child {
    margin-bottom: 0;
}
body.ase-branded-archive :where(
    article.post > .entry-content,
    article.post > .entry-summary,
    .ast-article-post > .entry-content,
    .ast-article-post > .entry-summary,
    .inside-article > .entry-content,
    .inside-article > .entry-summary
) {
    padding-bottom: clamp(1.35rem, 3vw, 2rem);
}
body.ase-branded-archive :where(.read-more, .more-link, .wp-block-post-excerpt__more-link) {
    color: var(--ase-link, #15536d);
    font-weight: 700;
    text-underline-offset: 0.18em;
}
body.ase-branded-archive :where(
    .navigation.pagination,
    .pagination,
    .nav-links,
    .wp-block-query-pagination
) {
    margin-top: clamp(1.75rem, 4vw, 3rem);
}
body.ase-branded-archive :where(
    .page-numbers,
    .wp-block-query-pagination a,
    .wp-block-query-pagination span
) {
    display: inline-flex;
    min-width: 2.6rem;
    min-height: 2.6rem;
    align-items: center;
    justify-content: center;
    margin: 0.2rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--ase-border, #ced8dd);
    border-radius: 999px;
    color: var(--ase-link, #15536d);
    background: var(--ase-card, #fff);
}
body.ase-branded-archive :where(.page-numbers.current, .wp-block-query-pagination .current) {
    color: var(--ase-accent-contrast, #fff);
    border-color: var(--ase-accent, #1f627c);
    background: var(--ase-accent, #1f627c);
}
body.ase-branded-archive :where(
    #secondary,
    .widget-area,
    .sidebar,
    aside[role="complementary"]
) :where(.widget, .widget_block) {
    margin-bottom: 1.25rem;
    padding: clamp(1.15rem, 2.5vw, 1.7rem);
    border: 1px solid var(--ase-border, #ced8dd);
    border-radius: var(--ase-card-radius);
    color: var(--ase-ink, #263640);
    background: var(--ase-card, #fff);
    box-shadow: var(--ase-shadow-soft);
}
body.ase-branded-archive :where(a):focus-visible {
    outline: 3px solid var(--ase-accent, #1f627c);
    outline-offset: 3px;
}
@media (max-width: 782px) {
    body.ase-branded-archive :where(
        .site-content > .container,
        .site-content > .ast-container,
        .site-content > .content-container,
        .content-container,
        .site-grid,
        .wp-site-blocks > main
    ) {
        padding-block: 1.5rem 3rem;
    }
    body.ase-branded-archive :where(
        .ast-archive-description,
        .page-header,
        .archive-header,
        .archive-description,
        .archive-title-wrapper,
        .wp-block-query-title
    ) {
        padding: 1.35rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.ase-branded-archive *,
    body.ase-branded-archive *::before,
    body.ase-branded-archive *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* The no-sidebar choice mirrors ASE's focused article presentation while the
 * active theme continues to own the archive query and markup. */
body.ase-branded-archive--no-sidebar :where(
    .site-content > #secondary,
    .site-content > .widget-area,
    #primary + #secondary,
    .content-area + .sidebar,
    .content-area + .widget-area,
    .site-main + .sidebar,
    .site-main + .widget-area,
    .ast-container > #secondary,
    .content-container > aside.primary-sidebar,
    .site-grid > aside[role="complementary"]
) {
    display: none !important;
}
body.ase-branded-archive--no-sidebar :where(
    .site-content > .container,
    .site-content > .ast-container,
    .content-container,
    .site-grid
) {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
}
body.ase-branded-archive--no-sidebar :where(
    #primary,
    .content-area,
    .site-main,
    .site-content .content-area.primary
) {
    width: 100% !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    float: none !important;
    flex-basis: auto !important;
}
