/**
 * Gallery Template Styles
 *
 * @package ceron
 */

/* Gallery Header */
.gallery-header {
	background: #ffffff;
	padding: 100px 0 60px 0;
}

.gallery-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.gallery-header h1 {
	font-family: var(--font-headline);
	font-weight: 300;
	font-size: 50px;
	line-height: normal;
	color: #180a2c;
	margin: 0;
}

/* Gallery Section */
.gallery-section {
	background: #ffffff;
	padding: 0 0 100px 0;
}

.gallery-section-inner {
	max-width: 1200px;
	margin: 0 auto;
}

/* Gallery Grid - CSS Columns Masonry */
.gallery-section .gallery-grid {
	display: block;
	columns: 3;
	column-gap: 22px;
}

.gallery-section .gallery-item {
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	margin-bottom: 22px;
	overflow: hidden;
}

.gallery-item img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.gallery-item:hover img {
	transform: scale(1.08);
}

/* Load More Button */
.gallery-load-more {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}

.load-more-button {
	background: #180a2c;
	color: #ffffff;
	font-family: var(--font-headline);
	font-weight: 300;
	font-size: 20px;
	line-height: normal;
	padding: 8px 40px 10px 40px;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	transition: opacity 0.3s;
}

.load-more-button:hover {
	opacity: 0.9;
}

.load-more-button.hidden {
	display: none;
}

/* Responsive */
@media (max-width: 1024px) {
	.gallery-header {
		padding: 80px 40px 50px 40px;
	}

	.gallery-section {
		padding: 0 40px 80px 40px;
	}

	.gallery-item {
		margin-bottom: 20px;
	}

	.gallery-load-more {
		margin-top: 50px;
	}
}

@media (max-width: 768px) {
	.gallery-header {
		padding: 60px 24px 40px 24px;
	}

	.gallery-header h1 {
		font-size: 40px;
	}

	.gallery-section {
		padding: 0 24px 60px 24px;
	}

	.gallery-section .gallery-grid {
		columns: 2;
		column-gap: 16px;
	}

	.gallery-section .gallery-item {
		margin-bottom: 16px;
	}

	.gallery-load-more {
		margin-top: 40px;
	}

	.load-more-button {
		font-size: 18px;
		padding: 8px 32px 10px 32px;
	}
}

@media (max-width: 480px) {
	.gallery-header {
		padding: 50px 16px 30px 16px;
	}

	.gallery-header h1 {
		font-size: 32px;
	}

	.gallery-section {
		padding: 0 16px 50px 16px;
	}

	.gallery-section .gallery-grid {
		column-gap: 12px;
	}

	.gallery-section .gallery-item {
		margin-bottom: 12px;
	}

	.gallery-load-more {
		margin-top: 30px;
	}

	.load-more-button {
		font-size: 16px;
		padding: 8px 28px 10px 28px;
	}
}
