/*
 * Lists (sections, tags, dates, search), pagination, "load more", 404.
 */
.feu-archive-head { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--feu-border-strong); }
.feu-archive-head__title { margin: .4rem 0 .6rem; font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.4rem); font-weight: 600; line-height: 1.05; }
.feu-archive-head__desc { max-width: 70ch; color: var(--wp--preset--color--text-secondary); }
.feu-archive-head__count { margin: .2rem 0 0; color: var(--wp--preset--color--muted); }
.feu-archive-head__search { max-width: 520px; margin-top: 1rem; }
.feu-archive-head__search input { padding-block: .9rem; font-size: 1rem; }
.feu-chips--subs { margin-top: 1.2rem; }
.feu-chips--subs .feu-count { margin-left: .3rem; }
.feu-chips--subs a:hover .feu-count { color: inherit; }
.feu-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feu-empty { padding: 2rem 0; color: var(--wp--preset--color--text-secondary); }

.feu-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.feu-pagination :is(a, span) { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 .8rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); text-decoration: none; font-size: var(--wp--preset--font-size--sm); }
.feu-pagination .current { background: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); color: var(--feu-on-brand); }
html.feu-js .feu-pagination.is-replaced { display: none; }
.feu-more { display: grid; justify-items: center; gap: .6rem; margin-top: 2.5rem; }
.feu-more .feu-btn.is-loading::before { content: ""; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: feu-spin .7s linear infinite; }
@keyframes feu-spin { to { transform: rotate(360deg); } }
.feu-more__status { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }

.feu-notfound { max-width: 640px; text-align: center; padding-block: 3rem; }
.feu-notfound h1 { margin: .5rem 0 1rem; }
.feu-notfound__search { margin: 1.5rem auto; max-width: 460px; }

@media (max-width: 1000px) { .feu-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .feu-grid--archive { grid-template-columns: minmax(0, 1fr); } }
