.sc-promo-popup-root {
	--sc-promo-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
	--sc-promo-radius: 18px;
}

.sc-promo-popup-bar {
	position: fixed;
	left: 14px;
	right: 14px;
	z-index: 2147483200;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	min-height: 48px;
	padding: 9px 12px 9px 16px;
	border: 1px solid rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.24);
	border-radius: 999px;
	background: color-mix(in srgb, var(--sc-color-secondary, #0f172a) 94%, var(--sc-color-primary, #0adf1f));
	color: #fff;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.sc-promo-popup-bar--top {
	top: calc(max(12px, env(safe-area-inset-top)) + (var(--sc-promo-stack, 0) * 58px));
}

.sc-promo-popup-bar--footer {
	bottom: calc(max(78px, calc(18px + env(safe-area-inset-bottom))) + (var(--sc-promo-stack, 0) * 58px));
}

.sc-promo-popup-bar strong {
	color: var(--sc-color-primary, #0adf1f);
	font-size: var(--sc-promo-bar-size, 12px);
	font-weight: 900;
	text-transform: uppercase;
	white-space: nowrap;
}

.sc-promo-popup-bar span {
	min-width: 0;
	overflow: hidden;
	font-size: var(--sc-promo-bar-size, 13px);
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sc-promo-popup-bar button,
.sc-promo-popup-pin,
.sc-promo-popup__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.sc-promo-popup-bar button {
	min-height: 32px;
	padding: 0 15px;
	background: var(--sc-color-primary, #0adf1f);
	color: var(--sc-color-secondary, #0f172a);
	font-size: var(--sc-promo-button-size, 12px);
}

.sc-promo-popup-pin {
	position: fixed;
	top: calc(50% + (var(--sc-promo-stack, 0) * 54px));
	z-index: 2147483100;
	min-width: 104px;
	min-height: 42px;
	padding: 0 16px;
	background: linear-gradient(135deg, var(--sc-color-primary-dark, #08b51a), var(--sc-color-primary, #0adf1f));
	color: #fff;
	font-size: var(--sc-promo-pin-size, 12px);
	box-shadow: 0 16px 34px rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.28);
	transform: translateY(-50%) rotate(-90deg);
}

.sc-promo-popup-pin--left {
	left: -32px;
}

.sc-promo-popup-pin--right {
	right: -32px;
	transform: translateY(-50%) rotate(90deg);
}

.sc-promo-popup-overlay[hidden],
.sc-promo-popup-drawer[hidden],
.sc-promo-popup__video-modal[hidden] {
	display: none !important;
}

.sc-promo-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483300;
	display: grid;
	place-items: center;
	padding: 18px;
}

.sc-promo-popup-overlay__scrim {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(2, 6, 23, 0.62);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	cursor: pointer;
}

.sc-promo-popup-dialog {
	position: relative;
	z-index: 1;
	width: min(100%, var(--sc-promo-width, 520px));
}

.sc-promo-popup__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	overflow: hidden;
	border: 1px solid rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.18);
	border-radius: var(--sc-promo-radius);
	background:
		radial-gradient(circle at top left, rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.16), transparent 38%),
		linear-gradient(180deg, var(--sc-color-surface, #fff), var(--sc-color-surface-alt, #f8fafc));
	color: var(--sc-color-text, #1f2937);
	box-shadow: var(--sc-promo-shadow);
}

.sc-promo-popup__card--template-angled-image-right {
	grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
	border: 0;
	border-radius: 24px;
	background:
		radial-gradient(circle at 0 8%, rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.18), transparent 32%),
		linear-gradient(135deg, #fff 0%, #fff 58%, var(--sc-color-surface-alt, #f8fafc) 100%);
	box-shadow: 0 30px 80px rgba(2, 6, 23, 0.34);
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__content {
	position: relative;
	z-index: 2;
	order: 1;
	min-width: 0;
	min-height: 330px;
	padding: clamp(28px, 5vw, 46px);
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__media {
	position: relative;
	z-index: 1;
	order: 2;
	margin-left: -42px;
	clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
	background: #0f172a;
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 30%);
	pointer-events: none;
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__media img {
	min-height: 360px;
	filter: saturate(1.05) contrast(1.04);
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__content h2 {
	max-width: 11.5em;
	font-size: clamp(18px, var(--sc-promo-title-size, 48px), 72px);
}

.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__message {
	max-width: 44em;
	font-size: var(--sc-promo-message-size, 16px);
}

.sc-promo-popup__card--template-angled-image-right.sc-promo-popup__card--text-only {
	grid-template-columns: 1fr;
}

.sc-promo-popup__card--template-angled-image-right.sc-promo-popup__card--text-only .sc-promo-popup__content {
	min-height: 0;
}

.sc-promo-popup__card--drawer {
	grid-template-columns: 138px minmax(0, 1fr);
	box-shadow: none;
}

.sc-promo-popup__card--text-only,
.sc-promo-popup__card--drawer.sc-promo-popup__card--text-only {
	grid-template-columns: 1fr;
}

.sc-promo-popup__media {
	position: relative;
	min-height: 100%;
	margin: 0;
	background: var(--sc-color-primary-soft, #e8fdea);
}

.sc-promo-popup__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
}

.sc-promo-popup__card--drawer .sc-promo-popup__media img {
	min-height: 190px;
}

.sc-promo-popup__product-meta {
	position: absolute;
	left: clamp(18px, 9%, 42px);
	right: 18px;
	bottom: 18px;
	z-index: 2;
	display: grid;
	justify-items: center;
	gap: 4px;
	color: #fff;
	text-align: center;
	text-shadow: 0 2px 6px rgba(2, 6, 23, 0.72), 0 0 2px rgba(2, 6, 23, 0.9);
	pointer-events: none;
}

.sc-promo-popup__product-price {
	display: block;
	color: #fff;
	font-size: clamp(20px, 2.6vw, 30px);
	font-weight: 950;
	line-height: 1;
}

.sc-promo-popup__product-price del,
.sc-promo-popup__product-price ins,
.sc-promo-popup__product-price .amount {
	color: inherit;
	text-decoration-color: rgba(255, 255, 255, 0.72);
}

.sc-promo-popup__product-price ins {
	text-decoration: none;
}

.sc-promo-popup__product-rating {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
	color: #fbbf24;
	font-size: 13px;
	font-weight: 900;
}

.sc-promo-popup__product-rating .star-rating {
	float: none;
	margin: 0;
	color: #fbbf24;
	font-size: 14px;
	letter-spacing: 1px;
}

.sc-promo-popup__product-rating .star-rating::before,
.sc-promo-popup__product-rating .star-rating span::before {
	color: #fbbf24;
}

.sc-promo-popup__content {
	display: grid;
	align-content: center;
	gap: 12px;
	min-width: 0;
	padding: clamp(20px, 4vw, 34px);
}

.sc-promo-popup__eyebrow {
	margin: 0;
	color: var(--sc-color-primary-dark, #08b51a);
	font-size: var(--sc-promo-eyebrow-size, 12px);
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sc-promo-popup__content h2 {
	margin: 0;
	color: var(--sc-color-secondary, #0f172a);
	font-size: clamp(18px, var(--sc-promo-title-size, 32px), 72px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0;
}

.sc-promo-popup__message {
	margin: 0;
	color: var(--sc-color-muted, #6b7280);
	font-size: var(--sc-promo-message-size, 15.36px);
	font-weight: 600;
	line-height: 1.55;
}

.sc-promo-popup__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}

.sc-promo-popup__button {
	min-height: 42px;
	padding: 0 18px;
	font-size: var(--sc-promo-button-size, 12px);
	text-transform: uppercase;
}

.sc-promo-popup__button--primary {
	background: var(--sc-color-primary, #0adf1f);
	color: var(--sc-color-secondary, #0f172a);
	box-shadow: 0 12px 24px rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.24);
}

.sc-promo-popup__button--secondary,
.sc-promo-popup__button--video {
	border: 1px solid rgba(var(--sc-color-primary-rgb, 10, 223, 31), 0.28);
	background: #fff;
	color: var(--sc-color-primary-dark, #08b51a);
}

.sc-promo-popup__close,
.sc-promo-popup-drawer__close {
	position: absolute;
	z-index: 3;
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--sc-color-secondary, #0f172a);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.sc-promo-popup__close {
	top: 12px;
	right: 12px;
}

.sc-promo-popup-drawer {
	position: fixed;
	top: 50%;
	right: 16px;
	z-index: 2147483250;
	width: min(520px, calc(100vw - 28px));
	border-radius: var(--sc-promo-radius);
	background: #fff;
	box-shadow: var(--sc-promo-shadow);
	transform: translateY(-50%);
}

.sc-promo-popup-drawer__close {
	top: 10px;
	right: 10px;
}

.sc-promo-popup__video-modal iframe,
.sc-promo-popup__video-modal video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: #020617;
}

body.sc-promo-popup-open,
body.sc-promo-video-open {
	overflow: hidden;
}

body.sc-promo-popup-open #ssva-install-banner,
body.sc-promo-popup-open .sc-push-optin {
	display: none !important;
}

@media (max-width: 720px) {
	.sc-promo-popup-bar {
		left: 10px;
		right: 10px;
		grid-template-columns: minmax(0, 1fr) auto;
		border-radius: 16px;
	}

	.sc-promo-popup-bar strong {
		display: none;
	}

	.sc-promo-popup__card,
	.sc-promo-popup__card--drawer {
		grid-template-columns: 1fr;
	}

	.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__content {
		min-height: 0;
		order: 2;
		padding: 24px;
	}

	.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__media {
		order: 1;
		margin-left: 0;
		clip-path: none;
	}

	.sc-promo-popup__card--template-angled-image-right .sc-promo-popup__content h2 {
		max-width: none;
		font-size: min(var(--sc-promo-title-size, 34px), 11vw);
	}

	.sc-promo-popup__media img,
	.sc-promo-popup__card--drawer .sc-promo-popup__media img {
		min-height: 150px;
		max-height: 210px;
	}

	.sc-promo-popup__product-meta {
		left: 14px;
		right: 14px;
		bottom: 14px;
	}

	.sc-promo-popup__actions {
		display: grid;
	}

	.sc-promo-popup__button {
		width: 100%;
	}

	.sc-promo-popup-drawer {
		top: auto;
		right: 10px;
		bottom: max(82px, calc(16px + env(safe-area-inset-bottom)));
		transform: none;
	}
}
