.ewss-coupons {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-block: .3125rem;
	box-sizing: border-box;
	color: #29252d;
	font-size: .6875rem;
	line-height: 1.3;
	text-align: start;

	--ewss-coupon-card-gap: .3125rem;
	--ewss-coupon-card-padding: .375rem;
	--ewss-coupon-benefit-size: .75rem;
	--ewss-coupon-card-radius: .5rem;
}

.ewss-coupons--compact {
	font-size: .625rem;

	--ewss-coupon-card-gap: .25rem;
	--ewss-coupon-card-padding: .25rem;
	--ewss-coupon-benefit-size: .6875rem;
}

.ewss-coupons--large {
	font-size: .75rem;

	--ewss-coupon-card-gap: .375rem;
	--ewss-coupon-card-padding: .5rem;
	--ewss-coupon-benefit-size: .875rem;
}

.ewss-coupons--radius-0 {
	--ewss-coupon-card-radius: 0;
}

.ewss-coupons--radius-4 {
	--ewss-coupon-card-radius: .25rem;
}

.ewss-coupons--radius-8 {
	--ewss-coupon-card-radius: .5rem;
}

.ewss-coupons--radius-12 {
	--ewss-coupon-card-radius: .75rem;
}

.ewss-coupons__title {
	margin: 0 0 .1875rem;
	color: #29252d;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.35;
}

.ewss-coupons__list {
	display: grid;
	gap: .25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ewss-coupon {
	position: relative;
	display: grid;
	gap: var(--ewss-coupon-card-gap);
	min-width: 0;
	padding: var(--ewss-coupon-card-padding);
	overflow: hidden;
	border: 1px solid #e7dfee;
	border-inline-start: .1875rem solid var(--ewss-coupon-accent, #7f54b3);
	border-radius: var(--ewss-coupon-card-radius);
	background: linear-gradient(135deg, #fff 0%, #fbf8fd 100%);
	box-shadow: 0 .0625rem .25rem rgb(34 22 43 / 8%);
	box-sizing: border-box;
	text-align: start;
}

.ewss-coupon::after {
	position: absolute;
	top: -.5rem;
	right: -.5rem;
	width: 1.75rem;
	height: 1.75rem;
	border: .4375rem solid var(--ewss-coupon-accent, #7f54b3);
	border-radius: 50%;
	content: "";
	opacity: .08;
	pointer-events: none;
}

.ewss-coupon__primary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .1875rem .3125rem;
}

.ewss-coupon__label {
	display: inline-flex;
	align-items: center;
	width: max-content;
	padding: .0625rem .25rem;
	border: 1px solid currentcolor;
	border-radius: 999px;
	color: var(--ewss-coupon-accent, #7f54b3);
	font-size: .625rem;
	font-weight: 700;
	line-height: 1.4;
}

.ewss-coupon__benefit {
	color: #211d24;
	font-size: var(--ewss-coupon-benefit-size);
	font-weight: 750;
	line-height: 1.3;
}

.ewss-coupon__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .1875rem .375rem;
	padding-block-start: .25rem;
	border-block-start: 1px dashed #d9cce3;
	color: #625a68;
	font-size: .625rem;
}

.ewss-coupon__code-wrap {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid #d9cce3;
	border-radius: .1875rem;
	background: #fff;
	max-width: 100%;
}

.ewss-coupon__meta-label {
	padding: .0938rem .1875rem;
	background: var(--ewss-coupon-accent, #7f54b3);
	color: #fff;
	font-size: .5625rem;
	font-weight: 700;
}

.ewss-coupon__code {
	padding: .0938rem .2188rem;
	border: 0;
	background: transparent;
	color: #332b38;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .625rem;
	font-weight: 700;
	line-height: inherit;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	user-select: all;
}

.ewss-coupon__expiry,
.ewss-coupon__categories,
.ewss-coupon__description,
.ewss-coupon__discount-type,
.ewss-coupon__restrictions,
.ewss-coupon__stackability {
	color: inherit;
	font-size: inherit;
	font-weight: 500;
	overflow-wrap: anywhere;
}

.ewss-coupon__stackability {
	display: inline-flex;
	align-items: center;
	gap: .125rem;
}

.ewss-coupon__stackability::before {
	width: .3125rem;
	height: .3125rem;
	border-radius: 50%;
	background: #16803a;
	content: "";
	flex: 0 0 auto;
}

.ewss-coupon__stackability--no::before {
	background: #b54708;
}

.wp-block-woocommerce-product-template .ewss-coupons,
.kb-query-item .ewss-coupons {
	align-self: stretch;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .ewss-coupons {
	margin-block: .25rem 0;
}

.woocommerce ul.products li.product .ewss-coupon {
	gap: var(--ewss-coupon-card-gap);
	padding: var(--ewss-coupon-card-padding);
}

@media (width <= 480px) {
	.ewss-coupon__primary,
	.ewss-coupon__details {
		align-items: flex-start;
		flex-direction: column;
	}
}
