.adc-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(var(--adc-min,170px),1fr));
	gap:var(--space-3);
	align-items:stretch;
}

.adc{
	position:relative;
	display:flex;
	flex-direction:column;
	background:var(--color-surface);
	border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
	overflow:hidden;
	font-family:var(--font-family);
	color:var(--color-text);
	transition:box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.adc:hover{
	border-color:var(--color-border-dark);
	box-shadow:var(--shadow-md);
}

.adc--solo{
	width:190px;
}

.adc--deleted{
	opacity:.6;
}

.adc__media{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:4 / 3;
	overflow:hidden;
	background:#fff;
}

.adc__blur{
	position:absolute;
	inset:0;
	background:#fff center center / cover no-repeat;
	filter:grayscale(1);
	opacity:.3;
}

.adc__blur.is-visible{
	background-image:var(--bg-src);
}

.adc__img{
	position:relative;
	z-index:2;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
}

.adc__media .promo-badge{
	border-radius:0 0 4px 0;
}

.adc__media .promo-badge__label{
	padding:3px 7px;
	font-size:10.5px;
}

.adc__media .promo-badge__icon{
	padding:0 5px;
}

.adc__media .promo-badge__icon svg{
	width:11px;
	height:11px;
}

.adc__badge{
	position:absolute;
	top:0;
	left:0;
	z-index:3;
	padding:2px var(--space-2);
	background:rgba(0,0,0,.55);
	color:var(--color-text-inverse);
	font-size:var(--font-size-xs);
	border-bottom-right-radius:var(--radius-sm);
}

.promo-badge + .adc__badge{
	top:20px;
}

.adc__4k{
	position:absolute;
	right:2px;
	bottom:4px;
	z-index:3;
	height:26px;
	pointer-events:none;
}

.adc__body{
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
	gap:2px;
	padding:var(--space-2);
}

.adc__title{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	color:var(--color-text);
	font-size:var(--font-size-sm);
	font-weight:var(--font-weight-medium);
	line-height:var(--line-height-tight);
	text-decoration:none;
}

a.adc__title::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:3;
}

.adc:hover .adc__title{
	color:var(--color-secondary);
}

.adc__loc{
	overflow:hidden;
	color:var(--color-text-secondary);
	font-size:var(--font-size-xs);
	white-space:nowrap;
	text-overflow:ellipsis;
}

.adc__foot{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:var(--space-2);
	margin-top:auto;
	padding-top:var(--space-1);
}

.adc__price{
	color:var(--color-text);
	font-size:var(--font-size-sm);
	font-weight:var(--font-weight-bold);
	white-space:nowrap;
}

.adc__meta{
	color:var(--color-text-muted);
	font-size:10px;
	white-space:nowrap;
}

.adc__corner{
	position:absolute;
	top:var(--space-1);
	right:var(--space-1);
	z-index:4;
}

.adc__corner-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	padding:0;
	border:0;
	border-radius:var(--radius-full);
	background:rgba(255,255,255,.9);
	box-shadow:var(--shadow-sm);
	color:var(--color-danger);
	cursor:pointer;
	transition:background var(--transition-fast);
}

.adc__corner-btn:hover{
	background:var(--color-surface);
}

.adc__corner-btn svg{
	width:16px;
	height:16px;
}

.adc-rail{
	display:flex;
	gap:var(--space-3);
	overflow-x:auto;
	padding-bottom:var(--space-2);
	scroll-snap-type:x proximity;
	-webkit-overflow-scrolling:touch;
}

.adc-rail > .adc{
	flex:0 0 var(--adc-min,170px);
	scroll-snap-align:start;
}
