/* =========================================================================
   Archive / search — loaded on archives, search, and the blog index.
   ========================================================================= */

.ft-archive { padding-block: clamp(1.5rem, 4vw, 2.5rem); }
.ft-archive-header { margin-block: 0.5rem clamp(1.5rem, 4vw, 2.5rem); }
.ft-archive-title { font-size: clamp(2rem, 1.6rem + 2.2vw, 3rem); margin: 0; }
.ft-archive-desc { color: var(--ft-color-muted); margin-block-start: 0.5rem; max-width: 60ch; }

/* --- Filter toolbar ----------------------------------------------------- */
.ft-filters {
	display: flex; flex-wrap: wrap; gap: 1rem; align-items: end;
	background: var(--ft-color-surface); border: 1px solid var(--ft-color-line);
	border-radius: var(--ft-radius); padding: 1rem 1.25rem; margin-block-end: 1.75rem;
}
.ft-filters__group { display: grid; gap: 0.3rem; }
.ft-filters__label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ft-color-muted); }
.ft-filters__select { padding: 0.5rem 0.75rem; border: 1px solid var(--ft-color-line); border-radius: var(--ft-radius-sm); background: var(--ft-color-bg); color: var(--ft-color-text); font: inherit; min-inline-size: 11rem; }

/* --- Results grid ------------------------------------------------------- */
.ft-archive__grid { margin-block-end: clamp(2rem, 5vw, 3rem); }

/* --- Search-specific ---------------------------------------------------- */
.ft-search__term { color: var(--ft-color-accent); }
.ft-search__count { color: var(--ft-color-muted); margin-block: 0.25rem 0; }
.ft-search .search-form { margin-block-end: 1.75rem; max-width: none; }

@media (max-width: 600px) {
	.ft-filters { flex-direction: column; align-items: stretch; }
	.ft-filters__select { inline-size: 100%; }
}
