/* Full-width category archive. Templates archives use a dedicated downloadable-file card. */
body.category #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #fffefa;
}
body.category #main > .row,
body.category #main .row,
body.category #main .container {
  width: 100%;
  max-width: none;
}
.bc-category-archive,
.bc-category-archive * { box-sizing: border-box; }
.bc-category-archive {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  color: #20251f;
  background: #fffefa;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.6;
}
.bc-category-archive a { color: inherit; text-decoration: none; }
.bc-category-archive img { display: block; max-width: 100%; }
.bc-category-archive h1,
.bc-category-archive h2,
.bc-category-archive h3,
.bc-category-archive p { margin-top: 0; }
.bc-archive-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
  min-height: 420px;
  background: #faf8f2;
  border-bottom: 1px solid rgba(38,53,42,.08);
}
.bc-archive-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(36px, 5vw, 78px) clamp(28px, 5.2vw, 84px) clamp(34px, 4.5vw, 64px) max(24px, calc((100vw - 1400px) / 2));
}
.bc-archive-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; color:#6d7468; font-size:11px; }
.bc-archive-breadcrumbs a:hover { color:#274a37; }
.bc-archive-hero .bc-eyebrow { margin-bottom:14px; }
.bc-archive-hero h1 {
  max-width: 660px;
  margin: 0 0 18px;
  color: #20251f;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 5.2vw, 76px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .99;
  overflow-wrap: anywhere;
}
.bc-archive-hero h1 em { display:block; margin-top:8px; color:#315b3e; font-style:normal; }
.bc-archive-intro { max-width:560px; margin:0 0 24px; color:#60665d; font-size:clamp(14px,1.2vw,17px); line-height:1.8; }
.bc-archive-hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#566254; font-size:11px; font-weight:600; }
.bc-archive-hero-mark { display:flex; width:34px; height:34px; align-items:center; justify-content:center; border:1px solid #dce5d6; border-radius:50%; background:#edf2e8; color:#315b3e; font-size:17px; }
.bc-archive-hero-divider { width:1px; height:22px; margin:0 3px; background:#d8d8cd; }
.bc-archive-hero-meta strong { color:#274a37; font-weight:800; }
.bc-archive-hero-visual { position:relative; min-height:420px; overflow:hidden; background:linear-gradient(135deg,#d8d1c4,#b8c0ae 50%,#6b7b68); }
.bc-archive-hero-visual > img { width:100%; height:100%; min-height:420px; object-fit:cover; }
.bc-archive-hero-visual::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,27,20,.02) 25%,rgba(16,27,20,.58) 100%); content:''; pointer-events:none; }
.bc-archive-hero-caption { position:absolute; z-index:2; right:clamp(24px,5vw,70px); bottom:clamp(24px,4vw,54px); display:flex; max-width:340px; flex-direction:column; gap:7px; color:#fffdf5; text-align:right; text-shadow:0 2px 16px rgba(0,0,0,.18); }
.bc-archive-hero-caption span { font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.bc-archive-hero-caption strong { font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,3vw,42px); font-weight:500; line-height:1.12; }
.bc-archive-hero-index { position:absolute; z-index:3; top:24px; left:24px; display:flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(255,253,245,.92); color:#274a37; font-size:12px; font-weight:800; }
.bc-archive-hero-art { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 68% 35%,rgba(255,255,255,.45),transparent 25%),linear-gradient(135deg,#e7e1d4,#b5c0ad 52%,#607762); }
.bc-archive-art-circle { position:absolute; width:46%; aspect-ratio:1; right:12%; top:13%; border:1px solid rgba(255,255,255,.6); border-radius:50%; }
.bc-archive-art-leaf { position:absolute; width:23%; height:56%; left:38%; bottom:-8%; border-radius:100% 0 100% 0; background:rgba(39,74,55,.45); transform:rotate(-24deg); }
.bc-archive-art-vase { position:absolute; width:20%; height:37%; left:55%; bottom:-2%; border-radius:38% 38% 18% 18%; background:rgba(250,248,242,.7); box-shadow:0 -14px 0 -8px rgba(250,248,242,.7); }
.bc-archive-content { width:100%; padding:clamp(38px,5vw,68px) clamp(18px,4.2vw,64px) clamp(54px,6vw,86px); background:#fffefa; }
.bc-archive-content-inner { width:100%; max-width:1680px; margin:0 auto; }
.bc-archive-section-heading { align-items:flex-end; margin-bottom:28px; }
.bc-archive-section-heading h2 { margin:0; color:#20251f; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3vw,44px); font-weight:700; letter-spacing:-.04em; line-height:1.1; }
.bc-archive-section-heading .bc-eyebrow { margin-bottom:9px; }
.bc-archive-count-label { display:inline-flex; flex:0 0 auto; align-items:center; gap:6px; padding:8px 12px; border:1px solid #e0e8d8; border-radius:999px; background:#edf2e8; color:#31543a; font-size:11px; font-weight:700; white-space:nowrap; }
.bc-archive-post-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.bc-archive-article-card { min-width:0; height:100%; }
.bc-archive-article-card .bc-article-image { aspect-ratio:1.42 / 1; }
.bc-archive-article-card .bc-article-image.no-image { display:flex; align-items:center; justify-content:center; }
.bc-archive-article-card .bc-article-placeholder { min-height:190px; }
.bc-archive-image-arrow { position:absolute; right:12px; bottom:12px; display:flex; width:34px; height:34px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(255,253,245,.94); color:#274a37; font-size:18px; transition:transform .2s ease,background .2s ease; }
.bc-archive-article-card:hover .bc-archive-image-arrow { transform:translate(2px,-2px); background:#fff; }
.bc-archive-article-card .bc-article-body h3 { font-size:clamp(16px,1.25vw,20px); }
.bc-archive-article-card .bc-article-body > p { font-size:12px; }
.bc-archive-article-card .bc-article-meta { gap:7px; }
.bc-archive-load-more-wrap { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:13px; padding-top:38px; }
.bc-archive-load-more-status { margin:0; color:#686c63; font-size:12px; }
.bc-archive-view-more.bc-directory-view-more {
  display:inline-flex; align-items:center; justify-content:center; gap:16px; min-width:178px; min-height:48px; padding:0 22px;
  border:1px solid #1d4933 !important; border-radius:4px 16px 4px 16px !important; background:#1d4933 !important; color:#fffaf0 !important;
  font:inherit; font-size:12px; font-weight:700; cursor:pointer; box-shadow:0 8px 20px rgba(24,60,45,.13); transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.bc-archive-view-more.bc-directory-view-more span { font-size:18px; line-height:1; transition:transform .2s ease; }
.bc-archive-view-more.bc-directory-view-more:hover { transform:translateY(-2px); background:#2b6042 !important; border-color:#2b6042 !important; box-shadow:0 12px 26px rgba(24,60,45,.2); color:#fffaf0 !important; }
.bc-archive-view-more.bc-directory-view-more:hover span { transform:translateY(3px); }
.bc-archive-view-more.bc-directory-view-more:focus-visible { outline:3px solid #e3b36b; outline-offset:3px; }
.bc-archive-view-more[disabled] { opacity:.68; cursor:wait; transform:none; }
.bc-archive-view-more[hidden] { display:none !important; }
.bc-archive-empty { margin:24px 0; }
.bc-archive-noscript-pagination { margin-top:28px; }
.bc-archive-post-grid .bc-article-card[hidden] { display:none !important; }
@media (min-width: 1600px) { .bc-archive-post-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; } }
@media (max-width: 1100px) {
  .bc-archive-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:360px; }
  .bc-archive-hero-copy { padding:34px 28px 32px; }
  .bc-archive-hero-visual,.bc-archive-hero-visual > img { min-height:360px; }
  .bc-archive-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
}
@media (max-width: 767px) {
  body.category #main { padding-top:0 !important; }
  .bc-archive-hero { grid-template-columns:minmax(0,1fr); }
  .bc-archive-hero-copy { order:1; padding:30px 20px 27px; }
  .bc-archive-breadcrumbs { margin-bottom:22px; }
  .bc-archive-hero h1 { font-size:clamp(39px,11vw,58px); }
  .bc-archive-intro { font-size:13px; line-height:1.7; }
  .bc-archive-hero-meta { gap:8px; font-size:10px; }
  .bc-archive-hero-visual { order:2; min-height:260px; height:60vw; max-height:380px; }
  .bc-archive-hero-visual > img { min-height:0; height:100%; }
  .bc-archive-hero-caption { right:18px; bottom:19px; max-width:240px; }
  .bc-archive-hero-caption strong { font-size:27px; }
  .bc-archive-content { padding:36px 16px 48px; }
  .bc-archive-section-heading { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:20px; }
  .bc-archive-section-heading h2 { font-size:32px; }
  .bc-archive-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .bc-archive-article-card .bc-article-image { aspect-ratio:1.18 / 1; }
  .bc-archive-article-card .bc-article-body { padding:12px 11px 11px; }
  .bc-archive-article-card .bc-article-body h3 { font-size:15px; line-height:1.3; }
  .bc-archive-article-card .bc-article-body > p { font-size:11px; line-height:1.55; }
  .bc-archive-article-card .bc-article-meta { font-size:9px; }
  .bc-archive-load-more-wrap { padding-top:28px; }
}
@media (max-width: 420px) {
  .bc-archive-post-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .bc-archive-article-card .bc-article-image { aspect-ratio:1.55 / 1; }
  .bc-archive-article-card .bc-article-body { padding:15px 14px; }
}
@media (prefers-reduced-motion: reduce) { .bc-category-archive *, .bc-category-archive *::before, .bc-category-archive *::after { transition:none !important; scroll-behavior:auto !important; } }


/* Downloadable template cards: scoped to the Templates category tree only. */
.bc-template-download-card { border:1px solid #e2e7df; border-radius:14px 14px 18px 18px; box-shadow:0 8px 26px rgba(28,48,35,.065); }
.bc-template-download-card:hover { border-color:#cad8c8; box-shadow:0 18px 38px rgba(28,48,35,.13); }
.bc-template-preview { position:relative; display:flex; aspect-ratio:1.16 / 1; align-items:center; justify-content:center; overflow:hidden; padding:clamp(18px,2.4vw,30px); background:linear-gradient(145deg,#f0f3ef 0%,#e7ede7 100%); }
.bc-template-preview::before { position:absolute; inset:12px; border:1px solid rgba(40,74,51,.08); border-radius:9px; content:''; pointer-events:none; }
.bc-template-preview > img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:center; filter:drop-shadow(0 7px 12px rgba(22,34,25,.14)); transition:transform .35s ease,filter .35s ease; }
.bc-template-download-card:hover .bc-template-preview > img { transform:translateY(-3px) scale(1.025); filter:drop-shadow(0 12px 17px rgba(22,34,25,.18)); }
.bc-template-preview-label { position:absolute; z-index:2; top:17px; left:17px; padding:7px 10px; border:1px solid rgba(255,255,255,.7); border-radius:999px; background:rgba(255,254,250,.9); color:#365941; font-size:8px; font-weight:800; letter-spacing:.12em; line-height:1; text-transform:uppercase; backdrop-filter:blur(8px); }
.bc-template-preview-arrow { position:absolute; z-index:2; right:17px; bottom:17px; display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:#fffefa; color:#214a31; font-size:18px; box-shadow:0 4px 12px rgba(24,60,45,.09); transition:transform .2s ease,background .2s ease; }
.bc-template-download-card:hover .bc-template-preview-arrow { transform:translate(2px,-2px); background:#e5c181; }
.bc-template-document-placeholder { position:relative; display:flex; width:min(74%,260px); height:84%; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; padding:24px; border:1px solid #e2e2da; background:#fff; box-shadow:0 12px 28px rgba(30,45,33,.13); }
.bc-template-document-placeholder strong { color:#315b3e; font-size:22px; letter-spacing:.06em; }
.bc-template-document-placeholder i { display:block; width:100%; height:5px; border-radius:4px; background:#e7e9e2; }
.bc-template-document-placeholder i:nth-of-type(2) { width:82%; }.bc-template-document-placeholder i:nth-of-type(3) { width:92%; }.bc-template-document-placeholder i:nth-of-type(4) { width:62%; }
.bc-template-document-fold { position:absolute; top:0; right:0; width:28px; height:28px; background:linear-gradient(225deg,#dce6dc 50%,#f5f7f3 51%); }
.bc-template-download-body { display:flex; flex:1; flex-direction:column; padding:18px 18px 17px; }
.bc-template-card-topline { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
.bc-template-card-topline .bc-article-category { margin:0; color:#75816e !important; font-size:9px; letter-spacing:.13em; }
.bc-template-format-pill { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid #d9e4d7; border-radius:6px; background:#edf3eb; color:#315b3e; font-size:9px; font-weight:800; letter-spacing:.04em; line-height:1; }
.bc-template-download-card .bc-template-download-body h3 { margin:0 0 8px; color:#1e2a20; font-family:Georgia,'Times New Roman',serif; font-size:clamp(19px,1.45vw,23px); font-weight:600; letter-spacing:-.025em; line-height:1.18; }
.bc-template-download-card .bc-template-download-body h3 a:hover { color:#315b3e; }
.bc-template-card-excerpt { display:-webkit-box; min-height:38px; margin:0 0 15px; overflow:hidden; color:#6a7067; font-size:11px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.bc-template-file-panel { display:flex; flex-direction:column; gap:12px; margin-top:auto; margin-bottom:14px; padding:12px; border:1px solid #e7ebe4; border-radius:10px; background:#fafbf8; }
.bc-template-file-name { display:flex; min-width:0; align-items:center; gap:10px; padding-bottom:10px; border-bottom:1px solid #e5e9e1; }
.bc-template-file-icon { display:grid; width:34px; height:38px; flex:0 0 34px; place-items:center; border:1px solid #dbe5d8; border-radius:7px; background:#eaf1e7; color:#315b3e; font-size:20px; }
.bc-template-file-name > span:last-child { display:flex; min-width:0; flex-direction:column; gap:4px; }
.bc-template-file-name small,.bc-template-file-specs small { color:#858b80; font-size:8px; font-weight:800; letter-spacing:.12em; line-height:1.2; }
.bc-template-file-name strong { display:block; overflow:hidden; color:#29372b; font-size:10px; font-weight:700; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.bc-template-file-specs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:10px; }
.bc-template-file-specs > span { display:flex; min-width:0; flex-direction:column; gap:5px; }
.bc-template-file-specs strong { color:#385641; font-size:10px; font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.bc-template-file-panel--missing { min-height:65px; justify-content:center; color:#687166; font-size:10px; line-height:1.55; }
.bc-template-download-button { display:flex; width:100%; min-height:46px; align-items:center; justify-content:center; gap:10px; margin-top:auto; padding:11px 14px; border:1px solid #1d4933; border-radius:7px 7px 12px 7px; background:#1d4933; color:#fffaf0 !important; font-size:11px; font-weight:800; text-align:center; text-decoration:none !important; box-shadow:0 7px 17px rgba(24,60,45,.12); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.bc-template-download-button > span { font-size:18px; line-height:1; }
.bc-template-download-button:hover { transform:translateY(-2px); background:#2b6042; color:#fffaf0 !important; box-shadow:0 10px 22px rgba(24,60,45,.2); }
@media (min-width:1600px) { .bc-archive-post-grid:has(.bc-template-download-card) { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:767px) {
 .bc-template-preview { aspect-ratio:1.08 / 1; padding:17px; }
 .bc-template-download-body { padding:14px 12px 13px; }
 .bc-template-download-card .bc-template-download-body h3 { font-size:17px; }
 .bc-template-file-panel { padding:10px; gap:10px; }
 .bc-template-file-name strong { font-size:9px; }
 .bc-template-file-specs { grid-template-columns:1fr; gap:8px; }
 .bc-template-file-specs > span { flex-direction:row; justify-content:space-between; align-items:baseline; gap:6px; }
 .bc-archive-view-more.bc-directory-view-more { width:100%; max-width:320px; }
}

/* Templates archive uses wider cards to make download metadata readable. */
.bc-archive-post-grid.bc-archive-template-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media (min-width:1600px) { .bc-archive-post-grid.bc-archive-template-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; } }
@media (max-width:1100px) { .bc-archive-post-grid.bc-archive-template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media (max-width:767px) { .bc-archive-post-grid.bc-archive-template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media (max-width:420px) { .bc-archive-post-grid.bc-archive-template-grid { grid-template-columns:minmax(0,1fr); gap:16px; } }
