/*
 * Ulistema — archive.css
 * Archivi (categoria, tag, autore, data), ricerca e 404 (archive.php, search.php, 404.php).
 * Non sono nel design: stesso linguaggio visivo (titolo di sezione come h1, card A in griglia, slot ADV,
 * filetti, rosso solo per l'evidenza). Il modulo di ricerca grande (.ul-searchform) è in base.css.
 * Mobile first: < 768 · 768–1023 · ≥ 1024.
 */

/* ---------- Testata: breadcrumb, h1, descrizione / box autore / ricerca ---------- */
.ul-archive__crumb { padding-top: 14px; }
.ul-archive__head {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	padding-top: 16px;
}
.ul-archive__head .ul-sechead { margin-bottom: 0; }
.ul-archive__desc,
.ul-archive__lead {
	max-width: 720px;
	margin: 0;
	font: 500 15px/1.5 var(--ul-font);
	color: var(--ul-dek);
}
.ul-archive__desc > * { margin: 0; }
.ul-archive__desc > * + * { margin-top: 10px; }
.ul-archive__desc a { color: inherit; text-decoration: underline; text-decoration-color: var(--ul-red); text-underline-offset: 3px; }
.ul-archive__desc a:hover { color: var(--ul-red); }
.ul-archive__body { padding-top: 24px; }
.ul-archive__empty { margin: 0; font-size: 15px; color: var(--ul-dek); }

/* ---------- Articolo in evidenza (foto 16:9 + h2) ---------- */
.ul-lead {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--ul-rule);
	cursor: pointer;
}
.ul-lead__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--ul-black); transition: filter .2s; }
.ul-lead__media img { width: 100%; height: 100%; object-fit: cover; }
/* Apertura di solo testo (Frammenti vecchi, ulistema_archive_lead): titolo e sommario più grandi al posto della foto */
.ul-lead--senza-foto .ul-lead__title { font-size: 30px; }
.ul-lead--senza-foto .ul-lead__dek { font-size: 16px; }
@media (min-width: 768px) {
	.ul-lead--senza-foto .ul-lead__title { font-size: 40px; line-height: 1.04; }
	.ul-lead--senza-foto .ul-lead__dek { font-size: 18px; }
}
.ul-lead__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ul-lead__title {
	margin: 0;
	font: 800 24px/1.08 var(--ul-font);
	letter-spacing: -.02em;
	overflow-wrap: break-word;
}
.ul-lead__link { color: inherit; }
.ul-lead__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ul-lead__link:focus-visible { outline: none; }
.ul-lead:has(.ul-lead__link:focus-visible) { outline: 2px solid var(--ul-red); outline-offset: 2px; }
.ul-lead:hover .ul-lead__link { color: var(--ul-red); }
.ul-lead:hover .ul-lead__media { filter: brightness(.92); }
.ul-lead__dek { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ul-dek); }
.ul-lead__meta { margin: 0; font-size: 12px; color: var(--ul-meta); }

/* ---------- Griglia (.ul-grid in base.css) divisa dallo slot dopo la prima riga ---------- */
.ul-archive__grid + .ul-archive__grid,
.ul-archive .ul-adv-row + .ul-archive__grid { margin-top: 28px; }
.ul-archive .ul-archive__grid + .ul-adv-row { margin-top: 32px; }

/* ---------- Altre sezioni (ultime notizie su 404 e ricerca senza risultati) ---------- */
.ul-archive__more { padding-top: 32px; }

/* ---------- Ricerca senza risultati ---------- */
.ul-noresults { max-width: 720px; font-size: 15px; line-height: 1.55; }
.ul-noresults p { margin: 0 0 8px; }
.ul-noresults__title { font: 700 17px/1.3 var(--ul-font); }
.ul-noresults ul { margin: 0; padding-left: 1.2em; }
.ul-noresults li + li { margin-top: 4px; }

/* ---------- Box autore (come .ul-art__authorbox di single.css) ---------- */
.ul-authorbox {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	padding: 16px;
	box-shadow: inset 0 0 0 1px var(--ul-black);
}
.ul-authorbox__initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--ul-black);
	color: var(--ul-white);
	font: 800 13px var(--ul-font);
}
/* Foto autore: stesso riquadro e stesse misure delle iniziali, foto a riempirlo. */
.ul-authorbox__initials--foto { overflow: hidden; }
.ul-authorbox__initials--foto .ul-author-photo { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; } /* foto non quadrate: il viso, di solito in alto */
.ul-authorbox__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ul-authorbox__name { margin: 0; font: 800 14px var(--ul-font); }
.ul-authorbox__count {
	margin: 0;
	font: 700 11px/14px var(--ul-font);
	color: var(--ul-red);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.ul-authorbox__bio { margin: 0; font-size: 12px; line-height: 1.5; color: var(--ul-dek); }
.ul-authorbox__bio a { color: inherit; text-decoration: underline; }

/* ---------- Paginazione (WP-PageNavi o the_posts_pagination): quadrati 1px nero, corrente rossa ---------- */
.ul-pagination { margin-top: 36px; }
.ul-pagination .wp-pagenavi,
.ul-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
}
.ul-pagination .wp-pagenavi > a,
.ul-pagination .wp-pagenavi > span,
.ul-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--ul-black);
	border-radius: 0;
	background: var(--ul-white);
	color: var(--ul-black);
	font: 700 13px/1 var(--ul-font);
	text-decoration: none;
	white-space: nowrap;
}
.ul-pagination a:hover { border-color: var(--ul-red); color: var(--ul-red); }
.ul-pagination .wp-pagenavi > .current,
.ul-pagination .page-numbers.current {
	border-color: var(--ul-red);
	background: var(--ul-red);
	color: var(--ul-white);
}
.ul-pagination .wp-pagenavi > .pages {
	flex-basis: 100%;
	height: auto;
	margin-bottom: 4px;
	padding: 0;
	border: 0;
	background: none;
	font: 600 12px var(--ul-font);
	color: var(--ul-meta);
}
.ul-pagination .wp-pagenavi > .extend,
.ul-pagination .page-numbers.dots {
	min-width: 0;
	padding: 0 2px;
	border: 0;
	background: none;
}
/* Mobile: niente salti di 10 pagine (WP-PageNavi li stampa con la classe che inizia per «larger»/«smaller»), né
   «Prima»/«Ultima», né puntini; quadrati 44×44 (area di tocco minima): « + 5 numeri + » stanno in una riga a 390 */
@media (max-width: 767.98px) {
	.ul-pagination .wp-pagenavi > a[class^="larger"],
	.ul-pagination .wp-pagenavi > a[class^="smaller"],
	.ul-pagination .wp-pagenavi > .first,
	.ul-pagination .wp-pagenavi > .last,
	.ul-pagination .wp-pagenavi > .extend { display: none; }
	.ul-pagination .wp-pagenavi, .ul-pagination .nav-links { gap: 4px; }
	.ul-pagination .wp-pagenavi > a,
	.ul-pagination .wp-pagenavi > span:not(.pages),
	.ul-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 10px; }
}

/* ---------- Tablet (≥ 768) ---------- */
@media (min-width: 768px) {
	.ul-archive__head { gap: 16px; }
	.ul-archive__desc, .ul-archive__lead { font-size: 16px; }
	.ul-archive__grid + .ul-archive__grid,
	.ul-archive .ul-adv-row + .ul-archive__grid { margin-top: 32px; }
	.ul-lead__title { font-size: 32px; line-height: 1.05; }
	.ul-lead__dek { font-size: 16px; }

	.ul-authorbox { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 20px; }
	.ul-authorbox__initials { width: 48px; height: 48px; font-size: 16px; }
	.ul-authorbox__text { gap: 6px; }
	.ul-authorbox__name { font-size: 16px; }
	.ul-authorbox__bio { font-size: 13px; }
}

/* ---------- Desktop (≥ 1024): evidenza 8/4 come la griglia dell'articolo ---------- */
@media (min-width: 1024px) {
	.ul-archive__crumb { padding-top: 20px; }
	.ul-archive__head { gap: 18px; padding-top: 20px; }
	.ul-archive__body { padding-top: 32px; }
	.ul-archive__more { padding-top: 40px; }
	.ul-archive .ul-archive__grid + .ul-adv-row { margin-top: 36px; }
	.ul-archive .ul-adv-row + .ul-archive__grid { margin-top: 36px; }

	.ul-lead {
		display: grid;
		grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
		align-items: end;
		gap: 32px;
		margin-bottom: 36px;
		padding-bottom: 36px;
	}
	.ul-lead__body { gap: 14px; padding-bottom: 4px; }
	.ul-lead__title { font-size: 36px; line-height: 1.02; letter-spacing: -.03em; }
	.ul-lead__dek { font-size: 17px; line-height: 1.45; }
	.ul-lead__meta { font-size: 13px; }

	.ul-pagination { margin-top: 40px; }

	/* Apertura di solo testo: una colonna, testo largo al più 860 px */
	.ul-lead.ul-lead--senza-foto { grid-template-columns: minmax(0, 1fr); }
	.ul-lead--senza-foto .ul-lead__body { max-width: 860px; gap: 16px; padding-bottom: 0; }
	.ul-lead--senza-foto .ul-lead__title { font-size: 48px; line-height: 1.02; }
	.ul-lead--senza-foto .ul-lead__dek { font-size: 19px; line-height: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
	.ul-lead__media { transition: none; }
}
