/* Albums photos — charte du site : bleu #134558, filets #dde4e7, fond #f3f5f6, Roboto */

/* ----- Page « Photos » : les albums en cartes, par année ----- */
.ba-albums { max-width: 1080px; margin: 0 auto; }
.ba-albums__annee { margin: 0 0 56px; }
.ba-albums__titre { margin: 0 0 22px !important; padding: 0 0 10px !important; border-bottom: 1px solid #dde4e7; text-align: left; font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.1 !important; }
.ba-albums__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 30px; }
.ba-carte { display: flex; flex-direction: column; background: #fff; border: 1px solid #dde4e7; color: #134558 !important; text-decoration: none !important; transition: box-shadow .25s ease, transform .25s ease; }
.ba-carte:hover, .ba-carte:focus-visible { box-shadow: 0 10px 28px rgba(19, 69, 88, .16); transform: translateY(-3px); }
.ba-carte__photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f3f5f6; }
.ba-carte__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ba-carte:hover .ba-carte__photo img { transform: scale(1.04); }
.ba-carte__corps { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 20px; }
.ba-carte__dates { font-size: 13px; font-weight: 600; letter-spacing: 1.5px; line-height: 1.5; text-transform: uppercase; }
.ba-carte__titre { font-size: 22px; font-weight: 400; line-height: 1.3; }
.ba-carte__nb { font-size: 15px; font-weight: 300; opacity: .8; }
.ba-carte__brouillon { align-self: flex-start; padding: 2px 8px; border-radius: 10px; background: #fbe0e0; color: #8a1f1f; font-size: 12px; }
.ba-albums__vide { padding: 1.5em 1em; background: #f3f5f6; text-align: center; font-style: italic; color: #134558; }

/* ----- Page d'un album ----- */
.ba-album__entete { margin: 0 0 1.6em; text-align: center; color: #134558; }
.ba-album__meta { margin: 0 0 .4em; padding: 0; font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.ba-album__liens { margin: 0; padding: 0; font-size: 16px; }
.ba-album__grille { columns: 3 260px; column-gap: 14px; margin: 1.5em 0 0 !important; padding: 0 !important; list-style: none !important; }
.ba-album__grille li { break-inside: avoid; margin: 0 0 14px !important; padding: 0 !important; list-style: none !important; }
.ba-album__grille li::before { content: none !important; }
.ba-album__grille a { display: block; background: #f3f5f6; cursor: zoom-in; }
.ba-album__grille img { display: block; width: 100%; height: auto; transition: opacity .25s ease; }
.ba-album__grille a:hover img, .ba-album__grille a:focus-visible img { opacity: .88; }

/* ----- Visionneuse plein écran ----- */
html.ba-v-ouvert { overflow: hidden; }
.ba-visionneuse { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; background: rgba(10, 16, 12, .94); }
.ba-visionneuse[hidden] { display: none; }
.ba-v-fig { margin: 0; max-width: min(94vw, 1500px); text-align: center; }
.ba-v-fig img { display: block; max-width: 94vw; max-height: 82vh; width: auto; height: auto; margin: 0 auto; object-fit: contain; }
.ba-v-fig figcaption { margin-top: 12px; padding: 0 12px; color: #e9e4d6; font-size: 14px; line-height: 1.5; }
.ba-visionneuse button { position: absolute; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(0, 0, 0, .35); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; transition: background .2s ease; }
.ba-visionneuse button:hover, .ba-visionneuse button:focus-visible { background: rgba(255, 255, 255, .22); outline: 2px solid #fff; outline-offset: 2px; }
.ba-v-fermer { top: 16px; right: 16px; }
.ba-v-prec { left: 16px; top: 50%; margin-top: -26px; }
.ba-v-suiv { right: 16px; top: 50%; margin-top: -26px; }
@media (max-width: 600px) {
	.ba-v-prec, .ba-v-suiv { top: auto; bottom: 18px; margin-top: 0; }
	.ba-v-fig img { max-height: 74vh; }
}
@media (prefers-reduced-motion: reduce) {
	.ba-carte, .ba-carte__photo img, .ba-album__grille img { transition: none; }
}

/* La couverture de l'album est la première photo de la grille : inutile de l'afficher deux fois. */
body.single-album .et_pb_image_0_tb_body { display: none; }
