/* Shared layout; edit these variables in Additional CSS to tune the proportions. */
body .wp-site-blocks .phoenix-content-layout {
    --phoenix-sidebar-width: 310px;
    --phoenix-layout-gap: clamp(20px, 3vw, 44px);
    --phoenix-sticky-top: 16px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--phoenix-layout-gap);
    width: calc(100% - 32px);
    max-width: var(--wp--style--global--wide-size, 1340px);
    margin: clamp(24px, 4vw, 60px) auto;
    align-items: start;
}
body .phoenix-content-layout > main.phoenix-layout__main {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding-inline: 0;
}
/* Keep full/wide blocks inside the main column, without clipping modal overlays. */
body .phoenix-layout__main .alignfull,
body .phoenix-layout__main .alignwide {
    max-width: 100%;
    width: 100%;
    margin-inline: 0;
    box-sizing: border-box;
}
body .phoenix-layout__main > .wp-block-group,
body .phoenix-layout__main > .wp-block-query { max-width: 100%; }
body .phoenix-content-layout .phoenix-layout__sidebar {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 20px;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 18%, transparent);
    border-radius: 16px;
    color: var(--wp--preset--color--contrast, #202020);
    background: var(--wp--preset--color--base, #fff);
}
.phoenix-latest__heading { font-size: 1.15rem; line-height: 1.3; margin: 0 0 16px; }
.phoenix-latest__list { list-style: none; padding: 0; margin: 0; }
.phoenix-latest__list > li { margin: 0; padding: 0; }
.phoenix-latest__list > li + li { margin-top: 12px; }
.phoenix-latest__link {
    display: grid;
    gap: 12px;
    align-items: center;
    padding: 10px;
    color: inherit;
    text-decoration: none;
    border-radius: 10px;
    background: color-mix(in srgb, currentColor 5%, transparent);
}
.phoenix-latest__link.has-thumbnail { grid-template-columns: 72px minmax(0, 1fr); }
.phoenix-latest__link:hover { background: color-mix(in srgb, currentColor 11%, transparent); }
.phoenix-latest__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.phoenix-latest__image { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }
.phoenix-latest__text { min-width: 0; }
.phoenix-latest__title { display: block; font-size: .95rem; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.phoenix-latest__date { display: block; margin-top: 6px; font-size: .75rem; opacity: .75; }
.phoenix-latest__empty { font-size: .95rem; line-height: 1.5; margin: 0; }
@media (min-width: 799px) {
    body .wp-site-blocks .phoenix-content-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, var(--phoenix-sidebar-width)); }
    body.admin-bar .phoenix-content-layout { --phoenix-sticky-top: 48px; }
    body .phoenix-content-layout .phoenix-layout__sidebar {
        position: sticky;
        top: var(--phoenix-sticky-top);
        max-height: calc(100vh - var(--phoenix-sticky-top) - 16px);
        max-height: calc(100dvh - var(--phoenix-sticky-top) - 16px);
        overflow-y: auto;
        scrollbar-gutter: stable;
    }
}
@media (max-width: 798px) {
    body .phoenix-content-layout .phoenix-layout__sidebar { position: static; max-height: none; overflow: visible; }
}
/* Archive cards adapt to available column space. Do not alter magazine spans. */
body .phoenix-layout__main .wp-block-post-template.is-layout-grid:not(.phoenix2026-magazine-post-template) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.phoenix-layout__main .phoenix2026-magazine-query { container-type: inline-size; }
@container (max-width: 650px) {
    body .phoenix-layout__main .phoenix2026-magazine-post-template { grid-template-columns: minmax(0, 1fr); }
    body .phoenix-layout__main .phoenix2026-magazine-post-template > li:nth-child(n) { grid-column: 1 / -1; grid-row: auto; }
}
