/* Search, standard tags and 404 share the category discovery grid. */
.cb-search-count { margin: 16px 0 0; font-size: 14px; color: var(--cb-text-secondary); }
.cb-discovery-search { max-width: 640px; margin-top: 24px; }
.cb-discovery-search label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500; }
.cb-discovery-search > div { display: flex; gap: 8px; align-items: stretch; }
.cb-discovery-search input[type="search"] { flex: 1; width: 100%; min-width: 0; min-height: 48px; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); padding: 10px 12px; color: var(--cb-text); background: var(--cb-bg); font: 16px/1.5 var(--cb-font-body); }
.cb-discovery-search button { display: inline-flex; flex: 0 0 48px; width: 48px; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--cb-text); border-radius: var(--cb-radius-sm); background: var(--cb-text); color: var(--cb-bg); cursor: pointer; }
.cb-discovery-search button:hover { background: var(--cb-terracotta-ink); border-color: var(--cb-terracotta-ink); }
.cb-archive .cb-discovery-links { margin-top: 16px; }
.cb-archive .cb-discovery-links ul { display: flex; flex-wrap: wrap; gap: 0 24px; padding: 0; margin: 0; list-style: none; }
.cb-archive .cb-discovery-links li { min-width: 0; }
.cb-archive .cb-discovery-links a, .cb-discovery-home { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--cb-terracotta-ink); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.cb-discovery-other { min-width: 0; padding-block: 20px; border-block: 1px solid var(--cb-border); }
.cb-discovery-other p { margin: 0 0 8px; font-size: 12px; color: var(--cb-text-secondary); }
.cb-discovery-other h2 { margin: 0; font-family: var(--cb-font-heading); font-size: 24px; line-height: 1.3; }
.cb-discovery-other a { color: var(--cb-text); text-decoration: underline; text-underline-offset: 3px; }
.cb-not-found { padding-block: 40px 48px; }
.cb-not-found .cb-archive-header { padding-top: 0; }
.cb-not-found-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cb-not-found .cb-discovery-search { margin-top: 32px; }
@media (min-width: 768px) { .cb-not-found { padding-block: 56px; } }

/* Search-only refinement and result presentation. */
.cb-search { padding-top: 18px; }
.cb-search .cb-archive-header { padding-block: 0 20px; }
.cb-search h1 { font-size: 30px; }
.cb-search-query { display: block; margin-top: 8px; font: 500 18px/1.45 var(--cb-font-body); overflow-wrap: anywhere; }
.cb-search-count { margin-top: 8px; }
.cb-search .cb-discovery-search { margin-top: 12px; }
.cb-search .cb-discovery-search input:focus-visible { border-color: var(--cb-text); }
.cb-search .cb-discovery-search button:focus-visible { background: var(--cb-terracotta-ink); border-color: var(--cb-terracotta-ink); }
.cb-search .cb-card--gallery { position: relative; }
.cb-search .cb-card-title { font-size: 23px; line-height: 1.3; text-wrap: pretty; }
.cb-search .cb-card-title a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cb-search .cb-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.cb-search .cb-card-label a { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: 44px; }
.cb-search .cb-card-label + .cb-card-title { margin-top: 2px; }
.cb-search .cb-card-excerpt { margin-top: 8px; -webkit-line-clamp: 2; font-size: 14px; line-height: 1.5; }
.cb-search .cb-card--gallery:has(a:focus-visible) { border-color: var(--cb-text); }
.cb-search :is(.cb-card a, a.page-numbers, .cb-discovery-links a):focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
    .cb-search .cb-card-image { transition: transform 140ms ease-out; }
    .cb-search .cb-card--gallery:has(.cb-card-title a:hover) .cb-card-image { transform: scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
    .cb-search .cb-card-image { transition: none; transform: none !important; }
}
@media (min-width: 768px) {
    .cb-search { padding-top: 24px; }
    .cb-search h1 { font-size: 34px; }
    .cb-search .cb-archive-grid--one { grid-template-columns: minmax(0, 1fr); max-width: 576px; }
}
@media (min-width: 1024px) {
    .cb-search .cb-archive-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
