/* ==========================================================================
   Blog archive layout (also handles category/tag/search via .bc-blog-archive).
   Uses the shared design tokens declared in main.css (:root --bc-*).
   ========================================================================== */
.bc-blog-archive {padding:var(--bc-section-y) 0; background:#fff;}
.bc-blog-archive__bar {display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 18px; margin-bottom:clamp(32px, 4vw, 56px); background:var(--bc-bg-soft); border:1px solid var(--bc-line); border-radius:var(--bc-radius-md); flex-wrap:wrap; box-shadow:0 6px 16px rgba(23, 62, 119, 0.04);}
.bc-blog-archive__search {display:inline-flex; align-items:center; gap:10px; padding:10px 18px; background:#fff; border-radius:var(--bc-radius-pill); min-width:280px; flex:1 1 280px; max-width:420px; border:1px solid var(--bc-line); transition:border-color .2s var(--bc-ease), box-shadow .2s var(--bc-ease);}
.bc-blog-archive__search:focus-within {border-color:var(--bc-secondary); box-shadow:0 0 0 4px rgba(var(--bc-secondary-rgb), 0.12);}
.bc-blog-archive__search .bc-icon {color:var(--bc-muted); font-size:18px; flex-shrink:0;}
.bc-blog-archive__search form {flex:1; display:flex; align-items:center;}
.bc-blog-archive__search input {flex:1; width:100%; background:transparent; border:0; outline:0; font-size:14px; line-height:20px; padding:0; color:var(--bc-text);}
.bc-blog-archive__search input::placeholder {color:var(--bc-muted); opacity:1;}
.bc-blog-archive__cats {display:flex; gap:4px; flex-wrap:wrap; align-items:center;}
.bc-blog-archive__cats a {padding:8px 16px; border-radius:var(--bc-radius-pill); font-size:13.5px; font-weight:600; color:var(--bc-text); background:transparent; transition:background .2s var(--bc-ease), color .2s var(--bc-ease);}
.bc-blog-archive__cats a:hover, .bc-blog-archive__cats a.is-active {background:var(--bc-primary); color:#fff;}
.bc-blog-archive__featured {margin-bottom:clamp(32px, 4vw, 56px);}
.bc-blog-archive__layout {display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:48px; align-items:flex-start;}
.bc-blog-archive__grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px;}
.bc-blog-archive__sidebar {display:flex; flex-direction:column; gap:20px; position:sticky; top:110px;}
.bc-blog-archive__empty {text-align:center; padding:clamp(48px, 8vw, 96px) 0; color:var(--bc-muted);}
.bc-blog-archive__empty .bc-icon {font-size:56px; color:var(--bc-line); margin:0 auto 14px;}
.bc-blog-archive__empty p {font-size:17px;}

@media (max-width: 1180px) {
.bc-blog-archive__layout {grid-template-columns:minmax(0, 1fr) 280px; gap:32px;}
}

@media (max-width: 1024px) {
.bc-blog-archive__layout {grid-template-columns:1fr; gap:40px;}
.bc-blog-archive__sidebar {position:static; flex-direction:row; flex-wrap:wrap;}
.bc-blog-archive__sidebar > * {flex:1 1 280px;}
}

@media (max-width: 720px) {
.bc-blog-archive__bar {flex-direction:column; align-items:stretch; padding:14px;}
.bc-blog-archive__search {min-width:0; max-width:none;}
.bc-blog-archive__cats {justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; -webkit-overflow-scrolling:touch;}
.bc-blog-archive__cats a {white-space:nowrap;}
.bc-blog-archive__sidebar {flex-direction:column;}
}

@media (max-width: 600px) {
.bc-blog-archive__grid {grid-template-columns:1fr;}
}

.bc-archive {padding:var(--bc-section-y) 0;}
.bc-archive__count {display:block; margin-top:14px; font-size:14px; color:rgba(255, 255, 255, 0.85);}