.light {
	--gift-v2-card-bg:#fff;
	--gift-v2-card-border:#e5e5e5;
	--gift-v2-card-hover:#d1d1d1;
	--gift-v2-muted-bg:#f7f7f7;
	--gift-v2-muted-border:#e7e7e7;
	--gift-v2-muted-text:#666;
	--gift-v2-selected-bg:#fff;
	--gift-v2-selected-shadow:rgba(33, 150, 243, 0.13);
	--gift-v2-icon-bg:#edf7ff;
	--gift-v2-icon-text:#2196f3;
	--gift-v2-locked-accent:#c97826;
	--gift-v2-locked-overlay:rgba(235, 237, 239, 0.46);
}

.dark {
	--gift-v2-card-bg:#111;
	--gift-v2-card-border:#303030;
	--gift-v2-card-hover:#484848;
	--gift-v2-muted-bg:#181818;
	--gift-v2-muted-border:#303030;
	--gift-v2-muted-text:#aaa;
	--gift-v2-selected-bg:#111;
	--gift-v2-selected-shadow:rgba(52, 163, 255, 0.18);
	--gift-v2-icon-bg:#142536;
	--gift-v2-icon-text:#55b7ff;
	--gift-v2-locked-accent:#e9aa60;
	--gift-v2-locked-overlay:rgba(0, 0, 0, 0.62);
}

.cart-gifts-v2-heading {
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin-bottom:24px;
}
.cart-gifts-v2-heading .icon {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 38px;
	height:38px;
	border-radius:50%;
	background:var(--gift-v2-icon-bg);
	color:var(--gift-v2-icon-text);
	font-size:15px;
}
.cart-gifts-v2-heading .cart-title { margin:0 0 4px; font-size:20px; line-height:1.25; }
.cart-gifts-v2-heading .cart-subtitle { margin:0; font-size:13px; line-height:1.4; }

.cart-gifts.cart-gifts-v2 {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
	gap:12px;
	align-items:stretch;
}
.cart-gifts-v2 li {
	width:auto;
	min-width:0;
	margin:0;
	padding:10px 10px 48px;
	border:1px solid var(--gift-v2-card-border);
	border-radius:12px;
	background:var(--gift-v2-card-bg);
	box-shadow:0 2px 10px rgba(0, 0, 0, 0.04);
	text-align:center;
	transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.cart-gifts-v2 li > label { display:block; cursor:pointer; }
.cart-gifts-v2 li .thumb { display:block; font-size:0; text-align:center; }
.cart-gifts-v2 li .thumb > span { display:flex; align-items:center; justify-content:center; height:110px; padding:0; }
.cart-gifts-v2 li .thumb img {
	display:block;
	width:112px;
	height:104px;
	border-radius:8px;
	object-fit:contain;
}
.cart-gifts-v2 li .gift-info { display:block; }
.cart-gifts-v2 li .title { display:block; min-width:0; padding:8px 0 0; }
.cart-gifts-v2 li .title h3 { margin:0; font-size:13px; line-height:1.35; -webkit-line-clamp:2; }
.cart-gifts-v2 li .pack-line { display:block; margin:4px 0 0; font-size:11px; line-height:1.3; }

.cart-gifts-v2 li .choose {
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	left:10px;
	right:10px;
	bottom:10px;
	width:auto;
	height:30px;
	padding:0 10px;
	border:1px solid var(--hl-color);
	border-radius:8px;
	background:transparent;
	color:var(--hl-color);
	font-size:12px;
	font-weight:700;
}
.cart-gifts-v2 li.selected {
	padding:10px 10px 48px;
	border:1px solid var(--hl-color);
	background:var(--gift-v2-selected-bg);
	box-shadow:0 5px 16px var(--gift-v2-selected-shadow);
}
.cart-gifts-v2 li.selected .choose { border-radius:8px; background:var(--hl-color); color:#fff; }
.cart-gifts-v2 li.selected .choose-button-1 { display:none; }
.cart-gifts-v2 li.selected .choose-button-2 { display:inline-block; font-size:15px; }

.cart-gifts-v2 li .min-price-msg {
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:7px;
	position:relative;
	width:auto;
	height:auto;
	margin-top:8px;
	padding:8px 9px;
	border:1px solid var(--gift-v2-muted-border);
	border-radius:7px;
	background:var(--gift-v2-muted-bg);
	color:var(--gift-v2-muted-text);
	font-size:11px;
	line-height:1.35;
	text-align:center;
}
.cart-gifts-v2 li .min-price-msg .lock-icon { flex:0 0 auto; margin:2px 0 0; font-size:11px; }
.cart-gifts-v2 li .min-price-left { color:var(--gift-v2-locked-accent); }
.cart-gifts-v2 li.grey { overflow:hidden; padding-bottom:10px; border-color:var(--gift-v2-muted-border); background:var(--gift-v2-card-bg); }
.cart-gifts-v2 li.grey::after {
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	border-radius:inherit;
	background:var(--gift-v2-locked-overlay);
	pointer-events:none;
}
.cart-gifts-v2 li.grey label { opacity:1; }
.cart-gifts-v2 li.grey .min-price-msg { z-index:2; background:var(--gift-v2-card-bg); }

@media (hover: hover) and (pointer: fine) {
	.cart-gifts-v2 li.active:not(.selected):hover {
		border-color:var(--gift-v2-card-hover);
		box-shadow:0 5px 16px rgba(0, 0, 0, 0.07);
		transform:translateY(-1px);
	}
}

@media (max-width: 768px) {
	.cart-gifts-v2-heading { margin-bottom:20px; }
	.cart-gifts.cart-gifts-v2 { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
	.cart-gifts-v2 li,
	.cart-gifts-v2 li.selected,
	.cart-gifts-v2 li.grey {
		width:100%;
		min-height:104px;
		margin:0;
		padding:10px 50px 10px 10px;
		border-width:1px;
		border-radius:10px;
		text-align:left;
	}
	.cart-gifts-v2 li > label {
		display:grid;
		grid-template-columns:82px minmax(0, 1fr);
		gap:12px;
		align-items:center;
	}
	.cart-gifts-v2 li .thumb > span { height:84px; }
	.cart-gifts-v2 li .thumb img { width:78px; height:82px; border-radius:6px; }
	.cart-gifts-v2 li .title { padding:0; }
	.cart-gifts-v2 li .title h3 { font-size:14px; }
	.cart-gifts-v2 li .pack-line { margin-top:5px; }
	.cart-gifts-v2 li .choose {
		left:auto;
		right:12px;
		top:50%;
		bottom:auto;
		width:28px;
		height:28px;
		padding:0;
		border-radius:50%;
		transform:translateY(-50%);
	}
	.cart-gifts-v2 li .choose-button-1 { width:8px; height:8px; border-radius:50%; background:var(--hl-color); font-size:0; opacity:.22; }
	.cart-gifts-v2 li.selected .choose { border-radius:50%; }
	.cart-gifts-v2 li .min-price-msg { justify-content:flex-start; margin-top:8px; padding:7px 8px; text-align:left; }
}
