/* Compléments à la CSS de la charte (« CSS additionnel » du personnalisateur).
   Repris des blocs <style> que le générateur de pages injectait fiche par fiche. */

.fl .card-grid.n1 { grid-template-columns: 1fr; max-width: 720px; }
.fl .card-grid.n2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .fl .card-grid.n2 { grid-template-columns: 1fr; } }

.fl .fiche.fr { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .fl .fiche.fr { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .fl .fiche.fr { grid-template-columns: 1fr; } }

.fl figure.card { margin: 0; }
.fl figure.card figcaption { margin-top: 14px; }
.fl figure.card a { display: block; }

.fl .ph-une { margin: 52px 0 0; }
.fl .ph-une a { display: block; }
.fl .ph-une img { display: block; max-width: 100%; max-height: 82vh; width: auto; height: auto; margin: 0 auto; }
.fl .ph-une figcaption { margin-top: 14px; text-align: center; }

.fl blockquote.cite { margin: 0; padding-left: 26px; border-left: 3px solid #FA9070; }
.fl blockquote.cite p { font-size: 1.25rem; line-height: 1.6; }
.fl blockquote.cite footer { margin-top: 16px; }

/* Filtres de la galerie */
.fl-filtres { display: flex; gap: 12px 30px; flex-wrap: wrap; margin: 40px 0 -20px; }
.fl-filtre {
	background: none; border: 0; padding: 0 0 7px; cursor: pointer;
	color: #8B8475; font-family: inherit; font-size: .78rem; font-weight: 600;
	letter-spacing: .16em; text-transform: uppercase;
	border-bottom: 2px solid transparent; transition: color .15s;
}
.fl-filtre:hover, .fl-filtre:focus-visible { color: #002B41; outline: none; }
.fl-filtre.on { color: #002B41; border-bottom-color: #FA9070; }
.card[hidden] { display: none; }

/* Photo en grand */
.fl-lb {
	position: fixed; inset: 0; z-index: 1000; background: rgba(0, 43, 65, .95);
	display: none; flex-direction: column; align-items: center; justify-content: center; padding: 24px;
}
.fl-lb.on { display: flex; }
.fl-lb img { max-width: 94vw; max-height: 78vh; width: auto; height: auto; object-fit: contain; display: block; }
.fl-lb .cap { color: rgba(255, 255, 255, .78); font-size: .95rem; margin-top: 16px; max-width: 72ch; text-align: center; }
.fl-lb .bar { display: flex; gap: 34px; margin-top: 20px; }
.fl-lb button {
	background: none; border: 0; padding: 0 0 6px; cursor: pointer; color: #fff;
	font-family: inherit; font-size: .78rem; font-weight: 600; letter-spacing: .16em;
	text-transform: uppercase; border-bottom: 2px solid transparent;
}
.fl-lb button:hover, .fl-lb button:focus-visible { border-bottom-color: #FA9070; outline: none; }
