/**
 * Ludovic Arnal – Réalisations : styles front des blocs.
 * Couleurs et polices du thème (theme.json), avec valeurs de repli.
 */

.wlr-grille,
.wlr-infos,
.wlr-nav {
	--wlr-encre: var(--wp--preset--color--contrast, #121826);
	--wlr-gris: var(--wp--preset--color--accent-3, #4a5568);
	--wlr-accent: var(--wp--preset--color--accent-1, #2b50e8);
	--wlr-filet: var(--wp--preset--color--accent-4, #e3e7ee);
	--wlr-teinte: var(--wp--preset--color--accent-5, #eef1f7);
	--wlr-surface: var(--wp--preset--color--accent-6, #ffffff);
	--wlr-mono: var(--wp--preset--font-family--jetbrains-mono, ui-monospace, monospace);
	--wlr-titre: var(--wp--preset--font-family--bricolage-grotesque, inherit);
}

/* ── Grille ─────────────────────────────────────────────────── */

.wlr-grille__liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--wlr-colonnes, 3), minmax(0, 1fr));
	gap: 2.25rem 1.75rem;
}

@media (max-width: 1000px) {
	.wlr-grille__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.wlr-grille__liste { grid-template-columns: 1fr; }
}

.wlr-carte { margin: 0; }

.wlr-carte__lien {
	display: block;
	color: inherit;
	text-decoration: none;
}

.wlr-carte__cadre {
	background: var(--wlr-surface);
	border: 1px solid var(--wlr-filet);
	border-radius: 12px;
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.wlr-carte__lien:hover .wlr-carte__cadre,
.wlr-carte__lien:focus-visible .wlr-carte__cadre {
	border-color: var(--wlr-accent);
	transform: translateY(-3px);
	box-shadow: 0 18px 36px -24px rgba(18, 24, 38, .35);
}

/* Barre de navigateur (décorative) */
.wlr-carte__barre {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 12px;
	border-bottom: 1px solid var(--wlr-filet);
}

.wlr-carte__point {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wlr-filet);
	flex: none;
}

.wlr-carte__adresse {
	flex: 1;
	min-width: 0;
	margin-left: 8px;
	padding: 3px 10px;
	border-radius: 6px;
	background: var(--wlr-teinte);
	font-family: var(--wlr-mono);
	font-size: .72rem;
	color: var(--wlr-gris);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Site plus en ligne */
.wlr-carte__archive {
	flex: none;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--wlr-teinte);
	border: 1px solid var(--wlr-filet);
	font-family: var(--wlr-mono);
	font-size: .68rem;
	color: var(--wlr-gris);
}

.wlr-carte__media {
	aspect-ratio: 16 / 10;
	background: var(--wlr-teinte);
}

.wlr-carte__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0; /* le haut des captures de sites est le plus parlant */
}

.wlr-carte__corps { padding: 1.1rem 2px 0; }

.wlr-carte__ligne {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .75rem;
}

.wlr-carte__titre {
	margin: 0;
	font-family: var(--wlr-titre);
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.2;
}

.wlr-carte__annee {
	flex: none;
	font-family: var(--wlr-mono);
	font-size: .78rem;
	color: var(--wlr-gris);
}

.wlr-carte__accroche {
	margin: .4rem 0 0;
	font-size: .93rem;
	line-height: 1.5;
	color: var(--wlr-gris);
	/* trois lignes maximum : les cartes restent alignées */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wlr-grille__tout {
	justify-content: center;
	margin-top: 3rem;
}

/* ── Fiche : visuel ─────────────────────────────────────────── */

.wlr-visuel {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--accent-4, #e3e7ee);
}

.wlr-visuel img {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 782px) {
	/* le visuel reste visible pendant la lecture */
	.wlr-fiche__media .wlr-visuel {
		position: sticky;
		top: 2rem;
	}
}

/* ── Fiche : client, année, site ────────────────────────────── */

.wlr-infos__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3rem;
	margin: 0 0 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wlr-filet);
}

.wlr-infos__item dt {
	font-family: var(--wlr-mono);
	font-size: .75rem;
	color: var(--wlr-gris);
}

.wlr-infos__item dd {
	margin: .2rem 0 0;
	font-weight: 600;
}

.wlr-infos__domaine {
	font-family: var(--wlr-mono);
	font-size: .8em;
	font-weight: 400;
	opacity: .8;
	margin-left: .5em;
}

.wlr-infos__archive {
	margin: 0;
	font-family: var(--wlr-mono);
	font-size: .85rem;
	color: var(--wlr-gris);
}

/* ── Fiche : précédente / suivante ──────────────────────────── */

.wlr-nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1.5rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--wlr-filet);
}

.wlr-nav__lien {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	color: inherit;
	text-decoration: none;
}

.wlr-nav__lien--next {
	grid-column: 3;
	text-align: right;
}

.wlr-nav__sens {
	font-family: var(--wlr-mono);
	font-size: .78rem;
	color: var(--wlr-accent);
}

.wlr-nav__titre {
	font-family: var(--wlr-titre);
	font-size: 1.15rem;
	font-weight: 600;
}

.wlr-nav__lien:hover .wlr-nav__titre { color: var(--wlr-accent); }

.wlr-nav__liste {
	grid-column: 2;
	font-family: var(--wlr-mono);
	font-size: .8rem;
	color: var(--wlr-gris);
}

@media (max-width: 640px) {
	.wlr-nav { grid-template-columns: 1fr 1fr; }
	.wlr-nav__liste { grid-column: 1 / -1; grid-row: 2; text-align: center; }
	.wlr-nav__lien--next { grid-column: 2; }
}

/* Éditeur : textes de remplacement */
.wlr-placeholder {
	padding: 1rem;
	border: 1px dashed currentColor;
	opacity: .6;
	font-size: .9rem;
}
