
/* REVELARTEURS public Entries index
   v0.1.18 — functional visual baseline --------------------------------- */

#top.rv-site .rv-entries {
	width: min(100% - 96px, 1560px);
	margin: 0 auto;
	padding: clamp(56px, 5.8vw, 88px) 0 clamp(72px, 7vw, 112px);
	color: var(--rv-ink);
}

#top.rv-site .rv-entries-header {
	max-width: 780px;
	margin-bottom: clamp(34px, 4vw, 52px);
}

#top.rv-site .rv-entries-eyebrow {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rv-blue-gray);
}

#top.rv-site .rv-entries-header h1 {
	margin: .22rem 0 .55rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.2rem, 6vw, 6rem);
	font-weight: 400;
	line-height: .94;
	letter-spacing: -.024em;
	color: var(--rv-ink);
}

#top.rv-site .rv-entries-header p {
	max-width: 42rem;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.58;
	color: var(--rv-ink-soft);
}

/* Chips ----------------------------------------------------------------- */

#top.rv-site .rv-entries-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	column-gap: 1rem;
	margin-bottom: clamp(34px, 4vw, 52px);
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--rv-rule);
}

#top.rv-site .rv-entries-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	grid-column: 1;
}

#top.rv-site .rv-entries-filter {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: .46rem .76rem;
	border: 1px solid var(--rv-rule);
	border-radius: 999px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .68rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--rv-ink-soft);
	background: transparent;
}

#top.rv-site .rv-entries-filter:hover,
#top.rv-site .rv-entries-filter:focus-visible {
	border-color: var(--rv-blue-gray);
	color: var(--rv-ink);
}

#top.rv-site .rv-entries-filter.is-active {
	border-color: var(--rv-blue-gray);
	background: rgba(79,107,122,.06);
	color: var(--rv-ink);
}

/* Grid ------------------------------------------------------------------ */

#top.rv-site .rv-entries-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.2rem, 2vw, 2rem);
}

#top.rv-site .rv-entry-card {
	margin: 0;
	min-width: 0;
	border-top: 1px solid var(--rv-rule);
	padding-top: .8rem;
}

#top.rv-site .rv-entry-card-link {
	display: grid;
	gap: .85rem;
	color: inherit;
	text-decoration: none;
}

#top.rv-site .rv-entry-card-media {
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
	background: rgba(79,107,122,.035);
}

#top.rv-site .rv-entry-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .18s ease;
}

#top.rv-site .rv-entry-card-link:hover .rv-entry-card-media img,
#top.rv-site .rv-entry-card-link:focus-visible .rv-entry-card-media img {
	transform: scale(1.012);
}

#top.rv-site .rv-entry-card-copy {
	display: grid;
	gap: .42rem;
}

#top.rv-site .rv-entry-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .64rem;
	line-height: 1.35;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--rv-ink-soft);
}

#top.rv-site .rv-entry-card-type {
	color: var(--rv-blue-gray);
}

#top.rv-site .rv-entry-card-meta > * + *::before {
	content: "·";
	margin-right: .5rem;
	color: var(--rv-rule);
}

#top.rv-site .rv-entry-card h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.4rem, 1.8vw, 1.8rem);
	font-weight: 400;
	line-height: 1.08;
	color: var(--rv-ink);
}

#top.rv-site .rv-entry-card p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: var(--rv-ink-soft);
}

#top.rv-site .rv-entry-card-read {
	margin-top: .25rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .66rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rv-blue-gray);
}

#top.rv-site .rv-entry-card-link:hover h2,
#top.rv-site .rv-entry-card-link:focus-visible h2,
#top.rv-site .rv-entry-card-link:hover .rv-entry-card-read,
#top.rv-site .rv-entry-card-link:focus-visible .rv-entry-card-read {
	color: var(--rv-rust);
}

/* Pagination ------------------------------------------------------------ */

#top.rv-site .rv-entries-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(.85rem, 1.6vw, 1.3rem);
	font-family: Arial, Helvetica, sans-serif;
	font-size: .68rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1;
}

#top.rv-site .rv-entries-pagination.is-top {
	grid-column: 2;
}

#top.rv-site .rv-entries-pagination.is-bottom {
	margin-top: clamp(44px, 5vw, 72px);
	padding-top: 1rem;
	border-top: 1px solid var(--rv-rule);
}

#top.rv-site .rv-entries-page-control,
#top.rv-site .rv-entries-page-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	min-height: 1.4rem;
	white-space: nowrap;
}

#top.rv-site .rv-entries-page-control {
	color: var(--rv-ink);
	font-weight: 700;
	text-decoration: none;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	transition: color .18s ease, opacity .18s ease;
}

#top.rv-site a.rv-entries-page-control:hover,
#top.rv-site a.rv-entries-page-control:focus-visible {
	color: var(--rv-rust);
	text-decoration: underline;
}

#top.rv-site .rv-entries-page-control.is-disabled {
	color: var(--rv-rule);
	opacity: .58;
	cursor: default;
}

#top.rv-site .rv-entries-page-status {
	min-width: 4.7rem;
	color: var(--rv-ink-soft);
}

#top.rv-site .rv-entries-empty {
	padding: 2rem 0;
	color: var(--rv-ink-soft);
	border-top: 1px solid var(--rv-rule);
}

@media only screen and (max-width: 1199px) {
	#top.rv-site .rv-entries-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 989px) {
	#top.rv-site .rv-entries-toolbar {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	#top.rv-site .rv-entries-filters,
	#top.rv-site .rv-entries-pagination.is-top {
		grid-column: 1;
	}

	#top.rv-site .rv-entries-pagination.is-top {
		justify-self: center;
	}

	#top.rv-site .rv-entries {
		width: min(100% - 56px, 1560px);
	}

	#top.rv-site .rv-entries-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 640px) {
	#top.rv-site .rv-entries {
		width: min(100% - 36px, 1560px);
		padding-top: 42px;
	}

	#top.rv-site .rv-entries-grid {
		grid-template-columns: 1fr;
	}

}


/* v0.1.19 — archival card treatment ------------------------------------ */

/* Remove redundant Enfold title/breadcrumb strip on Entries only. */
body.rv-entries-page .title_container {
	display: none !important;
}

/* Pull the actual publication heading slightly upward now that titlebar is gone. */
#top.rv-site .rv-entries {
	padding-top: clamp(46px, 5vw, 72px);
}

/* Chips: quieter, more tactile, less generic-pill. */
#top.rv-site .rv-entries-filter {
	min-height: 32px;
	padding: .42rem .72rem;
	border-radius: 7px;
	background: rgba(245, 240, 231, .34);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

#top.rv-site .rv-entries-filter.is-active {
	background: rgba(79,107,122,.075);
	box-shadow: inset 0 -1px 0 rgba(31,42,54,.08);
}

/* Cards become quiet archival/reference objects. */
#top.rv-site .rv-entry-card {
	position: relative;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(31,42,54,.12);
	border-radius: 7px;
	background:
		linear-gradient(
			to bottom,
			rgba(255,255,255,.12),
			rgba(255,255,255,0) 24%
		),
		rgba(245,240,231,.34);
	box-shadow:
		0 1px 0 rgba(31,42,54,.025),
		inset 0 0 0 1px rgba(255,255,255,.12);
	overflow: hidden;
	transition:
		transform .16s ease,
		border-color .16s ease,
		background-color .16s ease;
}

#top.rv-site .rv-entry-card::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	background:
		linear-gradient(
			115deg,
			rgba(160,95,70,.025),
			transparent 28%,
			transparent 74%,
			rgba(79,107,122,.02)
		);
}

#top.rv-site .rv-entry-card:hover,
#top.rv-site .rv-entry-card:focus-within {
	transform: translateY(-1px);
	border-color: rgba(79,107,122,.28);
	background-color: rgba(245,240,231,.46);
}

#top.rv-site .rv-entry-card-link {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0;
	height: 100%;
}

/* Media gets a mounted-print feeling without fake vintage effects. */
#top.rv-site .rv-entry-card-media {
	aspect-ratio: 4 / 3;
	margin: .72rem .72rem 0;
	border: 1px solid rgba(31,42,54,.1);
	border-radius: 4px;
	overflow: hidden;
	background: rgba(31,42,54,.035);
}

#top.rv-site .rv-entry-card-media img {
	transition: transform .18s ease, filter .18s ease;
}

#top.rv-site .rv-entry-card-link:hover .rv-entry-card-media img,
#top.rv-site .rv-entry-card-link:focus-visible .rv-entry-card-media img {
	transform: scale(1.008);
}

/* Copy area gives image and no-image cards the same internal rhythm. */
#top.rv-site .rv-entry-card-copy {
	display: grid;
	align-content: start;
	gap: .44rem;
	min-height: 210px;
	padding: .9rem .9rem 1rem;
}

#top.rv-site .rv-entry-card:not(:has(.rv-entry-card-media)) .rv-entry-card-copy {
	min-height: 100%;
	padding-top: 1rem;
}

/* Metadata more like index notation than blog chrome. */
#top.rv-site .rv-entry-card-meta {
	font-size: .61rem;
	letter-spacing: .095em;
	color: var(--rv-ink-soft);
}

#top.rv-site .rv-entry-card-type {
	color: var(--rv-blue-gray);
}

/* Titles: less shouty, more card-catalogue. */
#top.rv-site .rv-entry-card h2 {
	font-size: clamp(1.28rem, 1.55vw, 1.62rem);
	line-height: 1.04;
	letter-spacing: -.012em;
	text-wrap: balance;
}

#top.rv-site .rv-entry-card p {
	font-size: .86rem;
	line-height: 1.48;
}

#top.rv-site .rv-entry-card-read {
	margin-top: auto;
	padding-top: .35rem;
	font-size: .63rem;
}

/* Tiny category accent, still one visual family. */
#top.rv-site .rv-entry-card .rv-entry-card-type::before {
	content: "";
	display: inline-block;
	width: .48rem;
	height: 1px;
	margin-right: .38rem;
	vertical-align: middle;
	background: currentColor;
	opacity: .65;
}

/* Slightly soften the grid rhythm. */
#top.rv-site .rv-entries-grid {
	gap: clamp(1rem, 1.65vw, 1.65rem);
}

/* Keep cards from becoming towers when titles are very long. */
#top.rv-site .rv-entry-card h2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}

@media only screen and (max-width: 1199px) {
	#top.rv-site .rv-entry-card-copy {
		min-height: 190px;
	}
}

@media only screen and (max-width: 640px) {
	#top.rv-site .rv-entry-card {
		border-radius: 6px;
	}

	#top.rv-site .rv-entry-card-copy {
		min-height: 0;
	}

	#top.rv-site .rv-entry-card h2 {
		-webkit-line-clamp: initial;
	}
}


/* v0.1.21 — Entries top rhythm + AJAX state ----------------------------- */

/*
 * Enfold's page content carries its own top padding. The Entries component
 * already owns its spacing, so neutralize the duplicate layer on this page.
 */
body.rv-entries-page #main .container_wrap_first .content,
body.rv-entries-page #main .template-page.content {
	padding-top: 0 !important;
}

/* Reduce the publication heading gap without crowding the header. */
#top.rv-site .rv-entries {
	padding-top: clamp(28px, 3.2vw, 46px);
}

/* Progressive loading remains deliberately quiet. */
#top.rv-site .rv-entries-results {
	transition: opacity .14s ease;
}

#top.rv-site .rv-entries.is-loading .rv-entries-results {
	opacity: .42;
	pointer-events: none;
}

#top.rv-site .rv-entries.is-loading .rv-entries-filter {
	pointer-events: none;
}

@media only screen and (max-width: 640px) {
	#top.rv-site .rv-entries {
		padding-top: 28px;
	}
}





/* v0.1.24 — use the site's canonical container -------------------------- */

/*
 * No Entries-specific outer margins or max-width.
 * Header and Entries both use the existing REVELARTEURS container rule:
 *     .rv-site .container { max-width: 1440px; }
 */
#top.rv-site .rv-entries {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* v0.1.41 — administrator Studio shortcut on Entries cards. */
#top.rv-site .rv-entry-card .rv-card-admin-edit {
	position: absolute;
	right: .58rem;
	bottom: .52rem;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--rv-ink);
	opacity: .34;
	text-decoration: none;
}

#top.rv-site .rv-entry-card .rv-card-admin-edit svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.3;
	stroke-linecap: square;
	stroke-linejoin: miter;
}

#top.rv-site .rv-entry-card .rv-card-admin-edit:hover,
#top.rv-site .rv-entry-card .rv-card-admin-edit:focus-visible {
	opacity: 1;
	color: var(--rv-rust);
}
