.lyor-pro-gallery {
	--lpg-gap: 22px;
	--lpg-cols: 2;
	--lpg-row-h: 220px;
	--lpg-radius: 22px;
	--lpg-overlay: linear-gradient(180deg, rgba(14,11,9,.02), rgba(14,11,9,.82));
	position: relative;
	color: #f3ede5;
}

.lyor-pro-gallery__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.lyor-pro-gallery__filter-btn {
	border: 1px solid rgba(243,237,229,.12);
	background: rgba(20,17,15,.5);
	color: #b8aa98;
	padding: 10px 14px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.lyor-pro-gallery__filter-btn:hover,
.lyor-pro-gallery__filter-btn.is-active {
	border-color: rgba(201,163,107,.5);
	background: rgba(201,163,107,.08);
	color: #c9a36b;
	transform: translateY(-1px);
}

.lyor-pro-gallery__grid {
	position: relative;
}

.lyor-pro-gallery.layout-grid .lyor-pro-gallery__grid {
	display: grid;
	grid-template-columns: repeat(var(--lpg-cols), minmax(0,1fr));
	gap: var(--lpg-gap);
}

.lyor-pro-gallery.layout-masonry .lyor-pro-gallery__grid {
	column-count: var(--lpg-cols);
	column-gap: var(--lpg-gap);
}

.lyor-pro-gallery.layout-masonry .lyor-pro-gallery__item {
	break-inside: avoid;
	margin-bottom: var(--lpg-gap);
}

.lyor-pro-gallery.layout-justified .lyor-pro-gallery__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lpg-gap);
}

.lyor-pro-gallery.layout-justified .lyor-pro-gallery__item {
	flex: 1 1 calc(100% / var(--lpg-cols) - var(--lpg-gap));
	min-width: 180px;
}

.lyor-pro-gallery.layout-justified .lyor-pro-gallery__media {
	height: var(--lpg-row-h);
}

.lyor-pro-gallery__item {
	position: relative;
	overflow: hidden;
	border-radius: var(--lpg-radius);
	transform: translateZ(0);
	background: #161210;
	box-shadow: 0 28px 56px rgba(7,6,5,.12);
	transition: transform .4s ease, opacity .25s ease, box-shadow .3s ease;
}

.lyor-pro-gallery__item.is-lpg-hidden {
	display: none;
}

.lyor-pro-gallery__item[data-visible="0"] {
	opacity: 0;
	pointer-events: none;
	transform: scale(.98);
}

.lyor-pro-gallery__media {
	display: block;
	position: relative;
	overflow: hidden;
	background: #211b18;
}

.lyor-pro-gallery.layout-grid .lyor-pro-gallery__media {
	aspect-ratio: 1 / 1;
}

.lyor-pro-gallery__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .8s ease;
}

.lyor-pro-gallery:not(.has-kenburns) .lyor-pro-gallery__item:hover .lyor-pro-gallery__media img {
	transform: scale(1.04);
}

.lyor-pro-gallery.has-kenburns .lyor-pro-gallery__media img {
	transform: scale(var(--lpg-kb-scale, 1.08));
	animation: lpgKenBurns 12s ease-in-out infinite alternate;
}

.lyor-pro-gallery__meta {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 18px;
	color: #fff;
	background: transparent;
	z-index: 2;
	pointer-events: none;
}

.lyor-pro-gallery.has-overlay .lyor-pro-gallery__meta::before {
	content: '';
	position: absolute;
	inset: -50% 0 0;
	background: var(--lpg-overlay);
	z-index: -1;
}

.lyor-pro-gallery__title {
	margin: 0;
	font-size: clamp(1.05rem, 1.7vw, 1.45rem);
	line-height: 1.18;
	letter-spacing: -.02em;
	color: #f3ede5;
	text-wrap: balance;
}

.lyor-pro-gallery__caption {
	margin: 8px 0 0;
	font-size: .92rem;
	line-height: 1.45;
	color: rgba(243,237,229,.82);
	text-wrap: balance;
}

.lyor-pro-gallery__footer {
	margin-top: 22px;
	display: flex;
	justify-content: center;
}

.lyor-pro-gallery__load-more {
	border: 1px solid rgba(243,237,229,.12);
	background: rgba(20,17,15,.58);
	color: #f3ede5;
	padding: 12px 18px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.lyor-pro-gallery__load-more:hover {
	border-color: rgba(201,163,107,.5);
	background: rgba(201,163,107,.12);
	color: #c9a36b;
	transform: translateY(-1px);
}

@keyframes lpgKenBurns {
	0% { transform: scale(var(--lpg-kb-scale, 1.08)) translate3d(-1.5%, -1.5%, 0); }
	100% { transform: scale(calc(var(--lpg-kb-scale, 1.08) + 0.06)) translate3d(1.5%, 1.5%, 0); }
}

@media (max-width: 1024px) {
	.lyor-pro-gallery.layout-grid .lyor-pro-gallery__grid {
		grid-template-columns: repeat(var(--lpg-cols), minmax(0,1fr));
	}
}

@media (max-width: 767px) {
	.lyor-pro-gallery.layout-grid .lyor-pro-gallery__grid {
		grid-template-columns: repeat(var(--lpg-cols), minmax(0,1fr));
	}
	.lyor-pro-gallery__meta {
		padding: 14px;
	}
	.lyor-pro-gallery__caption {
		font-size: .88rem;
	}
}
