.sol-grid{
	display:grid;
	grid-template-columns:repeat(var(--sol-cols,3),1fr);
	column-gap:var(--sol-gap-col,0px);
	row-gap:var(--sol-gap-row,0px);
}

@media (max-width:1024px){
	.sol-grid{ grid-template-columns:repeat(var(--sol-cols-t,2),1fr); }
}

@media (max-width:600px){
	.sol-grid{ grid-template-columns:repeat(var(--sol-cols-m,1),1fr); }
}

.sol-grid__item{
	position:relative;
	display:block;
	aspect-ratio:var(--sol-ratio,1 / 1);
	overflow:hidden;
	isolation:isolate;
	text-decoration:none;
	background:#e4ddce;
}

.sol-grid__img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	z-index:1;
	transition:transform .6s cubic-bezier(.16,1,.3,1), filter .5s ease;
}

.sol-grid__overlay{
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
}

.sol-grid__content{
	position:absolute;
	inset:0;
	z-index:3;
	display:flex;
	flex-direction:column;
	gap:6px;
	padding:20px;
	pointer-events:none;
}

.sol-grid--pos-center .sol-grid__content{
	align-items:center;
	justify-content:center;
	text-align:center;
}

.sol-grid--pos-bottom .sol-grid__content{
	align-items:flex-start;
	justify-content:flex-end;
	text-align:left;
}

.sol-grid__cat{
	order:-1;
	font-size:.72rem;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.sol-grid__title{
	font-size:clamp(1rem,1.6vw,1.4rem);
	font-weight:600;
	line-height:1.2;
	text-shadow:0 1px 14px rgba(0,0,0,.35);
}

.sol-grid__pagination{
	margin-top:24px;
}

.sol-grid__pagination ul{
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:0;
	margin:0;
	justify-content:center;
}

.sol-grid__pagination a,
.sol-grid__pagination span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:40px;
	padding:0 10px;
	border:1px solid rgba(43,33,29,.2);
	text-decoration:none;
	color:inherit;
	transition:background .3s ease, color .3s ease, border-color .3s ease;
}

.sol-grid__pagination a:hover{
	border-color:#64463e;
	color:#64463e;
}

.sol-grid__pagination .current{
	background:#64463e;
	color:#fff;
	border-color:#64463e;
}

.sol-grid--hover-zoom .sol-grid__item:hover .sol-grid__img{
	transform:scale(1.06);
}

.sol-grid--hover-lift .sol-grid__item{
	transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;
}

.sol-grid--hover-lift .sol-grid__item:hover{
	transform:translateY(-6px);
	box-shadow:0 22px 40px rgba(33,30,25,.28);
	z-index:5;
}

.sol-grid--hover-grayscale .sol-grid__img{
	filter:grayscale(1);
}

.sol-grid--hover-grayscale .sol-grid__item:hover .sol-grid__img{
	filter:grayscale(0);
}

.sol-grid--hover-reveal .sol-grid__content{
	opacity:0;
	transform:translateY(10px);
	transition:opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1);
}

.sol-grid--hover-reveal .sol-grid__item:hover .sol-grid__content{
	opacity:1;
	transform:none;
}

.sol-grid--hover-overlay .sol-grid__item::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:2;
	background:rgba(33,30,25,0);
	transition:background .4s ease;
	pointer-events:none;
}

.sol-grid--hover-overlay .sol-grid__item:hover::after{
	background:rgba(33,30,25,.28);
}

.sol-grid__empty{
	opacity:.7;
}

@media (prefers-reduced-motion:reduce){
	.sol-grid__img,
	.sol-grid__item,
	.sol-grid__content,
	.sol-grid--hover-overlay .sol-grid__item::after{
		transition:none !important;
	}
}
