/* ============================================================
   WorkZone Masonry Gallery — styles
   Couleur d'accent : #E53A2F
   ============================================================ */

.wz-masonry-grid {
	--wz-gap: 16px;
	--wz-columns: 3;
	margin: 0 calc(var(--wz-gap) / -2);
}

/* Masonry natif positionne chaque item en absolu ; la largeur de colonne
   est calculée depuis --wz-columns (piloté par le contrôle « Colonnes »). */
.wz-masonry-item,
.wz-masonry-sizer {
	width: calc(100% / var(--wz-columns, 3));
	box-sizing: border-box;
}

.wz-masonry-item {
	margin: 0 0 var(--wz-gap) 0;
	padding: 0 calc(var(--wz-gap) / 2);
	float: left;              /* fallback avant init JS */
	position: relative;
	overflow: visible;
}

.wz-masonry-item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	transition: transform 0.4s ease, box-shadow 0.3s ease;
}

/* Clearfix (fallback float avant init masonry) */
.wz-masonry-grid::after {
	content: '';
	display: block;
	clear: both;
}

/* ---------- Effets de survol ---------- */
.wz-hover-zoom .wz-masonry-item { overflow: hidden; border-radius: 10px; }
.wz-hover-zoom .wz-masonry-item:hover img { transform: scale(1.06); }

.wz-hover-lift .wz-masonry-item:hover img {
	transform: translateY(-4px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* Voile rouge + icône loupe */
.wz-overlay {
	position: absolute;
	inset: 0 calc(var(--wz-gap) / 2);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(229, 58, 47, 0.55);
	border-radius: 10px;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.wz-hover-overlay .wz-masonry-item:hover .wz-overlay { opacity: 1; }
/* Sur les autres effets, on garde l'icône discrète au survol */
.wz-hover-zoom .wz-overlay,
.wz-hover-lift .wz-overlay,
.wz-hover-none .wz-overlay { background: rgba(0, 0, 0, 0.28); }
.wz-hover-zoom .wz-masonry-item:hover .wz-overlay,
.wz-hover-lift .wz-masonry-item:hover .wz-overlay,
.wz-hover-none .wz-masonry-item:hover .wz-overlay { opacity: 1; }

.wz-masonry-grid[data-lightbox="yes"] .wz-masonry-item { cursor: pointer; }

/* ============================================================
   Lightbox (vanilla, aucune dépendance)
   ============================================================ */
.wz-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(17, 17, 20, 0.92);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.wz-lightbox.is-open { opacity: 1; visibility: visible; }

.wz-lightbox__img {
	max-width: 90vw;
	max-height: 86vh;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	transform: scale(0.96);
	transition: transform 0.25s ease;
}
.wz-lightbox.is-open .wz-lightbox__img { transform: scale(1); }

.wz-lightbox__btn {
	position: absolute;
	background: rgba(255, 255, 255, 0.1);
	border: none;
	box-shadow: none;
	color: #fff;
	width: 46px;
	height: 46px;
	min-width: 46px;
	max-width: 46px;
	min-height: 46px;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
.wz-lightbox__btn:hover { background: #E53A2F; }
.wz-lightbox__close { top: 20px; right: 20px; }
.wz-lightbox__prev { left: 20px; top: 50%; transform: translateY(-50%); }
.wz-lightbox__next { right: 20px; top: 50%; transform: translateY(-50%); }

.wz-lightbox__counter {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.75);
	font-size: 13px;
	letter-spacing: 0.05em;
}

@media (max-width: 767px) {
	.wz-lightbox__prev { left: 8px; }
	.wz-lightbox__next { right: 8px; }
}
/*********************************/
.wz-masonry-item {
    border-radius: 10px;
    padding: 15px;
}