.dwc-category-layout {
	--dwc-tile-min-height: 260px;
	--dwc-tile-gap: 16px;
	--dwc-overlay-dark: rgba( 0, 0, 0, 0.46 );
}

.dwc-layout--masonry_split .dwc-masonry {
	display: flex;
	flex-direction: column;
	gap: var( --dwc-tile-gap );
}

.dwc-layout--masonry_split .dwc-masonry-group {
	display: grid;
	grid-template-columns: minmax( 0, 1.02fr ) minmax( 0, 1fr );
	gap: var( --dwc-tile-gap );
}

.dwc-layout--masonry_split .dwc-masonry-column {
	display: grid;
	gap: var( --dwc-tile-gap );
}

.dwc-layout--masonry_split .dwc-masonry-column--right {
	grid-template-rows: repeat( 2, minmax( var( --dwc-tile-min-height ), 1fr ) );
}

.dwc-masonry-tile {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var( --dwc-tile-min-height );
	padding: 24px;
	overflow: hidden;
	text-align: center;
	text-decoration: none;
	background-color: #8a8a8a;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.dwc-masonry-tile--featured {
	min-height: calc( ( var( --dwc-tile-min-height ) * 2 ) + var( --dwc-tile-gap ) );
}

.dwc-layout--uniform_grid .dwc-uniform-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: var( --dwc-tile-gap );
}

.dwc-layout--uniform_grid .dwc-masonry-tile--uniform {
	min-height: var( --dwc-tile-min-height );
	aspect-ratio: 4 / 5;
}

.dwc-masonry-tile__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient( 180deg, rgba( 0, 0, 0, 0.14 ) 5%, var( --dwc-overlay-dark ) 100% );
}

.dwc-masonry-tile__title {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #fff;
	font-size: clamp( 22px, 2.5vw, 58px );
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.1;
	text-transform: uppercase;
	font-family: "Bodoni Moda", "Times New Roman", serif;
	text-shadow: 0 3px 24px rgba( 0, 0, 0, 0.25 );
}

.dwc-masonry-empty {
	margin: 0;
	padding: 14px 16px;
	border: 1px dashed #cfd5de;
	border-radius: 8px;
	background: #f8fafc;
	color: #475569;
	font-size: 14px;
}

@media ( max-width: 1024px ) {
	.dwc-layout--masonry_split .dwc-masonry-group {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.dwc-layout--masonry_split .dwc-masonry-column--right {
		display: contents;
	}

	.dwc-layout--masonry_split .dwc-masonry-tile,
	.dwc-layout--masonry_split .dwc-masonry-tile--featured {
		min-height: clamp( 170px, 24vw, 240px );
	}

	.dwc-layout--uniform_grid .dwc-uniform-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.dwc-masonry-tile__title {
		font-size: clamp( 18px, 3.2vw, 34px );
	}
}

@media ( max-width: 767px ) {
	.dwc-category-layout {
		--dwc-tile-gap: 10px;
	}

	.dwc-layout--masonry_split .dwc-masonry-tile,
	.dwc-layout--masonry_split .dwc-masonry-tile--featured {
		min-height: 168px;
		padding: 14px;
	}

	.dwc-layout--uniform_grid .dwc-uniform-grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.dwc-layout--uniform_grid .dwc-masonry-tile--uniform {
		min-height: 200px;
		padding: 14px;
	}

	.dwc-masonry-tile__title {
		font-size: clamp( 16px, 5vw, 24px );
	}
}
