/**
 * SNYCF — Editorial archives
 *
 * Shared by Latest Stories, borough, issue and content-type archives. Cards,
 * rows, filters and pagination come from components.css; this file is the
 * archive shell only.
 *
 * @package snycf
 */

/* =====================================================================
 * Intro
 * ================================================================== */

.snycf-archive-intro {
	display: flex;
	flex-direction: column;
	gap: var( --snycf-space-2xs );
	padding-block: var( --snycf-section-gap ) var( --snycf-space-md );
	border-bottom: var( --snycf-border-width-rule ) solid var( --snycf-ink );
}

.snycf-archive-intro__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var( --snycf-space-sm ) var( --snycf-space-2xl );
}

.snycf-archive-intro__title {
	margin: 0;
	font-family: var( --snycf-font-editorial ), 'Source Serif Fallback';
	font-weight: var( --snycf-weight-bold );
	font-size: var( --snycf-size-h1 );
	line-height: 1.04;
	letter-spacing: var( --snycf-tracking-headline );
	text-wrap: balance;

	/*
	 * Issue names run to sixty characters. They wrap and break rather than
	 * shrinking — a topic heading stays a heading.
	 */
	overflow-wrap: break-word;
	hyphens: auto;
	min-width: 0;
}

/*
 * Borough names are a single short word, so that archive takes the larger
 * display size from the approved design. Issue archives deliberately do not.
 */
.snycf-archive-intro--display .snycf-archive-intro__title {
	font-size: var( --snycf-size-display );
	line-height: 0.98;
	letter-spacing: var( --snycf-tracking-display );
	hyphens: manual;
}

.snycf-archive-intro__copy {
	flex: 1 1 20rem;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var( --snycf-space-2xs );
	max-width: 38rem;
}

.snycf-archive-intro__copy .snycf-deck {
	margin: 0;
	font-size: var( --snycf-size-prose-sm );
}

.snycf-archive-intro__note {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var( --snycf-text-meta );
}

.snycf-archive-intro__meta {
	margin: var( --snycf-space-2xs ) 0 0;
	font-family: var( --snycf-font-ui ), 'Archivo Fallback';
	font-size: var( --snycf-size-meta );
	font-weight: var( --snycf-weight-bold );
	letter-spacing: var( --snycf-tracking-meta );
	text-transform: uppercase;
	color: var( --snycf-text-meta );
}

.snycf-archive-intro__count {
	color: var( --snycf-accent );
	font-weight: var( --snycf-weight-black );
}

/* =====================================================================
 * Top stories
 * ================================================================== */

.snycf-archive-top__rows {
	display: flex;
	flex-direction: column;
}

.snycf-archive-top__rows > .snycf-row:first-child {
	padding-block-start: 0;
}

@media ( min-width: 64rem ) {

	.snycf-archive-top__lead {
		padding-inline-end: var( --snycf-gap-column );
		border-inline-end: var( --snycf-divider );
	}
}

.snycf-archive-top .snycf-developing {
	margin-top: var( --snycf-space-xl );
}

/* =====================================================================
 * Featured
 * ================================================================== */

.snycf-archive-featured--victim .snycf-featured {
	padding: var( --snycf-space-md );
	border: var( --snycf-border-width-hair ) solid var( --snycf-rule );
}

@media ( min-width: 48rem ) {

	.snycf-archive-featured--victim .snycf-featured {
		padding: var( --snycf-space-xl );
	}
}

/* =====================================================================
 * Filters
 * ================================================================== */

.snycf-archive-filters .snycf-section-heading {
	margin-bottom: var( --snycf-space-sm );
}

.snycf-archive-filters .snycf-filters {
	border-top: 0;
	padding-top: 0;
}

/* =====================================================================
 * Results
 * ================================================================== */

.snycf-archive-list > .snycf-section-heading {
	margin-bottom: var( --snycf-space-sm );
}

.snycf-archive-list__items {
	display: flex;
	flex-direction: column;
}

/* =====================================================================
 * Empty state
 * ================================================================== */

.snycf-archive-empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var( --snycf-space-xs );
	padding: var( --snycf-space-2xl ) var( --snycf-space-md );
	border: var( --snycf-border-width-hair ) solid var( --snycf-rule );
	text-align: start;
}

.snycf-archive-empty__message {
	margin: 0;
	font-family: var( --snycf-font-editorial ), 'Source Serif Fallback';
	font-size: var( --snycf-size-h4 );
	line-height: 1.4;
	color: var( --snycf-text );
	max-width: 40ch;
	text-wrap: pretty;
}

.snycf-archive-empty__actions {
	margin-top: var( --snycf-space-2xs );
}

@media ( min-width: 48rem ) {

	.snycf-archive-empty {
		align-items: center;
		text-align: center;
		padding: var( --snycf-space-3xl ) var( --snycf-space-xl );
	}

	.snycf-archive-empty__actions {
		justify-content: center;
	}
}

/* =====================================================================
 * Records band
 * ================================================================== */

.snycf-archive-records__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var( --snycf-space-sm ) var( --snycf-space-xl );
	margin-bottom: var( --snycf-space-xl );
}

.snycf-archive-records__head .snycf-deck {
	margin: var( --snycf-space-2xs ) 0 0;
	max-width: 34rem;
	font-size: var( --snycf-size-prose-sm );
}

.snycf-archive-records__link {
	flex: none;
}

/* =====================================================================
 * Discovery
 * ================================================================== */

.snycf-archive-discover .snycf-split > div {
	min-width: 0;
}
