/* Filterable masonry gallery. */

.sm-gallery {
	min-width: 0;
}

.sm-gallery__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 18px;
}

.sm-gallery__head .sm-heading {
	margin: 0;
}

.sm-gfilter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.sm-gfilter__btn {
	font-family: var(--sm-font-btn);
	font-weight: 600;
	font-size: 11.5px;
	padding: 7px 16px;
	border-radius: 24px;
	border: 1px solid var(--sm-gold-40);
	background: #fff;
	color: var(--sm-text-soft);
	cursor: pointer;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.sm-gfilter__btn:hover {
	border-color: var(--sm-gold);
	color: var(--sm-gold);
}

.sm-gfilter__btn.is-active {
	background: var(--sm-burgundy);
	border-color: var(--sm-burgundy);
	color: #fff;
}

/* CSS columns give a true masonry flow with no JavaScript layout pass. */
.sm-masonry {
	column-count: 3;
	column-gap: 12px;
}

.sm-masonry__item {
	break-inside: avoid;
	margin: 0 0 12px;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
}

.sm-masonry__item[hidden] {
	display: none;
}

.sm-masonry img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
	transition: transform .5s ease;
}

.sm-masonry__item:hover img {
	transform: scale(1.08);
}

@media (max-width: 768px) {
	.sm-masonry { column-count: 2; }
	.sm-gallery__head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 380px) {
	.sm-masonry { column-count: 1; }
}
