/* Theme styles are shared by the frontend and editor canvas. */
:where(.editor-styles-wrapper, .wp-site-blocks) { overflow-wrap: break-word; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(a, button, input, summary):focus-visible { outline: 3px solid #122b49; outline-offset: 4px; }
:where(.wp-site-blocks, .editor-styles-wrapper) img { max-inline-size: 100%; block-size: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
.af-main { padding-block: var(--wp--preset--spacing--60); }
.af-landing { margin-block: 0; }
.af-section { padding-block: clamp(48px, 6vw, 96px); }
.af-hero { padding-block: clamp(64px, 9vw, 150px); background: #e0f1fb; }
.af-hero h1 { white-space: pre-line; }

.af-interior-hero, .af-impact { background: var(--wp--preset--color--soft-gray); }
.af-impact .wp-block-column h2 { color: var(--wp--preset--color--primary-blue); }
.af-donation { background: var(--wp--preset--color--deep-navy); color: white; }
.is-style-af-card { padding: var(--wp--preset--spacing--50); border: 1px solid #d2dde4; border-block-start: 4px solid var(--wp--preset--color--primary-blue); height: 100%; box-sizing: border-box; }
.is-style-af-eyebrow { color: var(--wp--preset--color--primary-blue); font-size: .875rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.af-skip-link { position: absolute; inset-block-start: 8px; inset-inline-start: 8px; transform: translateY(-200%); background: #fff; color: #122b49; padding: 12px 20px; z-index: 100000; }
.af-skip-link:focus { transform: none; }
.af-post-navigation { justify-content: space-between; }
@media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; } }

/* Single posts share a responsive 1160px reading canvas. */
.af-single-post { width:calc(100% - 48px); max-width:1160px; margin-inline:auto; box-sizing:border-box; }
.af-single-post > .wp-block-post-content { min-width:0; }
@media(max-width:767px) { .af-single-post { width:calc(100% - 36px); } }
/* Keep the requested title size rather than WordPress's generated fluid clamp. */
.af-single-post > .wp-block-post-title { font-size:35px !important; }
/* The outer single-post canvas already supplies gutters; avoid a second global inset. */
.af-single-post > .wp-block-post-content.has-global-padding {
 padding-inline:0;
 --wp--style--root--padding-left:0px;
 --wp--style--root--padding-right:0px;
}
.af-single-post > .wp-block-post-content > .wp-caption { max-width:100%; box-sizing:border-box; }

/* Category archive: one responsive list, aligned with the single-post canvas. */
.af-category-archive { width:calc(100% - 48px); max-width:1160px; margin-inline:auto; box-sizing:border-box; }
.af-category-archive > .wp-block-query-title { color:#081e46; font-size:35px; line-height:1.19; font-weight:700; margin:0 0 32px; }
.af-category-archive > .wp-block-query { margin:0; }
.af-category-archive .wp-block-post-template { margin:0; padding:0; list-style:none; }
.af-category-archive .wp-block-post-template > li { margin:0; padding:28px 0; border-bottom:1px solid #ccdae5; }
.af-category-archive .wp-block-post-template > li:first-child { padding-top:0; }
.af-category-archive .wp-block-post-template > li:last-child { border-bottom:0; }
.af-category-archive .wp-block-post-title { font-size:25px; line-height:1.25; font-weight:700; margin:0 0 10px; }
.af-category-archive .wp-block-post-title a { color:#006cab; text-decoration:none; }
.af-category-archive .wp-block-post-title a:hover { text-decoration:underline; }
.af-category-archive .wp-block-post-excerpt { margin:0; color:#5b6472; font-size:18px; line-height:1.5; }
.af-category-archive .wp-block-post-excerpt p { margin:0; }
.af-category-archive .wp-block-query-pagination { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:12px; margin:28px 0 0; }
.af-category-archive .wp-block-query-pagination > * { margin:0; }
.af-category-archive .wp-block-query-pagination-numbers { display:flex; flex-wrap:wrap; gap:12px; }
.af-category-archive .wp-block-query-pagination :is(a,span.page-numbers) { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #cadbe8; border-radius:3px; color:#006cab; text-decoration:none; font-size:16px; line-height:1.4; }
.af-category-archive .wp-block-query-pagination .current { background:#006cab; color:#fff; border-color:#006cab; }
.af-category-archive .wp-block-query-pagination :is(.wp-block-query-pagination-previous,.wp-block-query-pagination-next,.dots) { border-color:transparent; }
.af-category-archive .wp-block-query-pagination a:hover { text-decoration:underline; }
@media(max-width:767px) {
 .af-category-archive { width:calc(100% - 36px); }
 .af-category-archive > .wp-block-query-title { font-size:30px; margin-bottom:28px; }
 .af-category-archive .wp-block-post-title { font-size:22px; }
 .af-category-archive .wp-block-post-excerpt { font-size:17px; }
 .af-category-archive .wp-block-post-template > li { padding-block:24px; }
}
