/*
 * Post lists (category, tag, search and index templates, post-list part): page header,
 * `core/query-total` counter, filters column, "See more" and fallback pagination.
 * Measures taken from the former Archive view (`category__*`). Breakpoint: 990px (--wp--custom--breakpoint--tablet).
 */

/* Header: breadcrumbs, then title. */
.category__header.wp-block-group {
	display: block;
}

.category__header .yoast-breadcrumbs {
	margin-bottom: var(--wp--preset--spacing--xl);
	padding: 0 var(--wp--preset--spacing--xl);
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--s);
	line-height: 1.5;
}

.category__header .yoast-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.category__header .yoast-breadcrumbs a:hover,
.category__header .yoast-breadcrumbs a:focus {
	text-decoration: underline;
}

/*
 * Title (core/query-title, or core/heading for search) in the "AFB shadow title" variation, left aligned
 * like the former `titleWithShadowText--alignLeft`. The large pale text comes from `data-shadow` (TitleShadow
 * filter of afb-blocks).
 */
.category__header .category__title.is-style-afb-shadow {
	position: relative;
	/* Own stacking context: the z-index -1 shadow stays above a coloured page header background. */
	isolation: isolate;
	margin: 0 0 var(--wp--preset--spacing--xl);
	padding: calc(var(--wp--preset--spacing--xxl) + var(--wp--preset--spacing--xl)) 0 var(--wp--preset--spacing--xxl);
	font-family: var(--wp--custom--font--heading);
	font-size: 3.5rem;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
}

.category__header .category__title.is-style-afb-shadow::after {
	content: "";
	position: absolute;
	bottom: calc(var(--wp--preset--spacing--xxl) - var(--wp--preset--spacing--m));
	left: 0;
	width: 60px;
	height: var(--wp--custom--title--underline-height);
	background: var(--wp--custom--color--accent);
	transform: none;
}

.category__header .category__title.is-style-afb-shadow[data-shadow]::before {
	content: attr(data-shadow);
	content: attr(data-shadow) / "";
	position: absolute;
	top: calc(var(--wp--preset--spacing--xxl) + var(--wp--preset--spacing--xl) - 40px);
	left: 0;
	z-index: -1;
	display: var(--wp--custom--title--shadow-display);
	width: 100%;
	overflow: hidden;
	color: var(--wp--custom--color--tint);
	font-size: 10rem;
	font-weight: bolder;
	line-height: 1.3;
	white-space: nowrap;
	text-align: left;
	pointer-events: none;
	user-select: none;
}

.category__description {
	margin-bottom: var(--wp--preset--spacing--xl);
}

/* Result counter (core/query-total). */
.category__query .category__count {
	margin: 0 0 var(--wp--preset--spacing--s);
	font-size: var(--wp--preset--font-size--m);
	font-weight: 400;
	line-height: 2.4rem;
}

/* Results: one column on mobile, grid on desktop. */
.category__query .category__result {
	margin: 0;
	padding: 0;
	list-style: none;
}

.category__result > .wp-block-post {
	margin: 0;
	list-style: none;
}

.category__empty {
	font-size: var(--wp--preset--font-size--m);
}

/* Only one of the two "no result" messages: search or archive. */
.category--searchResults .category__empty--archive,
.category:not(.category--searchResults) .category__empty--search {
	display: none;
}

/* "See more" (afb/query-load-more). */
.category__seeMore.wp-block-afb-query-load-more {
	margin-bottom: var(--wp--preset--spacing--xl);
}

.category__seeMore .afb-query-load-more__button {
	display: block;
	padding: var(--wp--preset--spacing--m) var(--wp--preset--spacing--xl);
	border: 1px solid var(--wp--preset--color--afb-dark-red);
	border-radius: 999em;
	background-color: var(--wp--preset--color--afb-dark-red);
	color: var(--wp--preset--color--afb-white);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.category__seeMore .afb-query-load-more__button:hover,
.category__seeMore .afb-query-load-more__button:focus {
	background-color: var(--wp--preset--color--afb-white);
	color: var(--wp--preset--color--afb-dark-red);
}

/*
 * Numbered pagination: fallback without JavaScript only. With JavaScript, "See more" accumulates pages
 * (`?pages=K`), which would make its numbers wrong.
 */
.category__pagination.wp-block-query-pagination {
	display: none;
	gap: var(--wp--preset--spacing--m);
	margin-bottom: var(--wp--preset--spacing--xl);
	font-size: var(--wp--preset--font-size--m);
}

@media (scripting: none) {
	.category__pagination.wp-block-query-pagination {
		display: flex;
	}
}

@media (min-width: 990px) {
	.category__header .category__title.is-style-afb-shadow[data-shadow]::before {
		display: var(--wp--custom--title--shadow-display-tablet);
	}

	.category__header .yoast-breadcrumbs {
		padding: 0;
	}

	.category__query .category__count {
		margin-bottom: var(--wp--preset--spacing--m);
		font-size: var(--wp--preset--font-size--m);
		font-weight: 300;
		line-height: 2.7rem;
	}

	/* Filters on the right (row-reverse), cards on the left. */
	.category__wrapper.wp-block-group {
		position: relative;
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
	}

	.category__content.wp-block-group {
		flex: 1;
		min-width: 0;
	}

	.category__query .category__result {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: var(--wp--preset--spacing--l);
	}

	.category__result > .wp-block-post {
		flex: 0 0 275px;
		width: 275px;
		margin: 0 auto calc(var(--wp--preset--spacing--l) + var(--wp--preset--spacing--xl));
	}
}

@media (min-width: 1280px) {
	.category__header .category__title.is-style-afb-shadow {
		padding: var(--wp--preset--spacing--xxl) 0 var(--wp--preset--spacing--xl);
		font-size: 8rem;
	}

	.category__header .category__title.is-style-afb-shadow::after {
		bottom: calc(var(--wp--preset--spacing--xl) - var(--wp--preset--spacing--m));
	}

	.category__header .category__title.is-style-afb-shadow[data-shadow]::before {
		top: calc(var(--wp--preset--spacing--xxl) - 50px);
		font-size: 18rem;
	}
}
