/*
 * DNews cards: lead (category and tag archives) and row (search, 404, author).
 * Loaded with the Post Template block. The home list is the dnews/post-list
 * block, styled in the plugin.
 */
.dnews-stack {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dnews-stack > li {
	margin: 0;
}

.dnews-stack {
	display: grid;
	gap: var(--wp--preset--spacing--space-4);
}

@media (min-width: 481px) {

	.dnews-stack {
		gap: var(--wp--preset--spacing--space-7);
	}
}

/* Shared card text. */
.dnews-card__title {
	margin: 0 0 var(--wp--preset--spacing--space-1);
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--type--card-title--weight);
	line-height: var(--wp--custom--type--card-title--line-height);
	letter-spacing: var(--wp--custom--type--base--tracking);
	word-spacing: var(--wp--custom--type--card-title--word-spacing);
}

.dnews-card__meta {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	letter-spacing: var(--wp--custom--type--meta--date-tracking);
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-text);
}

.dnews-card .wp-block-post-terms a {
	text-decoration: none;
}

/* Only the first (primary) category shows as a badge or label. */
.dnews-card .wp-block-post-terms a:nth-of-type(n + 2),
.dnews-card .wp-block-post-terms .wp-block-post-terms__separator {
	display: none;
}

/*
 * Lead card: 16:9 image on phones and 2:1 from 768px, with a white card
 * overlapping it. The thumbnail box owns the ratio (the image fills it), so
 * the pattern carries no aspectRatio attribute.
 */
.dnews-card--lead .dnews-thumb {
	margin: 0;
	aspect-ratio: var(--wp--custom--ratio--lead-mobile);
}

@media (min-width: 768px) {

	.dnews-card--lead .dnews-thumb {
		aspect-ratio: var(--wp--custom--ratio--lead);
	}
}

.dnews-card--lead .dnews-card__body {
	position: relative;
	z-index: 3;
	margin: calc(-1 * var(--wp--preset--spacing--space-8)) var(--wp--preset--spacing--space-4) 0;
	padding: var(--wp--preset--spacing--space-4);
	background: var(--wp--preset--color--surface);
}

@media (min-width: 768px) {

	.dnews-card--lead .dnews-card__body {
		margin: calc(-1 * var(--wp--preset--spacing--space-9)) var(--wp--preset--spacing--space-5) 0;
		padding: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-7) var(--wp--preset--spacing--space-5);
	}
}

.dnews-card--lead .dnews-card__body > * {
	margin-block: 0;
}

.dnews-card--lead .dnews-card__category {
	font-size: var(--wp--preset--font-size--micro);
	color: var(--wp--preset--color--muted-text);
}

.dnews-card--lead .dnews-card__category a {
	color: var(--wp--preset--color--muted-text);
}

.dnews-card--lead .dnews-card__title {
	margin: 0 auto var(--wp--preset--spacing--space-2);
	font-size: var(--wp--preset--font-size--lead-title);
	font-weight: var(--wp--custom--type--lead-title--weight);
	line-height: var(--wp--custom--type--lead-title--line-height);
	letter-spacing: var(--wp--custom--type--lead-title--tracking);
	word-spacing: var(--wp--custom--type--lead-title--word-spacing);
}

.dnews-card--lead .dnews-card__meta {
	gap: var(--wp--preset--spacing--space-2);
	margin-bottom: var(--wp--preset--spacing--space-3);
}

.dnews-card--lead .wp-block-post-excerpt {
	margin-bottom: var(--wp--preset--spacing--space-4);
	font-size: var(--wp--preset--font-size--small);
}

.dnews-card--lead .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.dnews-card .wp-block-post-author-name a,
.dnews-card .wp-block-post-author__name {
	color: var(--wp--preset--color--accent-text);
}

.dnews-card .wp-block-post-author__byline {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--muted-text);
}

.dnews-card .wp-block-post-author {
	display: inline-block;
}

.dnews-card .wp-block-post-author__name {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	font-weight: var(--wp--custom--type--heading--weight);
}

/* Read more: unique name comes from the block's screen-reader suffix. */
.dnews-card--lead .wp-block-read-more:focus-visible {
	background: var(--wp--preset--color--button-hover-bg);
	color: var(--wp--preset--color--button-hover-text);
}

/* Row card: thumbnail 120 / 200 / 260px (sizes list in functions.php). */
.dnews-card--row {
	--dnews-row-thumb: 120px;

	display: grid;
	grid-template-columns: var(--dnews-row-thumb) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--space-2);
	align-items: start;
}

.dnews-card--row > * {
	margin-block: 0;
}

.dnews-card--row .dnews-thumb {
	margin: 0;
	aspect-ratio: var(--wp--custom--ratio--card);
}

.dnews-card--row .dnews-card__body > * {
	margin-block: 0;
}

/*
 * Row title: base size with the card weight on every width. The old 400 weight
 * under 481px and the 14px dip at 768px made titles smaller on tablets than on
 * phones (Maya F6).
 */
.dnews-card--row .dnews-card__title {
	margin-bottom: var(--wp--preset--spacing--space-2);
}

.dnews-card--row .dnews-card__meta {
	gap: var(--wp--preset--spacing--space-2);
	margin-bottom: var(--wp--preset--spacing--space-2);
}

.dnews-card--row .wp-block-post-excerpt {
	display: none;
	font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 481px) {

	.dnews-card--row {
		--dnews-row-thumb: 200px;

		gap: var(--wp--preset--spacing--space-7);
	}

	.dnews-card--row .wp-block-post-excerpt {
		display: block;
	}
}

@media (min-width: 1024px) {

	.dnews-card--row .dnews-card__title {
		font-size: var(--wp--preset--font-size--card-title);
		letter-spacing: var(--wp--custom--type--card-title--tracking);
	}
}

@media (min-width: 1025px) {

	.dnews-card--row {
		--dnews-row-thumb: 260px;
	}
}

/*
 * Author header: core has no author context outside a post, so the first card
 * carries it
 * and every other copy stays hidden.
 */
.dnews-author-head {
	display: none;
}

.dnews-stack > li:first-child .dnews-author-head {
	display: block;
	margin-block-end: var(--wp--preset--spacing--space-7);
}

.dnews-author-head .wp-block-post-author {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-5);
}

.dnews-author-head .wp-block-post-author__avatar {
	margin: 0;
}

.dnews-author-head .wp-block-post-author__avatar img {
	border-radius: 100%;
}

.dnews-author-head .wp-block-post-author__name {
	margin: 0 0 var(--wp--preset--spacing--space-1);
	font-size: var(--wp--preset--font-size--card-title);
	font-weight: var(--wp--custom--type--card-title--weight);
}

.dnews-author-head .wp-block-post-author__bio {
	margin: 0;
	color: var(--wp--preset--color--muted-text);
}

.dnews-card--row .dnews-card__body {
	min-width: 0;
}

/* "by Name" reads inline. */
.dnews-card .wp-block-post-author__content {
	display: block;
	min-width: 0;
}

.dnews-card .wp-block-post-author__byline,
.dnews-card .wp-block-post-author__name {
	display: inline;
	margin: 0;
}

.dnews-card .wp-block-post-author__byline {
	margin-inline-end: 0.3em;
}
