.nslc-volume-campaign-badge {
	display: inline-grid;
	grid-template-columns: auto 1fr;
	column-gap: 12px;
	row-gap: 2px;
	align-items: center;
	max-width: 540px;
	margin: 0 0 22px;
	padding: 13px 18px;
	border: 1px solid rgba(116, 92, 255, .52);
	border-radius: 16px;
	background: linear-gradient(120deg, rgba(116, 92, 255, .2), rgba(36, 211, 224, .12));
	box-shadow: 0 18px 44px rgba(4, 8, 38, .2);
	color: #fff;
	min-width: 0;
}

.nslc-volume-campaign-badge .nslc-volume-campaign-kicker {
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 68px;
	min-height: 48px;
	padding: 8px 10px;
	border-radius: 11px;
	background: linear-gradient(135deg, #7857ff, #22cfe2);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.25;
	text-align: center;
}

.nslc-volume-campaign-badge strong {
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.15;
	min-width: 0;
	overflow-wrap: anywhere;
}

.nslc-volume-campaign-badge > span:last-child {
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.nslc-volume-campaign-notice {
	clear: both;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	margin: 0 auto 24px;
	padding: 15px 18px;
	border: 1px solid #d8d7ff;
	border-radius: 16px;
	background: linear-gradient(105deg, #f3f1ff 0%, #eefcff 100%);
	box-shadow: 0 10px 28px rgba(26, 31, 76, .07);
	color: #10152f;
}

.nslc-volume-campaign-notice.is-active {
	border-color: #b9ead9;
	background: linear-gradient(105deg, #edfff8 0%, #effcff 100%);
}

.nslc-volume-campaign-icon {
	flex: 0 0 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, #7658ff, #1bcfe0);
	box-shadow: 0 8px 18px rgba(84, 95, 235, .22);
	color: #fff;
	font-size: 19px;
	font-weight: 850;
	line-height: 1;
	text-align: center;
}

.nslc-volume-campaign-notice.is-active .nslc-volume-campaign-icon {
	background: linear-gradient(135deg, #11a56b, #20cad0);
}

.nslc-volume-campaign-notice div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.nslc-volume-campaign-notice strong,
.nslc-volume-campaign-notice div > span {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.nslc-volume-campaign-notice strong {
	font-size: 15px;
	line-height: 1.35;
}

.nslc-volume-campaign-notice div > span {
	color: #626b86;
	font-size: 12px;
	line-height: 1.5;
}

.woocommerce-checkout .nslc-volume-campaign-notice,
.woocommerce-cart .nslc-volume-campaign-notice {
	max-width: 1180px;
}

.wc-block-cart__sidebar .nslc-volume-campaign-notice,
.wc-block-checkout__sidebar .nslc-volume-campaign-notice {
	margin-bottom: 18px;
}

.wc-block-cart__main .nslc-volume-campaign-notice {
	margin: 0 0 24px;
}

@media (max-width: 640px) {
	.nslc-volume-campaign-badge {
		grid-template-columns: 1fr;
		gap: 5px;
		width: 100%;
		padding: 14px;
	}

	.nslc-volume-campaign-badge .nslc-volume-campaign-kicker {
		grid-row: auto;
		justify-self: start;
		min-width: 0;
		min-height: 0;
		padding: 6px 9px;
	}

	.nslc-volume-campaign-notice {
		align-items: flex-start;
		padding: 14px;
	}

	.nslc-volume-campaign-icon {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}
}
