/* ==========================================================================
   Archive — listy (archiwa, autor, wyszukiwarka, lista wpisów bloga, 404).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Wrapper listy
   -------------------------------------------------------------------------- */
.ws-list {
	padding-block: var(--ws-space-7) var(--ws-space-8);
}

.ws-list__head {
	margin-bottom: var(--ws-space-7);
	padding-bottom: var(--ws-space-4);
	border-bottom: 1px solid var(--ws-ink);
}

.ws-list__title {
	font-size: var(--ws-text-3xl);
	margin: 0;
}

.ws-list__title span { color: var(--ws-accent); }

.ws-list__desc {
	margin-top: var(--ws-space-3);
	color: var(--ws-ink-soft);
	max-width: 720px;
}

.ws-list__subtitle {
	font-size: var(--ws-text-2xl);
	margin: var(--ws-space-7) 0 var(--ws-space-5);
}

/* --------------------------------------------------------------------------
   2. Paginacja
   -------------------------------------------------------------------------- */
.ws-pagination {
	margin-top: var(--ws-space-7);
}

.ws-pagination ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: var(--ws-space-2);
	margin: 0;
	padding: 0;
}

.ws-page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding-inline: var(--ws-space-3);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-surface);
	color: var(--ws-ink);
	font-size: var(--ws-text-sm);
	font-weight: 600;
}

a.ws-page-numbers:hover,
a.ws-page-numbers:focus {
	border-color: var(--ws-accent);
	color: var(--ws-accent);
}

.ws-page-numbers.current {
	background: var(--ws-accent);
	border-color: var(--ws-accent);
	color: var(--ws-on-dark);
}

.ws-page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* --------------------------------------------------------------------------
   3. Nagłówek autora
   -------------------------------------------------------------------------- */
.ws-author-head {
	display: flex;
	gap: var(--ws-space-6);
	align-items: flex-start;
	margin-bottom: var(--ws-space-7);
	padding-bottom: var(--ws-space-6);
	border-bottom: 1px solid var(--ws-line);
}

.ws-author-head__avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.ws-author-head__name {
	font-size: var(--ws-text-3xl);
	margin: var(--ws-space-2) 0;
}

.ws-author-head__role {
	font-size: var(--ws-text-sm);
	color: var(--ws-muted);
	margin: 0 0 var(--ws-space-3);
}

.ws-author-head__bio {
	color: var(--ws-ink-soft);
	max-width: 720px;
	margin: 0;
}

/* --------------------------------------------------------------------------
   4. Stan pusty (brak wyników)
   -------------------------------------------------------------------------- */
.ws-empty {
	max-width: 600px;
	padding-block: var(--ws-space-7);
}

.ws-empty__title {
	font-size: var(--ws-text-2xl);
	margin: 0 0 var(--ws-space-3);
}

.ws-empty__text {
	color: var(--ws-ink-soft);
	margin: 0 0 var(--ws-space-5);
}

.ws-empty__search .search-form,
.ws-404__search .search-form {
	display: flex;
	gap: var(--ws-space-2);
}

.ws-empty__search input[type="search"],
.ws-404__search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: var(--ws-space-3) var(--ws-space-4);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	font: inherit;
	font-size: var(--ws-text-sm);
}

.ws-empty__search input[type="submit"],
.ws-404__search input[type="submit"] {
	padding: var(--ws-space-3) var(--ws-space-5);
	border: 1px solid var(--ws-accent);
	border-radius: var(--ws-radius);
	background: var(--ws-accent);
	color: var(--ws-on-dark);
	font-weight: 600;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   5. 404
   -------------------------------------------------------------------------- */
.ws-404 {
	max-width: 640px;
	padding-block: var(--ws-space-7);
}

.ws-404__code {
	font-family: var(--ws-font-head);
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--ws-accent);
	margin: 0;
}

.ws-404__title {
	font-size: var(--ws-text-3xl);
	margin: var(--ws-space-3) 0;
}

.ws-404__text {
	color: var(--ws-ink-soft);
	margin: 0 0 var(--ws-space-5);
}

.ws-404__search { margin-bottom: var(--ws-space-5); }

/* --------------------------------------------------------------------------
   6. Responsywność
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
	.ws-author-head { flex-direction: column; gap: var(--ws-space-4); }
	.ws-list__title,
	.ws-author-head__name { font-size: var(--ws-text-2xl); }
}
