/* Blog archive only; single posts and product cards remain independent. */
.cika-blog-archive { background: var(--cika-color-void); color: var(--cika-color-white); }
.cika-blog-archive .cika-container-wide { width: calc(100% - 48px); max-width: 1800px; margin-inline: auto; padding-inline: 0; }
.cika-blog-body { padding-block: 32px 56px; scroll-margin-top: 90px; }
.cika-blog-controls { display: flex; gap: 24px; align-items: start; margin-bottom: 32px; }
.cika-blog-controls form { display: flex; flex: 0 1 400px; min-width: 220px; }
.cika-blog-controls input[type=search] { min-width: 0; width: 100%; border: 1px solid var(--cika-color-border); background: var(--cika-color-surface); color: inherit; padding: 12px; }
.cika-blog-controls button { width: 48px; flex: 0 0 48px; border: 1px solid var(--cika-color-border); color: var(--cika-color-accent); background: var(--cika-color-surface); cursor: pointer; }
.cika-blog-search-icon { display: inline-block; width: 18px; height: 18px; background: currentColor; mask: url('../svg/lucide/search.svg') center/contain no-repeat; }
.cika-blog-filters { display: flex; flex: 1; min-width: 0; flex-wrap: wrap; gap: 10px; }
.cika-blog-filters a { padding: 12px 16px; border: 1px solid var(--cika-color-border); color: inherit; text-decoration: none; font: 700 12px/1.5 var(--cika-font-mono); text-transform: uppercase; }
.cika-blog-filters a[aria-current] { color: var(--cika-color-accent); border-color: var(--cika-color-accent); }
.cika-blog-filters a:hover { border-color: var(--cika-color-accent-2); }
.cika-blog-archive :is(a,button,input):focus-visible { outline: 2px solid var(--cika-color-accent); outline-offset: 4px; }
.cika-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.cika-blog-card { min-width: 0; border: 1px solid var(--cika-color-border); background: var(--cika-color-surface-subtle); }
.cika-blog-card > a { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.cika-blog-card:hover { border-color: var(--cika-color-accent); }
.cika-blog-card__image { aspect-ratio: 16/9; background: var(--cika-color-void); }
.cika-blog-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cika-blog-card__content { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.cika-blog-card__category { color: var(--cika-color-accent-2); font: 700 12px/1.5 var(--cika-font-mono); text-transform: uppercase; margin: 0 0 12px; }
.cika-blog-card h2 { font-size: clamp(26px,2vw,36px); line-height: 1.1; margin: 0 0 16px; overflow-wrap: anywhere; }
.cika-blog-card__excerpt { color: var(--cika-color-text-muted); line-height: 1.55; margin: 0 0 24px; }
.cika-blog-card__meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: auto; color: var(--cika-color-text-muted); font-size: 12px; }
.cika-blog-pagination { margin-top: 32px; }
.cika-blog-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.cika-blog-pagination li > :is(a,span) { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; border: 1px solid var(--cika-color-border); padding: 6px; color: inherit; text-decoration: none; font-size: 13px; }
.cika-blog-pagination .current { background: var(--cika-color-accent); color: var(--cika-color-void); }
.cika-blog-pagination a:hover { color: var(--cika-color-accent); border-color: var(--cika-color-accent); }
.cika-blog-pagination .dots { border-color: transparent; color: var(--cika-color-text-muted); }
.cika-blog-chevron { display: inline-block; width: 16px; height: 16px; background: currentColor; mask: url('../svg/lucide/chevron-right.svg') center/contain no-repeat; }
.cika-blog-chevron.is-prev { mask-image: url('../svg/lucide/chevron-left.svg'); }
@media (max-width: 75rem) { .cika-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .cika-blog-controls { flex-direction: column; } .cika-blog-controls form { flex-basis: auto; width: 100%; } }
@media (max-width: 48rem) { .cika-blog-archive .cika-container-wide { width: calc(100% - 24px); } .cika-blog-card__content { padding: 20px; } .cika-blog-pagination ul { gap: 3px; } .cika-blog-pagination li > :is(a,span) { min-width: 30px; padding: 4px; } }
@media (max-width: 42rem) { .cika-blog-grid { grid-template-columns: minmax(0,1fr); gap: 24px; } }
