/* Blog: home.php, archive.php, single.php, author.php. Figma 1004:1416 / 1004:1194 / 1029:1211. Scoped under #bt-root. */
#bt-root.bt-blog .bl-h2 { font-size:2.1875rem; font-weight:500; margin:0 0 var(--space-6); color:var(--c-black); }
#bt-root.bt-blog section + section { margin-top:var(--space-9); }
#bt-root.bt-blog a { text-decoration:none; }

/* hero */
.bl-hero { text-align:center; padding-top:clamp(40px,7vw,100px); }
.bl-hero__title { font-size:clamp(3rem,2rem + 5vw,6.875rem); font-weight:500; line-height:1.1; color:var(--c-primary); margin:0 0 var(--space-5); }
.bl-hero__lead { font-size:1.875rem; line-height:1.5; color:var(--c-black); max-width:760px; margin:0 auto; }

/* top: featured slider + sidebar */
.bl-top { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }
.bl-featured { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.bl-featured::-webkit-scrollbar { display:none; }
.bl-feature { flex:0 0 100%; scroll-snap-align:start; position:relative; border-radius:var(--r-2xl); overflow:hidden; min-height:640px; background:var(--c-surface-alt); }
.bl-feature__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bl-feature__body { position:absolute; inset:auto 0 0; padding:clamp(24px,5vw,60px); background:linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 60%, transparent 100%); color:#fff; }
.bl-feature__title { font-size:clamp(1.75rem,1.2rem + 2.4vw,3.125rem); font-weight:600; line-height:1.2; margin:0 0 var(--space-4); }
.bl-feature__title a { color:#fff; }
.bl-feature__excerpt { font-size:1.375rem; line-height:1.5; margin:0 0 var(--space-4); max-width:760px; }
.bl-feature__meta { font-size:1.25rem; margin:0; opacity:.9; }

/* sidebar */
.bl-side { background:var(--c-surface); border-radius:var(--r-xl); padding:28px 24px; position:sticky; top:100px; }
.bl-search { display:flex; margin-bottom:var(--space-6); }
.bl-search input { flex:1; min-height:48px; border:1px solid var(--c-border); border-radius:var(--r-pill) 0 0 var(--r-pill); padding:0 20px; font:inherit; font-size:var(--fs-small); }
.bl-search button { width:48px; border:1px solid var(--c-border); border-left:0; border-radius:0 var(--r-pill) var(--r-pill) 0; background:var(--c-primary); color:#fff; font-size:1.5rem; cursor:pointer; }
.bl-side__title { font-size:1.5625rem; font-weight:500; margin:0 0 var(--space-4); }
.bl-mini { display:grid; grid-template-columns:90px 1fr; gap:14px; padding:14px 0; border-bottom:1px solid var(--c-border); color:var(--c-black); }
.bl-mini img { width:90px; height:70px; object-fit:cover; border-radius:var(--r-s); }
.bl-mini strong { display:block; font-size:var(--fs-body-lg); font-weight:500; line-height:1.3; }
.bl-mini time { display:block; font-size:var(--fs-small); color:var(--c-text-60); margin:6px 0 4px; }
.bl-mini em { font-style:normal; font-weight:500; font-size:var(--fs-small); color:var(--c-primary); }
.bl-side__more { display:block; text-align:center; margin-top:var(--space-4); font-weight:500; color:var(--c-primary); }

/* topics + categories */
.bl-topics { text-align:center; }
.bl-topics__list, .bl-cats__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.bl-topics__list a { display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 24px; border-radius:var(--r-pill); background:var(--c-surface); color:var(--c-black); font-size:1.25rem; }
.bl-topics__list a span { font-size:var(--fs-xs); background:var(--c-primary); color:#fff; border-radius:var(--r-pill); padding:2px 10px; }
.bl-topics__list a:hover { background:var(--c-primary); color:#fff; }
.bl-cats { text-align:center; }
.bl-cats__list a { display:inline-block; padding:8px 4px; font-size:var(--fs-body-lg); color:var(--c-black); border-bottom:2px solid transparent; }
.bl-cats__list a:hover { border-color:var(--c-primary); color:var(--c-primary); }

/* cards */
.bl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.bl-card { background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; display:flex; flex-direction:column; }
.bl-card__img { display:block; aspect-ratio:4/3; background:var(--c-surface-alt); }
.bl-card__img img { width:100%; height:100%; object-fit:cover; }
.bl-card__ph { display:block; width:100%; height:100%; }
.bl-card__body { padding:22px 24px 26px; display:flex; flex-direction:column; gap:8px; }
.bl-card__cat { font-size:var(--fs-xs); font-weight:500; color:var(--c-primary); text-transform:uppercase; letter-spacing:.04em; }
.bl-card__title { font-size:1.1875rem; font-weight:500; line-height:1.35; margin:0; }
.bl-card__title a { color:var(--c-black); }
.bl-card__title a:hover { color:var(--c-primary); }
.bl-card__date { font-size:var(--fs-xs); color:var(--c-text-60); margin-top:auto; }

/* archive */
.bl-arch { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; padding-top:clamp(32px,5vw,70px); }
.bl-arch__title { font-size:clamp(2rem,1.5rem + 2.5vw,3.75rem); font-weight:500; color:var(--c-primary); margin:0 0 var(--space-6); }
.bl-arch__desc { font-size:var(--fs-body-lg); color:var(--c-text-70); margin:0 0 var(--space-6); max-width:760px; }
.bl-grid--arch { grid-template-columns:repeat(3,1fr); }
.bl-arch .pagination, .bl-arch .navigation { margin-top:var(--space-7); }
.bl-arch .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.bl-arch .nav-links a, .bl-arch .nav-links span { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:var(--r-pill); background:var(--c-surface); color:var(--c-black); }
.bl-arch .nav-links .current { background:var(--c-primary); color:#fff; }

/* single */
.bl-post__head { text-align:center; padding-top:clamp(32px,5vw,70px); max-width:1000px; }
.bl-crumb { font-size:var(--fs-small); color:var(--c-text-60); margin-bottom:var(--space-5); }
.bl-crumb a { color:var(--c-text-60); }
.bl-post__title { font-size:clamp(2rem,1.4rem + 2.4vw,2.8125rem); font-weight:500; line-height:1.25; color:var(--c-black); margin:0 0 var(--space-5); }
.bl-post__by { font-size:1.875rem; font-weight:500; color:var(--c-black); margin:0; }
.bl-post__by a { color:var(--c-primary); }
.bl-post__by span { color:var(--c-text-40); margin:0 6px; }
.bl-post__by time { font-size:1.25rem; font-weight:400; color:var(--c-text-60); }
.bl-author { max-width:1100px; }
.bl-author__card { display:grid; grid-template-columns:240px 1fr; gap:40px; align-items:center; background:var(--c-surface); border-radius:var(--r-xl); padding:40px; }
.bl-author__photo { width:240px; height:240px; border-radius:50%; object-fit:cover; }
.bl-author__name { font-size:2.1875rem; font-weight:500; margin:0 0 var(--space-3); }
.bl-author__bio { font-size:1.25rem; line-height:1.55; color:var(--c-text-80); margin:0 0 var(--space-4); }
.bl-author__more { font-size:var(--fs-xs); font-weight:500; color:var(--c-primary); }
.bl-post__hero img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-xl); }
.bl-post__body { max-width:1100px; }
.bl-prose { font-size:1.5625rem; line-height:1.7; color:var(--c-black); }
.bl-prose h2 { font-size:2.8125rem; font-weight:500; line-height:1.2; margin:var(--space-8) 0 var(--space-5); color:var(--c-black); }
.bl-prose h3 { font-size:1.875rem; font-weight:500; margin:var(--space-7) 0 var(--space-4); }
.bl-prose p { margin:0 0 var(--space-5); }
.bl-prose img { border-radius:var(--r-m); margin:var(--space-6) auto; }
.bl-prose ul, .bl-prose ol { list-style:disc; padding-left:1.4em; margin:0 0 var(--space-5); }
.bl-prose a { color:var(--c-primary); text-decoration:underline; text-underline-offset:3px; }
.bl-prose blockquote { border-left:6px solid var(--c-primary); margin:var(--space-6) 0; padding:8px 0 8px 28px; font-style:italic; color:var(--c-text-70); }
.bl-prose table { font-size:1.125rem; }
.bl-post__tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:var(--space-7); }
.bl-post__tags a { padding:8px 16px; border-radius:var(--r-pill); background:var(--c-surface); font-size:var(--fs-small); color:var(--c-black); }
.bl-cta__card { background:var(--c-surface); border-radius:var(--r-2xl); padding:clamp(32px,6vw,72px); text-align:center; max-width:1100px; margin:0 auto; }
.bl-cta__card h2 { font-size:2.8125rem; font-weight:500; margin:0 0 var(--space-4); }
.bl-cta__card p { font-size:1.5625rem; line-height:1.5; max-width:820px; margin:0 auto var(--space-7); }

@media (max-width:1000px) {
  .bl-top, .bl-arch { grid-template-columns:1fr; }
  .bl-side { position:static; }
  .bl-grid, .bl-grid--arch { grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:640px) {
  #bt-root.bt-blog section + section { margin-top:var(--space-8); }
  .bl-hero__lead { font-size:1.125rem; }
  .bl-feature { min-height:420px; border-radius:var(--r-xl); }
  .bl-feature__title { font-size:1.5rem; } .bl-feature__excerpt { font-size:1rem; } .bl-feature__meta { font-size:.9375rem; }
  .bl-grid, .bl-grid--arch { grid-template-columns:1fr; }
  .bl-topics__list a { min-height:44px; padding:0 16px; font-size:1rem; }
  .bl-post__by { font-size:1.125rem; } .bl-post__by time { font-size:.9375rem; }
  .bl-author__card { grid-template-columns:1fr; gap:20px; padding:24px; text-align:center; justify-items:center; }
  .bl-author__photo { width:140px; height:140px; }
  .bl-author__name { font-size:1.5rem; } .bl-author__bio { font-size:1rem; }
  .bl-prose { font-size:1.0625rem; } .bl-prose h2 { font-size:1.625rem; } .bl-prose h3 { font-size:1.25rem; }
  .bl-cta__card { border-radius:var(--r-xl); } .bl-cta__card h2 { font-size:1.625rem; } .bl-cta__card p { font-size:1.0625rem; }
  .bl-cta__card .bt-btn--lg { width:100%; min-height:60px; font-size:1.125rem; }
}

/* v0.26 */
.bl-all { margin-top:var(--space-8, 64px); }
.bl-all .navigation.pagination { margin-top:var(--space-7, 48px); }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.nav-links .page-numbers { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border-radius:999px; border:1px solid rgba(0,81,125,.25); color:#00517D; text-decoration:none; font-weight:500; }
.nav-links .page-numbers.current { background:#00517D; color:#fff; border-color:#00517D; }
.bl-crumb, .bl-crumb a { font-size:.9375rem; color:#3d4a55; }
.bl-crumb a { text-decoration:underline; text-underline-offset:2px; }
.bl-cta__card .bl-cta__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0 auto; font-size:1rem; }
@media (max-width:600px) { .bl-cta__actions .bt-btn { width:100%; justify-content:center; } }

/* Blog home: the featured slider fills the height of the sidebar, so no gap opens under it (Dan, 16 Oct 2026) */
.bl-top { align-items:stretch; }
.bl-top .bl-featured { height:100%; }
.bl-top .bl-feature { min-height:640px; height:auto; }
.bl-search input { min-width:0; }
@media (max-width:1000px) { .bl-top { align-items:start; } .bl-top .bl-featured { height:auto; } }
@media (max-width:1000px) { .bl-top, .bl-arch { grid-template-columns:minmax(0,1fr); } }
