/* MakeWeb Gallery — Frontend styles
 * CSS variables are set inline on the container:
 *   --mw-cols      desktop columns (grid)
 *   --mw-cols-t    tablet columns
 *   --mw-cols-m    mobile columns
 *   --mw-gap       gap between items
 *   --mw-max-h     max image height
 *   --mw-align     flex alignment for items inside cards
 */

.mw-public-gallery {
	--mw-cols: 5;
	--mw-cols-t: 3;
	--mw-cols-m: 2;
	--mw-gap: 30px;
	--mw-max-h: 80px;
	--mw-align: center;
}

.mw-public-gallery .mw-gallery-card {
	display: flex;
	align-items: center;
	justify-content: var(--mw-align);
	min-width: 0;
}

.mw-public-gallery .mw-gallery-card a,
.mw-public-gallery .mw-gallery-card img {
	display: block;
	max-width: 100%;
	max-height: var(--mw-max-h);
	width: auto;
	height: auto;
	object-fit: contain;
	transition: opacity .25s ease, filter .25s ease, transform .25s ease;
}

/* ---- Hover effects (logo-wall treatments) ----
 * Apply one of: mw-fx-grayscale, mw-fx-grayscale-hover-color,
 *               mw-fx-color-hover-grayscale, mw-fx-fade
 */

/* Always grey (no hover change) */
.mw-public-gallery.mw-fx-grayscale img {
	filter: grayscale(100%);
}

/* Grey, full color on hover */
.mw-public-gallery.mw-fx-grayscale-hover-color img {
	filter: grayscale(100%);
	opacity: .7;
}
.mw-public-gallery.mw-fx-grayscale-hover-color .mw-gallery-card:hover img {
	filter: grayscale(0);
	opacity: 1;
}

/* Color, grey on hover */
.mw-public-gallery.mw-fx-color-hover-grayscale .mw-gallery-card:hover img {
	filter: grayscale(100%);
	opacity: .7;
}

/* Dimmed, full opacity on hover */
.mw-public-gallery.mw-fx-fade img {
	opacity: .55;
}
.mw-public-gallery.mw-fx-fade .mw-gallery-card:hover img {
	opacity: 1;
}

/* --- GRID LAYOUT --- */
.mw-public-gallery.mw-layout-grid {
	display: grid;
	grid-template-columns: repeat(var(--mw-cols), minmax(0, 1fr));
	gap: var(--mw-gap);
	align-items: center;
}

@media (max-width: 1024px) {
	.mw-public-gallery.mw-layout-grid {
		grid-template-columns: repeat(var(--mw-cols-t), minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.mw-public-gallery.mw-layout-grid {
		grid-template-columns: repeat(var(--mw-cols-m), minmax(0, 1fr));
	}
}

/* --- SLIDER LAYOUT --- */
.mw-public-gallery.mw-layout-slider {
	width: 100%;
	overflow: hidden;
}

.mw-public-gallery.mw-layout-slider .swiper-slide {
	height: auto;
}

/* Continuous marquee mode: remove easing pauses for a smooth scroll */
.mw-public-gallery.mw-layout-slider.mw-marquee .swiper-wrapper {
	transition-timing-function: linear !important;
}

.mw-public-gallery.mw-layout-slider .swiper-button-prev,
.mw-public-gallery.mw-layout-slider .swiper-button-next {
	color: currentColor;
}

.mw-public-gallery.mw-layout-slider .swiper-pagination-bullet-active {
	background: currentColor;
}
