/* ==========================================================================
   Grille de citations — CSS Grid natif, base 6 colonnes
   ========================================================================== */

   .citation-item.is-lazy-loaded {
			animation: sara-quotes-grid-fade-in 0.4s ease-out;
		}
		@keyframes sara-quotes-grid-fade-in {
			from { opacity: 0; }
			to { opacity: 1; }
		}

		#quotes-grid-filters {
			display: flex;
			flex-wrap: wrap;
			gap: 0.5rem;
			margin-bottom: 1.5rem;
            justify-content: center;
		}
		.quotes-grid-filter {
			border: 0;
			padding: 0.4em 1em;
			cursor: pointer;
			text-decoration: none;
			color: var(--text-default-color);
			font-family: 'BricolageGrotesque24pt-SemiBold';
		}
		.quotes-grid-filter:hover {
			color: var(--text-link-hover-color);
		}
		.quotes-grid-filter.is-active {
			background: var(--text-link-hover-color);
			color: #fff;
		}
		#quotes-grid-content.is-filtering {
			opacity: 0.4;
			pointer-events: none;
			transition: opacity 0.2s ease-out;
		}

#quotes-grid-content.grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-rows: var(--cell-height, 150px); /* recalculé en JS pour rester carré */
	grid-auto-flow: dense; /* comble les trous laissés par les blocs 2x2 */
	gap: 12px;
}

.citation-item--small  { grid-column: span 1; grid-row: span 1; }
.citation-item--medium { grid-column: span 2; grid-row: span 1; }
.citation-item--large  { grid-column: span 2; grid-row: span 2; }

.citation-item {
	box-sizing: border-box;
	font-family: "BricolageGrotesque24pt-Regular";
}

.citation-item-inner {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.citation-item-content {
	position: absolute;
	inset: 0;
}

/* --- Bloc image --- */
.citation-item-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: filter 0.3s ease;
}

/* Survol : duotone bleu projet (#sara-duotone-blue défini en SVG dans page-home.php) —
   les tons sombres de la photo deviennent #0000ff, les tons clairs restent blancs. */
.citation-item--image:hover .citation-item-image {
	filter: url(#sara-duotone-blue);
}
.citation-item-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	gap: 10px;
	padding: 10px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65), transparent);
	color: #fff;
}
.citation-item-date-stack {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
}
.citation-item-related {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 1rem;
	opacity: 0.85;
}

/* --- Bloc texte --- */
.citation-item--text .citation-item-content {
	display: flex;
	align-items: center;
	padding: 16px;
	background: #fff;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: wrap;
}
.citation-item--text .citation-item-text {
	/* Troncage propre si le texte dépasse la hauteur de la case */
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 1.9em;
	line-height: 1.2em;
	color: #000;
	font-family: 'BricolageGrotesque24pt-Regular';
}

.citation-item--text:hover .citation-item-content {background-color: var(--text-link-hover-color);}
.citation-item--text:hover  .citation-item-text, .citation-item--text:hover .citation-item-related {color:#fff}

.citation-item--small.citation-item--text .citation-item-text {
	-webkit-line-clamp: 4;
}
.citation-item--medium.citation-item--text .citation-item-text {
	-webkit-line-clamp: 4;
}
.citation-item--text .citation-item-related {
	color: var(--text-main-nav-active-color);
	margin-top: 8px;
}

/* Pastille de couleur derrière le bloc */
.citation-item--text.has-colorpatch .citation-item-inner {
	position: relative;
}
.citation-item--text.has-colorpatch .citation-item-inner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--text-main-nav-active-color); /* couleur d'accent — à ajuster */
	z-index: 0;
}
.citation-item--text.has-colorpatch .citation-item-content {
	position: relative;
	z-index: 1;
}

/* --- Responsive --- */
@media (max-width: 1119px) {
	#quotes-grid-content.grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.citation-item--text .citation-item-text {
		font-size: 1.5em;
		line-height: 1.2em;
	}
}


@media (max-width: 768px) {
	#quotes-grid-content.grid {
		grid-template-columns: repeat(2, 1fr);
	}
}