.sunlove-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: grid;
	place-items: center;
	padding: 20px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.05) 46%, rgba(255, 121, 0, 0.1)),
		rgba(48, 43, 37, 0.34);
	backdrop-filter: blur(18px) saturate(1.55) contrast(1.03);
	-webkit-backdrop-filter: blur(18px) saturate(1.55) contrast(1.03);
	opacity: 0;
	visibility: hidden;
	transition: opacity 220ms ease, visibility 220ms ease;
}

.sunlove-popup-overlay.is-visible {
	opacity: 1;
	visibility: visible;
}

.sunlove-popup-overlay[hidden] {
	display: none;
}

.sunlove-popup {
	--sunlove-popup-white-cut: 20px;
	--sunlove-popup-pad: 28px;
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, calc((100% - var(--sunlove-popup-white-cut)) / 2)) minmax(0, calc((100% + var(--sunlove-popup-white-cut)) / 2));
	grid-template-rows: minmax(0, 1fr);
	width: min(90vw, 700px, calc(82vh * 32 / 27));
	min-width: min(480px, calc(100vw - 40px));
	aspect-ratio: 32 / 27;
	height: auto;
	min-height: 0;
	overflow: hidden;
	color: #414146;
	font-family: inherit;
	background: #fff;
	border: 0;
	border-radius: 14px;
	box-shadow: 0 26px 80px rgba(22, 18, 13, 0.34);
}

.sunlove-popup::before {
	position: absolute;
	inset: 0 auto 0 calc(((100% - var(--sunlove-popup-white-cut)) / 2) - 70px);
	z-index: 1;
	width: 150px;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, #fff 0%, #fff 54%, rgba(255, 255, 255, 0.96) 66%, rgba(255, 255, 255, 0.72) 80%, rgba(255, 255, 255, 0.32) 92%, rgba(255, 255, 255, 0) 100%);
}

.sunlove-popup,
.sunlove-popup * {
	box-sizing: border-box;
}

.sunlove-popup__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
	min-height: 0;
	width: 100%;
	padding: calc(var(--sunlove-popup-pad) + 6px) var(--sunlove-popup-pad) var(--sunlove-popup-pad);
	overflow: hidden;
	background: transparent;
}

.sunlove-popup__sr-title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sunlove-popup__top,
.sunlove-popup__message {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.sunlove-popup__top {
	align-items: flex-start;
	padding-top: 68px;
}

.sunlove-popup__message {
	flex: 1 1 auto;
	justify-content: flex-start;
	gap: 0;
	padding: 28px 0 var(--sunlove-popup-pad);
}

.sunlove-popup__logo {
	position: absolute;
	top: 34px;
	left: 50%;
	z-index: 4;
	display: block;
	width: min(185px, 84%);
	height: auto;
	transform: translateX(-50%);
}

.sunlove-popup__subtitle,
.sunlove-popup__lead,
.sunlove-popup__body {
	margin: 0;
}

.sunlove-popup__subtitle {
	color: #76777a;
	font-size: 16.2px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: left;
}

.sunlove-popup__rule {
	display: block;
	width: 36px;
	height: 2px;
	margin: 0;
	background: #ff7900;
}

.sunlove-popup__rule--small {
	margin: 14px 0 8px;
}

.sunlove-popup__lead {
	max-width: 280px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.36;
	letter-spacing: 0;
}

.sunlove-popup__lead strong {
	font-weight: 800;
}

.sunlove-popup__lead mark {
	color: #ff7900;
	font-weight: 800;
	background: transparent;
}

.sunlove-popup__body {
	max-width: 250px;
	color: #5f6065;
	font-size: 13.6px;
	font-weight: 400;
	line-height: 1.34;
	letter-spacing: 0;
}

.sunlove-popup__cta {
	position: static !important;
	top: auto !important;
	right: auto !important;
	z-index: 4;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: calc(100% - (var(--sunlove-popup-pad) * 2));
	min-width: 150px;
	height: 46px;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 20px !important;
	float: none !important;
	color: #fff;
	font-size: 14.4px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	background: #ff7900;
	border-radius: 9px;
	box-shadow: 0 12px 26px rgba(255, 121, 0, 0.2);
	transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.sunlove-popup__cta:hover,
.sunlove-popup__cta:focus {
	color: #fff;
	text-decoration: none;
	background: #f06f00;
	box-shadow: 0 15px 30px rgba(255, 121, 0, 0.25);
	transform: translateY(-1px);
}

.sunlove-popup__image {
	position: relative;
	z-index: 0;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.sunlove-popup__image::after {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	display: none;
	height: 110px;
	content: "";
	pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.78) 72%, #fff 100%);
}

.sunlove-popup__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.sunlove-popup__image .sunlove-popup__image-mobile {
	display: none;
}

.sunlove-popup__close {
	position: absolute;
	top: 23.4px;
	right: 23.4px;
	z-index: 5;
	width: 27.2px;
	height: 27.2px;
	padding: 0;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.94);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 7px 18px rgba(30, 26, 22, 0.14);
}

.sunlove-popup__close span,
.sunlove-popup__close span::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14.4px;
	height: 1.6px;
	content: "";
	background: #303038;
	border-radius: 999px;
}

.sunlove-popup__close span {
	transform: translate(-50%, -50%) rotate(45deg);
}

.sunlove-popup__close span::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

body.sunlove-popup-open {
	overflow: hidden;
}

.sunlove-cart-reward,
#top .sunlove-cart-reward {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2147483000;
	width: clamp(170px, 19vw, 300px);
	margin: 0;
	padding: 0;
	pointer-events: none;
	text-align: center;
	overflow: visible;
	transform: translate(-50%, -50%);
}

.sunlove-cart-reward__image,
#top .sunlove-cart-reward__image {
	position: relative;
	z-index: 2147483001;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	transform: rotate(20deg);
	transform-origin: center;
}

.sunlove-cart-reward-text-host,
#top .sunlove-cart-reward-text-host {
	position: relative;
}

.sunlove-cart-reward-text,
#top .sunlove-cart-reward-text {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 12px;
	color: #e38c29;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
	pointer-events: none;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.sunlove-cart-reward-text[hidden],
#top .sunlove-cart-reward-text[hidden] {
	display: none;
}

@media (max-width: 900px) {
	.sunlove-popup {
		--sunlove-mobile-image-height: clamp(190px, 34vh, 300px);
		grid-template-columns: 1fr;
		width: min(86vw, 420px);
		min-width: 0;
		max-height: 92vh;
		aspect-ratio: auto;
		min-height: 0;
		overflow-y: auto;
	}

	.sunlove-popup::before {
		display: none;
	}

	.sunlove-popup__copy {
		order: 2;
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: column;
		gap: 0;
		justify-content: flex-start;
		padding: 30px 22px 26px;
		background: #fff;
	}

	.sunlove-popup__top {
		padding-top: 0;
	}

	.sunlove-popup__message {
		flex: 0 1 auto;
		gap: 16px;
		padding: 24px 0 26px;
	}

	.sunlove-popup__image {
		order: 1;
		height: var(--sunlove-mobile-image-height);
		min-height: 0;
	}

	.sunlove-popup__image::after {
		display: block;
	}

	.sunlove-popup__image .sunlove-popup__image-main {
		display: none;
	}

	.sunlove-popup__image .sunlove-popup__image-mobile {
		display: block;
	}

	.sunlove-popup__logo {
		top: 18px;
		left: 22px;
		width: min(205px, 62%);
		transform: none;
	}

	.sunlove-popup__subtitle {
		font-size: clamp(16.5px, 3.6vw, 20.4px);
	}

	.sunlove-popup__lead,
	.sunlove-popup__body {
		max-width: none;
	}

	.sunlove-popup__cta {
		position: static !important;
		width: 100%;
		max-width: none;
		min-width: 0;
		height: 64px;
		margin-top: 0 !important;
	}

	.sunlove-cart-reward,
	#top .sunlove-cart-reward {
		width: min(42vw, 220px);
	}

	.sunlove-cart-reward-text,
	#top .sunlove-cart-reward-text {
		position: static !important;
		top: auto !important;
		left: auto !important;
		display: block;
		width: auto !important;
		height: auto !important;
		margin: 12px 0 0;
		padding: 0;
		white-space: normal;
	}
}

@media (max-width: 480px) {
	.sunlove-popup-overlay {
		padding: 12px;
	}

	.sunlove-popup {
		--sunlove-mobile-image-height: clamp(170px, 30vh, 270px);
	}

	.sunlove-popup__copy {
		padding: 22px 18px 24px;
	}

	.sunlove-popup__image {
		height: var(--sunlove-mobile-image-height);
		min-height: 0;
	}

	.sunlove-popup__logo {
		top: 28px;
		left: 18px;
		width: min(205px, 62%);
	}

	.sunlove-popup__close {
		top: 26.6px;
		right: 26.6px;
		width: 36.8px;
		height: 36.8px;
	}

	.sunlove-popup__close span,
	.sunlove-popup__close span::before {
		width: 18.4px;
		height: 1.6px;
	}
}
