/* Single blog post template. Scoped to .aframe-post. */

.aframe-post {
	--af-navy: #2D2E50;
	--af-navy-ink: #1B1C33;
	--af-accent: #FF7A06;
	--af-accent-text: #C25700;
	--af-accent-soft: #FFE3CC;
	--af-accent-wash: #FFF4EA;
	--af-ink: #2B2C3F;
	--af-muted: #55576B;
	--af-line: #E5E5E5;
	--af-surface: #F4F5F8;
	--af-display: 'Gordita', 'Helvetica Neue', Arial, sans-serif;
	color: var(--af-ink);
}
.aframe-post { padding-top: var(--af-header-h, 96px); }
.aframe-post *, .aframe-post *::before, .aframe-post *::after { box-sizing: border-box; }
.aframe-post a { color: var(--af-navy); }
.aframe-post a:hover { color: var(--af-accent-text); }
.af-wrap { width: 100%; max-width: 1248px; margin: 0 auto; padding: 0 24px; }
.af-eyebrow { margin: 0 0 12px; font-family: var(--af-display); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--af-navy); }

/* Buttons */
.af-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border-radius: var(--af-radius, 0); font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none; border: 1px solid transparent; }
.aframe-post .af-btn--accent { background: var(--af-accent); color: var(--af-navy-ink); }
.aframe-post .af-btn--accent:hover { background: #FF8F2E; color: var(--af-navy-ink); }
.aframe-post .af-btn--ghost { color: #fff; border-color: #8A8CB0; }
.aframe-post .af-btn--ghost:hover { color: #fff; border-color: #fff; }
.af-btn--block { width: 100%; }

/* Reading progress */
.af-progress { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 10000; pointer-events: none; }
.af-progress span { display: block; height: 100%; width: 100%; background: var(--af-accent, #FF7A06); background-color: #FF7A06; transform: scaleX(0); transform-origin: 0 50%; }

/* Header */
.af-post-header { background: var(--af-surface); padding: 40px 0 168px; }
.af-post-header .af-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.af-breadcrumbs { font-size: 14px; color: var(--af-muted); }
.af-breadcrumbs ol, .af-breadcrumbs p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.af-breadcrumbs li + li::before { content: '›'; margin-right: 6px; color: #8A8C9E; }
.af-breadcrumbs a { color: var(--af-muted); }
.af-breadcrumbs [aria-current], .af-breadcrumbs .last { color: var(--af-navy); font-weight: 600; }
.af-breadcrumbs .separator { color: #8A8C9E; }
.aframe-post .af-pill { margin-top: 8px; padding: 7px 14px; border-radius: var(--af-radius, 0); background: var(--af-accent-soft); color: var(--af-navy); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.aframe-post .af-post-title { margin: 0; max-width: 980px; font-family: var(--af-display); font-weight: 700; font-size: clamp(31px, 2.2vw + 22px, 54px); line-height: 1.14; letter-spacing: -.02em; color: var(--af-navy); }
.af-post-intro { margin: 0; max-width: 820px; font-size: clamp(17px, .4vw + 15px, 21px); line-height: 1.55; color: #45475C; }
.af-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 6px; font-size: 15px; color: var(--af-muted); }
.af-byline__author { display: flex; align-items: center; gap: 12px; }
.af-byline__author > div { display: flex; flex-direction: column; gap: 2px; }
.aframe-post .af-byline__name { font-weight: 700; text-decoration: none; }
.af-byline__role { font-size: 14px; }
.af-byline__meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0 0 0 24px; list-style: none; border-left: 1px solid #D4D6DE; }
.af-avatar { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; object-fit: cover; background: var(--af-navy); color: #fff; font-family: var(--af-display); font-weight: 700; font-size: 15px; }
.af-author .af-avatar--initials { font-size: 24px; }

/* Featured image */
.af-hero-image { margin-top: -136px; }
.af-hero-image figure { margin: 0; aspect-ratio: 2 / 1; overflow: hidden; border-radius: var(--af-radius, 0); background: var(--af-navy); box-shadow: 0 24px 48px rgba(45, 46, 80, .18); }
.af-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Three-column layout */
.af-layout { display: grid; grid-template-columns: 220px minmax(0, 660px) 224px; justify-content: space-between; gap: 48px; padding-top: 64px; padding-bottom: 96px; }
.af-layout--no-toc .af-toc--sidebar { display: none; }
.af-layout__toc, .af-layout__rail { position: relative; }
.af-layout__toc > *, .af-sticky { position: sticky; top: calc(var(--af-header-h, 96px) + 16px); }
.af-layout__toc { display: flex; flex-direction: column; gap: 28px; }
.af-layout__toc > .af-share { position: static; }
.af-layout__main { min-width: 0; display: flex; flex-direction: column; gap: 32px; }

/* TOC */
.af-toc ol { margin: 0; padding: 0; list-style: none; }
.af-toc--sidebar ol { border-left: 2px solid var(--af-line); }
.af-toc--sidebar a { display: block; margin-left: -2px; padding: 8px 0 8px 16px; border-left: 2px solid transparent; color: var(--af-muted); font-size: 15px; line-height: 1.4; text-decoration: none; }
.af-toc--sidebar a:hover { color: var(--af-navy); }
.af-toc--sidebar a.is-active { border-left: 4px solid var(--af-accent); padding-left: 14px; color: var(--af-navy); font-weight: 700; }
.af-toc--mobile { display: none; border: 1px solid #D4D6DE; border-radius: var(--af-radius, 0); }
.af-toc--mobile summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 18px; cursor: pointer; font-family: var(--af-display); font-weight: 700; font-size: 15px; color: var(--af-navy); list-style: none; }
.af-toc--mobile summary::-webkit-details-marker { display: none; }
.af-toc--mobile summary::after { content: ''; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.af-toc--mobile[open] summary::after { transform: rotate(-135deg); }
.af-toc--mobile ol { padding: 0 18px 12px; }
.af-toc--mobile a { display: block; padding: 10px 0; border-top: 1px solid var(--af-line); font-size: 15px; text-decoration: none; }

/* Share */
.af-share__buttons { display: flex; gap: 8px; }
.af-share__buttons a, .af-share__buttons button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #D4D6DE; border-radius: var(--af-radius, 0); background: #fff; color: var(--af-navy); cursor: pointer; }
.af-share__buttons a:hover, .af-share__buttons button:hover { border-color: var(--af-navy); }
.af-share__buttons button.is-copied { border-color: var(--af-accent-text); color: var(--af-accent-text); }

/* Key takeaways */
.af-takeaways { padding: 28px 32px; border-radius: var(--af-radius, 0); background: var(--af-surface); }
.aframe-post .af-takeaways__title { margin: 0 0 14px; font-family: var(--af-display); font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--af-navy); }
.af-takeaways ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 17px; line-height: 1.55; }
.af-takeaways li { position: relative; padding-left: 32px; background: none; }
.af-takeaways li::before { content: ''; position: absolute; left: 3px; top: 6px; width: 12px; height: 7px; border-left: 2.5px solid var(--af-accent-text); border-bottom: 2.5px solid var(--af-accent-text); transform: rotate(-45deg); }

/* Article body */
.af-content { font-size: 18px; line-height: 1.75; }
.af-content > * { margin-top: 0; margin-bottom: 24px; }
.af-content > *:last-child { margin-bottom: 0; }
.af-content h2 { margin: 48px 0 20px; font-family: var(--af-display); font-weight: 700; font-size: clamp(25px, 1vw + 18px, 32px); line-height: 1.25; letter-spacing: -.015em; color: var(--af-navy); scroll-margin-top: calc(var(--af-header-h, 96px) + 16px); }
.af-content h3 { margin: 32px 0 12px; font-family: var(--af-display); font-weight: 700; font-size: clamp(20px, .4vw + 17px, 22px); line-height: 1.3; color: var(--af-navy); scroll-margin-top: calc(var(--af-header-h, 96px) + 16px); }
.af-content h4 { margin: 24px 0 8px; font-family: var(--af-display); font-size: 18px; color: var(--af-navy); }
.af-content h2 strong, .af-content h3 strong { font-weight: inherit; }
.af-content a { text-decoration: underline; text-decoration-color: var(--af-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.af-content ul, .af-content ol { padding-left: 0; }
.af-content ul { list-style: none; }
.af-content ul > li { position: relative; margin-bottom: 10px; padding-left: 24px; background: none; }
.af-content ul > li::before { content: ''; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--af-accent); }
.af-content ol { padding-left: 1.4em; }
.af-content ol > li { margin-bottom: 10px; padding-left: 4px; }
.af-content ol > li::marker { color: var(--af-accent-text); font-weight: 700; }
.af-content img { max-width: 100%; height: auto; border-radius: var(--af-radius, 0); }
.af-content figure { margin-left: 0; margin-right: 0; }
.af-content figcaption { margin-top: 8px; font-size: 14px; color: var(--af-muted); }
.af-content iframe[src*="youtube"], .af-content iframe[src*="vimeo"], .af-content iframe[src*="loom"] { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--af-radius, 0); }
.af-content blockquote { margin-left: 0; padding: 20px 24px; border-radius: var(--af-radius, 0); background: var(--af-accent-wash); font-size: 17px; }
.af-content blockquote > *:last-child { margin-bottom: 0; }
.af-content table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.af-content .wp-block-table, .af-content .af-table-scroll { overflow-x: auto; border: 1px solid var(--af-line); border-radius: var(--af-radius, 0); }
.af-content th { background: var(--af-surface); font-family: var(--af-display); font-size: 14px; color: var(--af-navy); text-align: left; }
.af-content th, .af-content td { padding: 14px 20px; border-top: 1px solid var(--af-line); }
.af-content tr:first-child > * { border-top: 0; }

/* Inline CTA */
.af-inline-cta { display: flex; align-items: center; gap: 28px; margin: 40px 0; padding: 32px; border-radius: var(--af-radius, 0); background: var(--af-navy); }
.af-inline-cta > div { flex: 1; }
.af-inline-cta__title { margin: 0 0 6px; font-family: var(--af-display); font-size: 22px; font-weight: 700; line-height: 1.3; color: #fff; }
.af-inline-cta__text { margin: 0; font-size: 16px; line-height: 1.5; color: #D6D7E4; }
.af-inline-cta .af-btn { flex-shrink: 0; text-decoration: none; }

/* FAQ */
.aframe-post .af-faq h2 { margin: 16px 0 16px; font-family: var(--af-display); font-weight: 700; font-size: clamp(25px, 1vw + 18px, 32px); color: var(--af-navy); scroll-margin-top: calc(var(--af-header-h, 96px) + 16px); }
.af-faq { scroll-margin-top: calc(var(--af-header-h, 96px) + 16px); }
.af-faq__list { border: 1px solid var(--af-line); border-radius: var(--af-radius, 0); }
.af-faq__item + .af-faq__item { border-top: 1px solid var(--af-line); }
.af-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; cursor: pointer; font-family: var(--af-display); font-weight: 700; font-size: 18px; line-height: 1.4; color: var(--af-navy); list-style: none; }
.af-faq__item summary::-webkit-details-marker { display: none; }
.af-faq__item summary::after { content: '+'; flex-shrink: 0; font-size: 24px; line-height: 1; }
.af-faq__item[open] summary::after { content: '–'; }
.af-faq__answer { padding: 0 24px 20px; font-size: 17px; line-height: 1.65; color: #45475C; }
.af-faq__answer > *:last-child { margin-bottom: 0; }

/* Author box */
.af-author { display: flex; gap: 24px; padding: 28px; border: 1px solid var(--af-line); border-radius: var(--af-radius, 0); }
.af-author .af-eyebrow { margin-bottom: 6px; color: var(--af-muted); }
.aframe-post .af-author__name { font-family: var(--af-display); font-size: 20px; font-weight: 700; text-decoration: none; }
.af-author__role { margin: 4px 0 0; font-size: 15px; color: var(--af-muted); }
.af-author__bio { margin-top: 10px; font-size: 16px; line-height: 1.6; color: #45475C; }
.af-author__bio p:last-child { margin-bottom: 0; }

/* Right rail */
.af-rail-cta { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: var(--af-radius, 0); background: var(--af-navy); }
.af-rail-cta__bar { width: 40px; height: 4px; border-radius: var(--af-radius, 0); background: var(--af-accent); }
.af-rail-cta__title { margin: 0; font-family: var(--af-display); font-size: 20px; font-weight: 700; line-height: 1.3; color: #fff; }
.af-rail-cta__text { margin: 0; font-size: 15px; line-height: 1.55; color: #D6D7E4; }
.aframe-post .af-rail-cta__link { padding: 6px; font-size: 15px; font-weight: 600; text-align: center; color: #fff; }
.af-guides { margin-top: 24px; }
.af-guides ul { margin: 0; padding: 0; list-style: none; }
.af-guides li + li { border-top: 1px solid var(--af-line); }
.af-guides a { display: block; padding: 10px 0; font-size: 15px; font-weight: 600; line-height: 1.45; text-decoration: none; }

/* Related posts */
.af-related { padding: 80px 0; background: var(--af-surface); }
.af-related__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 36px; }
.aframe-post .af-related__head h2 { margin: 0; font-family: var(--af-display); font-size: clamp(25px, 1.2vw + 18px, 36px); font-weight: 700; color: var(--af-navy); }
.af-related__head a { font-weight: 700; }
.af-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.aframe-post .af-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--af-radius, 0); background: #fff; box-shadow: 0 1px 2px rgba(45, 46, 80, .06); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.aframe-post .af-card:hover { box-shadow: 0 12px 28px rgba(45, 46, 80, .12); transform: translateY(-2px); }
.af-card__img { aspect-ratio: 2 / 1; background: #DCDEE8; }
.af-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.af-card__body { display: flex; flex-direction: column; gap: 10px; padding: 24px; }
.af-card__cat { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--af-accent-text); }
.aframe-post .af-card__title { margin: 0; font-family: var(--af-display); font-size: 20px; font-weight: 700; line-height: 1.35; color: var(--af-navy); }
.af-card__meta { font-size: 14px; color: var(--af-muted); }

/* Next step band */
.af-next { padding: 88px 0; background: var(--af-navy); text-align: center; color: #D6D7E4; }
.af-next__title { max-width: 760px; margin: 0 auto; font-size: 19px; line-height: 1.6; }
.af-next__title h1, .af-next__title h2, .af-next__title h3, .af-next__title h4 { margin: 0 0 16px; font-family: var(--af-display); font-weight: 700; font-size: clamp(28px, 1.6vw + 18px, 40px); color: #fff; }
.af-next__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 32px; }

/* Mobile sticky CTA */
.af-mobile-cta { display: none; }

/* Responsive */
@media (max-width: 1199.98px) {
	.af-layout { grid-template-columns: minmax(0, 1fr) 240px; }
	.af-layout__toc { display: none; }
	.af-toc--mobile { display: block; }
}
@media (max-width: 991.98px) {
	.af-post-header { padding: 24px 0 96px; }
	.af-hero-image { margin-top: -72px; }
	.af-hero-image figure { border-radius: var(--af-radius, 0); }
	.af-layout { grid-template-columns: minmax(0, 1fr); padding-top: 32px; padding-bottom: 64px; }
	.af-layout__rail { display: none; }
	.af-related__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.af-card { flex-direction: row !important; }
	.af-card__img { width: 38%; flex-shrink: 0; aspect-ratio: auto; }
	.af-card__body { padding: 16px; gap: 6px; }
	.aframe-post .af-card__title { font-size: 16px; }
	.af-mobile-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; display: flex; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--af-line); box-shadow: 0 -6px 16px rgba(45, 46, 80, .08); transform: translateY(110%); transition: transform .25s; }
	.af-mobile-cta.is-visible { transform: none; }
	.af-mobile-cta span { flex: 1; font-size: 14px; font-weight: 600; color: var(--af-navy); }
	.aframe-post { padding-bottom: 76px; }
}
@media (max-width: 575.98px) {
	.af-wrap { padding: 0 20px; }
	.af-byline__meta { padding-left: 0; border-left: 0; width: 100%; font-size: 14px; }
	.af-content { font-size: 17px; }
	.af-takeaways { padding: 20px; }
	.af-inline-cta { flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px; }
	.af-author { gap: 14px; padding: 18px; }
	.af-author .af-avatar { width: 52px !important; height: 52px !important; font-size: 17px; }
	.af-faq__item summary { padding: 16px 18px; font-size: 16px; }
	.af-faq__answer { padding: 0 18px 16px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.aframe-post .af-card, .af-mobile-cta { transition: none; }
}

/* Site header on blog posts: always solid, never transparent.
   header.php adds .fixed-header on single posts; these rules are a fallback
   in case a cached page or script removes that class. */
.af-blog-layout .header { background-color: #fff; box-shadow: rgba(100, 100, 111, .2) 0 7px 29px 0; }
.af-blog-layout .header .logo span:nth-child(1) { display: none; }
.af-blog-layout .header .logo span:nth-child(2) { display: block; }
/* Navy links on desktop only. On mobile the menu opens as a navy panel,
   so its links must stay white (same breakpoint the theme uses). */
@media (min-width: 992px) {
	.af-blog-layout .header .stellarnav > ul > li > a { color: #2D2E50; }
	.af-blog-layout .header .stellarnav > ul > li > a:hover,
	.af-blog-layout .header .stellarnav > ul > li:hover > a,
	.af-blog-layout .header .stellarnav > ul > li.current-menu-item > a,
	.af-blog-layout .header .stellarnav > ul > li.current-menu-parent > a { color: var(--bs-primary); }
}
.af-blog-layout .header .stellarnav.mobile ul li a { color: #fff; }
.af-blog-layout .header .stellarnav .menu-toggle span.bars span { background-color: #000; }
.af-blog-layout .header .btn-outline-primary { --bs-btn-color: #fff; --bs-btn-bg: #2D2E50; --bs-btn-border-color: #2D2E50; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #FF7A06; --bs-btn-hover-border-color: #FF7A06; }

/* -------------------------------------------------------------------------
 * Blog index and archives
 * ---------------------------------------------------------------------- */
.af-archive-header { padding-bottom: 56px; }
.af-archive-header .af-post-intro p { margin: 0; }
.af-archive-header .af-post-intro br { display: none; }
.af-archive-page { margin: 0; font-size: 15px; font-weight: 600; color: var(--af-muted); }
.af-listing__body { padding-top: 32px; padding-bottom: 96px; display: flex; flex-direction: column; gap: 40px; }

/* Category links */
.af-cat-nav ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.aframe-post .af-cat-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid #D4D6DE; border-radius: var(--af-radius, 0); background: #fff; font-size: 15px; font-weight: 600; color: var(--af-navy); text-decoration: none; white-space: nowrap; }
.aframe-post .af-cat-nav a:hover { border-color: var(--af-navy); color: var(--af-navy); }
.aframe-post .af-cat-nav a[aria-current="page"] { background: var(--af-navy); border-color: var(--af-navy); color: #fff; }

/* Featured post */
.aframe-post .af-featured { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); overflow: hidden; border-radius: var(--af-radius, 0); background: var(--af-navy); text-decoration: none; box-shadow: 0 24px 48px rgba(45, 46, 80, .14); }
/* The image fills its column without setting the column's width. An aspect-ratio
   here would widen the column to match the card's height and overlap the text. */
.af-featured__img { position: relative; min-width: 0; min-height: 340px; overflow: hidden; background: #3A3B62; }
.af-featured__img img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.af-featured__img--contain { background: #fff; }
.af-featured__img--contain img { object-fit: contain; }
.af-featured__body { position: relative; z-index: 1; min-width: 0; }
.af-featured__body { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 40px 44px; }
.af-featured__tags { display: flex; align-items: center; gap: 12px; }
.aframe-post .af-featured .af-pill { margin: 0; background: var(--af-accent); color: var(--af-navy-ink); }
.af-featured .af-card__cat { color: #FFB27A; }
.aframe-post .af-featured__title { margin: 0; font-family: var(--af-display); font-weight: 700; font-size: clamp(24px, 1.2vw + 16px, 34px); line-height: 1.2; letter-spacing: -.015em; color: #fff; }
.af-featured__excerpt { margin: 0; font-size: 17px; line-height: 1.6; color: #D6D7E4; }
.af-featured .af-card__meta { color: #C9CADB; }
.af-featured__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-weight: 700; color: #fff; }
.aframe-post .af-featured:hover .af-featured__more { color: var(--af-accent); }

/* Grid */
.af-listing__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.af-listing .af-card { border: 1px solid var(--af-line); box-shadow: none; }
.af-card__body { flex-grow: 1; }
.af-card__excerpt { margin: 0; font-size: 15px; line-height: 1.55; color: #45475C; }
.af-card__meta { margin-top: auto; }

/* Pagination */
.af-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.af-pagination a, .af-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: var(--af-radius, 0); font-weight: 700; font-size: 15px; text-decoration: none; }
.aframe-post .af-pagination a { border: 1px solid #D4D6DE; color: var(--af-navy); }
.aframe-post .af-pagination a:hover { border-color: var(--af-navy); }
.af-pagination .current { background: var(--af-navy); color: #fff; }
.af-pagination .dots { color: var(--af-muted); }

/* Empty state */
.af-empty { padding: 48px; border-radius: var(--af-radius, 0); background: var(--af-surface); text-align: center; }
.aframe-post .af-empty h2 { margin: 0 0 8px; font-family: var(--af-display); color: var(--af-navy); }
.af-empty p { margin: 0; }

@media (max-width: 1199.98px) {
	.af-listing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
	.af-archive-header { padding-bottom: 40px; }
	.aframe-post .af-featured { grid-template-columns: minmax(0, 1fr); }
	.af-featured__img { min-height: 0; aspect-ratio: 1200 / 630; }
	.af-featured__body { padding: 28px 24px; }
	.af-listing .af-card { flex-direction: column !important; }
	.af-listing .af-card__img { width: auto; aspect-ratio: 2 / 1; }
	.af-listing .af-card__body { padding: 20px; gap: 8px; }
	.af-listing { padding-bottom: 0; }
}
@media (max-width: 767.98px) {
	.af-listing__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.af-listing__body { padding-bottom: 64px; gap: 28px; }
	.af-cat-nav { margin: 0 -20px; }
	.af-cat-nav ul { flex-wrap: nowrap; overflow-x: auto; padding: 0 20px 4px; scrollbar-width: none; }
	.af-cat-nav ul::-webkit-scrollbar { display: none; }
	.af-pagination .page-numbers:not(.prev):not(.next):not(.current) { display: none; }
}

/* -------------------------------------------------------------------------
 * Mobile safety: stop older post content from widening the page
 * ---------------------------------------------------------------------- */
.af-blog-layout { overflow-x: clip; }
.af-content { overflow-wrap: break-word; }
.af-content iframe, .af-content video, .af-content embed, .af-content object,
.af-content .wp-video, .af-content .wp-block-embed, .af-content figure,
.af-content [style*="width"] { max-width: 100% !important; }
.af-content table:not(.wp-block-table table) { display: block; max-width: 100%; overflow-x: auto; }
.af-content pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }
.af-content .alignwide, .af-content .alignfull { width: 100%; margin-left: 0; margin-right: 0; }
.af-breadcrumbs, .af-post-title, .af-card__title, .af-featured__title { overflow-wrap: break-word; }
@media (max-width: 991.98px) {
	.af-card__img { position: relative; min-height: 96px; }
	.af-card__img img { position: absolute; inset: 0; }
	.af-listing .af-card__img { position: relative; min-height: 0; }
	.af-listing .af-card__img img { position: static; }
}
@media (max-width: 575.98px) {
	.af-post-header { padding-top: 16px; }
	.af-breadcrumbs { font-size: 13px; }
	.af-breadcrumbs [aria-current] { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
	.af-next__buttons .af-btn { width: 100%; }
}
