/* Gallery Pattern Carousel - Marquee Style */

.gpc-gallery-marquee {
	display: flex;
	overflow: hidden;
	user-select: none;
	width: 100%;
	height: 400px;
}

/* Marquee Track - Continuous scrolling */
.gpc-marquee-track {
	flex-shrink: 0;
	display: flex;
	gap: 16px;
	min-width: max-content;
	animation: gpc-scroll var(--gpc-speed, 30s) linear infinite;
	animation-direction: var(--gpc-direction, normal);
}

/* Pause on hover */
.gpc-gallery-marquee.gpc-pause-on-hover:hover .gpc-marquee-track {
	animation-play-state: paused;
}

/* Keyframes for smooth scrolling */
@keyframes gpc-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

/* Pattern Group - Desktop: 4 small + 1 large side by side */
.gpc-pattern-group {
	display: flex;
	gap: 8px;
	height: 100%;
	flex-shrink: 0;
}

/* Small Images Grid - 2x2 */
.gpc-small-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 8px;
	aspect-ratio: 1 / 1;
	height: 100%;
}

/* Large Image */
.gpc-large-image {
	height: 100%;
	aspect-ratio: 1 / 1;
}

/* Image Container */
.gpc-image {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}

.gpc-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	transition: transform 0.3s ease;
}

.gpc-image:hover img {
	transform: scale(1.05);
}

/* Small Image specific */
.gpc-small-image {
	width: 100%;
	height: 100%;
}

/* Mobile Styles */
@media (max-width: 767px) {
	.gpc-gallery-marquee {
		height: 250px;
	}

	/* Mobile: Show only 4 small images per group (hide large image) */
	.gpc-large-image {
		display: none;
	}

	.gpc-small-grid {
		aspect-ratio: 1 / 1;
	}

	.gpc-marquee-track {
		gap: 12px;
	}
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
	.gpc-gallery-marquee {
		height: 350px;
	}
}
