/* Category archives: image masthead, tag filters and editorial article grid. */
.pka-category-hero { position: relative; isolation: isolate; margin-inline: calc(-1 * var(--pka-container-gutter)); background: var(--pka-color-secondary); color: var(--pka-surface); }
.pka-category-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15, 23, 42, 0.92), rgba(15, 23, 42, 0.25)); }
.pka-category-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.pka-category-heading { padding: var(--pka-space-4) var(--pka-container-gutter); }
.pka-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pka-space-1); margin-bottom: var(--pka-space-2); font-size: var(--pka-font-size-sm); }
.pka-breadcrumb a { color: var(--pka-surface); text-decoration: none; }
.pka-breadcrumb a:hover { text-decoration: underline; }
.pka-category-heading h1 { margin: 0 0 var(--pka-space-1); font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem); line-height: var(--pka-line-height-heading); }
.pka-category-description { max-width: 36rem; font-size: var(--pka-font-size-sm); line-height: var(--pka-line-height-control); }
.pka-category-description p { margin-bottom: var(--pka-space-2); }
.pka-category-description a { color: inherit; }
.pka-category-filters { display: flex; flex-wrap: wrap; gap: var(--pka-space-1); margin-top: var(--pka-space-3); }
.pka-category-filters a { display: inline-flex; align-items: center; min-height: var(--pka-space-5); padding: var(--pka-space-1) var(--pka-space-2); border-radius: var(--pka-radius); background: var(--pka-color-secondary); color: var(--pka-surface); font-size: 0.75rem; font-weight: var(--pka-font-weight-medium); text-decoration: none; transition: background-color var(--pka-transition-fast); }
.pka-category-filters a:hover { text-decoration: underline; text-decoration-color: var(--pka-color-primary); }
.pka-category-filters a[aria-current] { background: var(--pka-color-primary); color: var(--pka-color-secondary); }
.pka-category-hero :focus-visible { outline-color: var(--pka-color-accent); }
.pka-category-layout { display: grid; gap: var(--pka-space-4); padding-block: var(--pka-space-3) var(--pka-space-6); }
.pka-category-results { min-width: 0; }
.pka-category-grid { display: grid; gap: var(--pka-space-4) var(--pka-space-2); }
.pka-category-card .pka-card-image { position: relative; aspect-ratio: 16 / 10; border-radius: var(--pka-radius); }
.pka-category-card .pka-category { position: absolute; inset-inline-start: var(--pka-space-1); bottom: var(--pka-space-1); }
.pka-category-card .pka-card-copy { padding-block: var(--pka-space-1); }
.pka-category-card h2 { clear: none; margin: var(--pka-space-1) 0; font-size: var(--pka-font-size-lg); line-height: 1.2; letter-spacing: var(--pka-letter-spacing-heading); }
.pka-category-card .pka-card-link:hover h2 { text-decoration: underline; text-decoration-color: var(--pka-color-primary); text-underline-offset: 0.15em; }
.pka-category-card-excerpt { color: var(--pka-text-muted); font-size: var(--pka-font-size-sm); line-height: var(--pka-line-height-control); margin-bottom: var(--pka-space-2); }
.pka-card-read-more { display: inline-flex; gap: var(--pka-space-1); font-size: 0.75rem; font-weight: var(--pka-font-weight-semibold); text-decoration: underline; text-decoration-color: var(--pka-color-primary); text-underline-offset: 0.2em; }
.pka-card-read-more > span { color: var(--pka-color-primary-shade); }
.pka-category-sidebar { display: grid; align-content: start; gap: var(--pka-space-2); min-width: 0; }
.pka-category-sidebar h2 { clear: none; font-size: var(--pka-font-size-lg); margin: 0 0 var(--pka-space-2); }
.pka-category-sidebar .pka-app-banner h2 { font-size: 1.75rem; }
.pka-category-sidebar .search-form { display: flex; gap: var(--pka-space-1); }
.pka-category-sidebar .search-form label { min-width: 0; flex: 1; }
.pka-category-sidebar .search-field { width: 100%; font-size: 0.75rem; padding-inline: var(--pka-space-1); }
.pka-category-sidebar .search-submit { font-size: 0.75rem; padding-inline: var(--pka-space-1); }
.pka-category-list { margin: 0; padding: 0; list-style: none; }
.pka-category-list a { display: flex; align-items: center; justify-content: space-between; gap: var(--pka-space-2); min-height: var(--pka-space-5); padding: var(--pka-space-1); color: var(--pka-text); font-size: var(--pka-font-size-sm); border-inline-start: 2px solid transparent; text-decoration: none; }
.pka-category-list a:hover { background: var(--pka-surface-muted); }
.pka-category-list a[aria-current] { background: var(--pka-surface-muted); border-inline-start-color: var(--pka-color-primary); font-weight: var(--pka-font-weight-semibold); }
.pka-category-count { font-size: 0.75rem; color: var(--pka-text-muted); }
.pka-category-empty { padding: var(--pka-space-4); background: var(--pka-surface-muted); border-radius: var(--pka-radius); }
.pka-category-empty h2 { margin-top: 0; font-size: var(--pka-font-size-h4); }
@media (min-width: 40rem) {
	.pka-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pka-category-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pka-category-sidebar > .search-form { grid-column: 1 / -1; }
}
@media (min-width: 64rem) {
	.pka-category-layout { grid-template-columns: minmax(0, 1fr) 18rem; }
	.pka-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pka-category-sidebar { grid-template-columns: 1fr; }
	.pka-category-heading { padding: var(--pka-space-4) var(--pka-space-6) var(--pka-space-3); }
	.pka-category-card h2 { font-size: var(--pka-font-size-body); }
}
