.zlz-sp-page {
	overflow: hidden;
	background: #fff;
	color: var(--zlz-text, #271C2C);
}

.zlz-sp-hero,
.zlz-sp-worlds,
.zlz-sp-final {
	position: relative;
	overflow: hidden;
}

.zlz-sp-hero {
	padding: 70px 0 64px;
	background:
		radial-gradient(circle at 78% 18%, rgba(70,191,224,.18), transparent 27%),
		radial-gradient(circle at 16% 82%, rgba(217,83,128,.15), transparent 30%),
		linear-gradient(135deg, #271C2C 0%, #3A2453 58%, #51306D 100%);
	color: #fff;
}

.zlz-sp-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	gap: 48px;
	align-items: center;
}

.zlz-sp-eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(123,63,228,.10);
	color: var(--zlz-primary, #7B3FE4);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1;
}

.zlz-sp-hero .zlz-sp-eyebrow,
.zlz-sp-final .zlz-sp-eyebrow {
	background: rgba(255,255,255,.11);
	color: #fff;
}

.zlz-sp-hero__copy h1 {
	margin: 16px 0 14px;
	font-size: clamp(42px, 5vw, 68px);
	line-height: .98;
	letter-spacing: -.045em;
}

.zlz-sp-hero__copy h1 span {
	color: #F7B8D1;
}

.zlz-sp-hero__copy > p {
	max-width: 620px;
	color: rgba(255,255,255,.78);
	font-size: 16px;
	line-height: 1.7;
}

.zlz-sp-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0;
}

.zlz-sp-hero__facts span {
	padding: 7px 11px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	background: rgba(255,255,255,.08);
	font-size: 11px;
	font-weight: 600;
}

.zlz-sp-hero__cta {
	min-height: 50px;
	padding: 14px 22px;
	border-radius: 12px;
	font-weight: 700;
}

.zlz-sp-hero__copy > small {
	display: block;
	margin-top: 9px;
	color: rgba(255,255,255,.62);
	font-size: 10px;
}

.zlz-sp-hero__visual {
	display: grid;
	place-items: center;
	min-height: 390px;
}

.zlz-sp-box {
	position: relative;
	width: 260px;
	height: 250px;
	filter: drop-shadow(0 28px 35px rgba(0,0,0,.25));
	animation: zlzSpBoxFloat 4.6s ease-in-out infinite;
}

.zlz-sp-box__lid {
	position: absolute;
	left: 22px;
	top: 44px;
	width: 216px;
	height: 54px;
	border: 4px solid #271C2C;
	border-radius: 18px 18px 10px 10px;
	background: linear-gradient(135deg, #F09C39, #FFC66D);
	transform: rotate(-4deg);
	z-index: 2;
}

.zlz-sp-box__lid::before,
.zlz-sp-box__body::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	width: 34px;
	height: 100%;
	transform: translateX(-50%);
	background: #D95380;
}

.zlz-sp-box__body {
	position: absolute;
	left: 34px;
	top: 88px;
	display: flex;
	width: 192px;
	height: 145px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 4px solid #271C2C;
	border-radius: 12px 12px 22px 22px;
	background: linear-gradient(145deg, #7B3FE4, #5E2BBB);
	overflow: hidden;
}

.zlz-sp-box__body span,
.zlz-sp-box__body strong {
	position: relative;
	z-index: 2;
}

.zlz-sp-box__body span {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border: 3px solid #271C2C;
	border-radius: 50%;
	background: #B9D355;
	color: #271C2C;
	font-size: 34px;
	font-weight: 700;
}

.zlz-sp-box__body strong {
	margin-top: 10px;
	font-size: 12px;
	letter-spacing: .09em;
}

.zlz-sp-box__spark {
	position: absolute;
	width: 16px;
	height: 16px;
	background: #46BFE0;
	clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}
.zlz-sp-box__spark--one { left: 8px; top: 52px; }
.zlz-sp-box__spark--two { right: 4px; top: 20px; background:#B9D355; transform:scale(.75); }
.zlz-sp-box__spark--three { right: 15px; bottom: 24px; background:#D95380; transform:scale(1.15); }

@keyframes zlzSpBoxFloat {
	0%,100% { transform: translateY(0) rotate(-1deg); }
	50% { transform: translateY(-10px) rotate(1deg); }
}

.zlz-decor-character--surprise-hero-left {
	left: -65px;
	bottom: -75px;
	width: 240px;
	transform: rotate(8deg);
	opacity: .95;
}

.zlz-decor-character--surprise-hero-right {
	right: -42px;
	top: 32px;
	width: 170px;
	transform: rotate(9deg);
	opacity: .9;
}

.zlz-sp-packs,
.zlz-sp-steps,
.zlz-sp-worlds,
.zlz-sp-value,
.zlz-sp-promise,
.zlz-sp-reviews,
.zlz-sp-faq,
.zlz-sp-final {
	padding: 68px 0;
}

.zlz-sp-packs { background: #FFF9F2; }
.zlz-sp-steps { background: #fff; }
.zlz-sp-worlds { background: #F9F5FC; }
.zlz-sp-value { background: #fff; }
.zlz-sp-promise { background: #FFF9F2; }
.zlz-sp-reviews { background: #fff; }
.zlz-sp-faq { background: #F8F4FA; }

.zlz-sp-section-heading {
	max-width: 760px;
	margin: 0 auto 30px;
	text-align: center;
}

.zlz-sp-section-heading h2 {
	margin: 11px 0 8px;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.08;
	letter-spacing: -.035em;
}

.zlz-sp-section-heading p {
	color: #756D7A;
	font-size: 14px;
	line-height: 1.65;
}

.zlz-sp-packs__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 14px;
	max-width: 980px;
	margin: 0 auto;
}

.zlz-sp-pack-card {
	position: relative;
	display: flex;
	min-height: 360px;
	flex-direction: column;
	align-items: center;
	padding: 28px 22px 22px;
	border: 2px solid #E7DFE9;
	border-radius: 20px;
	background: #fff;
	color: #271C2C;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(39,28,44,.05);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zlz-sp-pack-card:hover { transform: translateY(-3px); box-shadow:0 15px 34px rgba(39,28,44,.10); }
.zlz-sp-pack-card.is-selected { border-color:#7B3FE4; background:#FCFAFF; box-shadow:0 16px 38px rgba(123,63,228,.15); }

.zlz-sp-pack-card__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 5px 8px;
	border-radius: 999px;
	background: #F09C39;
	color: #fff;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .07em;
}
.zlz-sp-pack-card.is-best-value .zlz-sp-pack-card__badge { background:#B9D355; color:#283119; }

.zlz-sp-pack-card__radio {
	position: absolute;
	top: 16px;
	left: 16px;
	width: 20px;
	height: 20px;
	border: 2px solid #CFC5D6;
	border-radius: 50%;
	box-shadow: inset 0 0 0 4px #fff;
}
.zlz-sp-pack-card.is-selected .zlz-sp-pack-card__radio { border-color:#7B3FE4; background:#7B3FE4; }

.zlz-sp-pack-card__count { margin-top:20px; font-size:64px; font-weight:700; line-height:.9; color:#7B3FE4; }
.zlz-sp-pack-card__unit { margin:6px 0 16px; color:#948A99; font-size:10px; font-weight:700; letter-spacing:.12em; }
.zlz-sp-pack-card > strong { font-size:18px; line-height:1.2; }
.zlz-sp-pack-card > p { min-height:60px; margin:8px 0 16px; color:#766E7B; font-size:12px; line-height:1.55; }
.zlz-sp-pack-card__price { display:flex; flex-direction:column; align-items:center; gap:2px; margin-top:auto; }
.zlz-sp-pack-card__price del { color:#A097A4; font-size:11px; }
.zlz-sp-pack-card__price b { font-size:24px; }
.zlz-sp-pack-card__price em { color:#31877F; font-size:11px; font-style:normal; font-weight:600; }
.zlz-sp-pack-card__selected { margin-top:14px; padding:6px 11px; border-radius:999px; background:#EDE5F9; color:#7B3FE4; font-size:10px; font-weight:700; opacity:0; }
.zlz-sp-pack-card.is-selected .zlz-sp-pack-card__selected { opacity:1; }

.zlz-sp-order-bar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	max-width:980px;
	margin:22px auto 0;
	padding:18px 20px;
	border-radius:18px;
	background:#271C2C;
	color:#fff;
	box-shadow:0 14px 34px rgba(39,28,44,.18);
}
.zlz-sp-order-bar > div:first-child { display:flex; flex-direction:column; gap:2px; }
.zlz-sp-order-bar small { color:rgba(255,255,255,.55); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.zlz-sp-order-bar strong { font-size:16px; }
.zlz-sp-order-bar span { color:rgba(255,255,255,.68); font-size:11px; }
.zlz-sp-order-bar__action { display:flex; align-items:center; gap:14px; }
.zlz-sp-order-bar__action > strong { color:#F7B8D1; font-size:20px; white-space:nowrap; }
.zlz-sp-order-bar .zlz-btn { min-height:46px; border-radius:11px; font-weight:700; }

.zlz-sp-steps__grid,
.zlz-sp-promise__grid,
.zlz-sp-reviews__grid {
	display:grid;
	gap:14px;
}
.zlz-sp-steps__grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:980px; margin:0 auto; }
.zlz-sp-steps__grid article,
.zlz-sp-promise__grid article,
.zlz-sp-reviews__grid article {
	padding:24px;
	border:1px solid #E7DFE9;
	border-radius:18px;
	background:#fff;
}
.zlz-sp-steps__grid article > span,
.zlz-sp-promise__grid article > span {
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	margin-bottom:14px;
	border-radius:50%;
	background:#7B3FE4;
	color:#fff;
	font-size:14px;
	font-weight:700;
}
.zlz-sp-steps__grid h3,
.zlz-sp-promise__grid h3 { font-size:17px; margin-bottom:7px; }
.zlz-sp-steps__grid p,
.zlz-sp-promise__grid p { color:#756D7A; font-size:12px; line-height:1.6; }

.zlz-character-marquee--surprise { max-width:980px; margin:0 auto 24px; }

.zlz-sp-worlds__grid {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:10px;
	position:relative;
	z-index:2;
}
.zlz-sp-world-card { padding:12px; border:1px solid #E7DFE9; border-radius:16px; background:#fff; text-align:center; }
.zlz-sp-world-card__image { position:relative; aspect-ratio:1; border-radius:13px; overflow:hidden; background:#EEE6F2; }
.zlz-sp-world-card__image::after { content:'?'; position:absolute; right:7px; bottom:5px; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#D95380; color:#fff; font-size:12px; font-weight:700; }
.zlz-sp-world-card__image img { width:100%; height:100%; padding:8px; object-fit:contain; }
.zlz-sp-world-card__image > span { display:grid; place-items:center; width:100%; height:100%; color:#7B3FE4; font-size:38px; font-weight:700; }
.zlz-sp-world-card > strong { display:block; margin-top:10px; font-size:13px; }
.zlz-sp-world-card > small { display:block; margin-top:2px; color:#8A818F; font-size:9px; }
.zlz-decor-character--surprise-worlds { left:-35px; bottom:-58px; width:170px; transform:rotate(5deg); opacity:.75; }

.zlz-sp-value__card {
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:34px;
	align-items:center;
	padding:36px;
	border-radius:24px;
	background:linear-gradient(135deg,#271C2C,#3C284C);
	color:#fff;
}
.zlz-sp-value__card h2 { margin:12px 0 10px; font-size:clamp(28px,3vw,42px); line-height:1.08; }
.zlz-sp-value__card p { color:rgba(255,255,255,.72); font-size:14px; line-height:1.7; }
.zlz-sp-value__card ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.zlz-sp-value__card li { position:relative; padding:12px 14px 12px 40px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.07); font-size:12px; }
.zlz-sp-value__card li::before { content:'✓'; position:absolute; left:14px; top:10px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#3BB8B0; color:#fff; font-size:10px; font-weight:700; }

.zlz-sp-promise__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.zlz-sp-promise__grid article > span { background:#3BB8B0; }

.zlz-sp-reviews__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.zlz-sp-reviews__grid article { position:relative; min-height:220px; }
.zlz-sp-review-tag { display:inline-flex; padding:4px 7px; border-radius:999px; background:#F1ECF4; color:#817686; font-size:8px; font-weight:700; letter-spacing:.07em; }
.zlz-sp-stars { margin:18px 0 10px; color:#F09C39; letter-spacing:.08em; }
.zlz-sp-reviews blockquote { margin:0 0 16px; color:#3D3441; font-size:14px; line-height:1.7; }
.zlz-sp-reviews article > small { position:absolute; left:24px; bottom:20px; color:#8E8592; font-size:10px; }

.zlz-sp-faq__list { max-width:820px; margin:0 auto; display:grid; gap:9px; }
.zlz-sp-faq__item { border:1px solid #E5DDE7; border-radius:14px; background:#fff; overflow:hidden; }
.zlz-sp-faq__question { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:17px 18px; border:0; background:#fff; color:#271C2C; text-align:left; cursor:pointer; font-size:14px; font-weight:600; }
.zlz-sp-faq__question b { color:#7B3FE4; font-size:22px; line-height:1; transition:transform .18s ease; }
.zlz-sp-faq__answer { display:none; padding:0 18px 17px; color:#756D7A; font-size:12px; line-height:1.65; }
.zlz-sp-faq__item.is-open .zlz-sp-faq__answer { display:block; }
.zlz-sp-faq__item.is-open .zlz-sp-faq__question b { transform:rotate(45deg); }

.zlz-sp-final {
	background:linear-gradient(135deg,#7B3FE4,#5224A9);
	color:#fff;
}
.zlz-sp-final__card { position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center; }
.zlz-sp-final h2 { margin:13px 0 9px; font-size:clamp(34px,4vw,52px); line-height:1.05; }
.zlz-sp-final p { color:rgba(255,255,255,.76); font-size:14px; }
.zlz-sp-final__selection { display:inline-flex; align-items:center; gap:16px; margin:22px 0 15px; padding:12px 16px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(255,255,255,.10); }
.zlz-sp-final__selection span { font-size:12px; }
.zlz-sp-final__selection strong { font-size:20px; }
.zlz-sp-final .zlz-btn { display:flex; width:100%; max-width:360px; min-height:50px; margin:0 auto; border-radius:12px; background:#fff; color:#6429C7; font-weight:700; }
.zlz-sp-final__card > small { display:block; margin-top:10px; color:rgba(255,255,255,.65); font-size:9px; }
.zlz-decor-character--surprise-final { right:3%; bottom:-68px; width:190px; transform:rotate(-5deg); opacity:.85; }

.zlz-sp-add-to-cart.is-loading { opacity:.72; cursor:wait; }

@media (max-width: 960px) {
	.zlz-sp-hero__inner { grid-template-columns:1fr 380px; gap:24px; }
	.zlz-sp-worlds__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.zlz-sp-promise__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
	.zlz-sp-hero { padding:50px 0 42px; }
	.zlz-sp-hero__inner { grid-template-columns:1fr; }
	.zlz-sp-hero__visual { min-height:280px; }
	.zlz-sp-box { transform:scale(.82); }
	.zlz-sp-packs,
	.zlz-sp-steps,
	.zlz-sp-worlds,
	.zlz-sp-value,
	.zlz-sp-promise,
	.zlz-sp-reviews,
	.zlz-sp-faq,
	.zlz-sp-final { padding:50px 0; }
	.zlz-sp-packs__grid,
	.zlz-sp-steps__grid,
	.zlz-sp-reviews__grid { grid-template-columns:1fr; }
	.zlz-sp-pack-card { min-height:0; }
	.zlz-sp-order-bar { align-items:stretch; flex-direction:column; }
	.zlz-sp-order-bar__action { justify-content:space-between; }
	.zlz-sp-value__card { grid-template-columns:1fr; padding:26px 22px; }
	.zlz-decor-character--surprise-hero-left { width:120px; left:-42px; bottom:-45px; }
	.zlz-decor-character--surprise-hero-right { width:92px; right:-30px; top:24px; }
	.zlz-decor-character--surprise-worlds,
	.zlz-decor-character--surprise-final { display:none; }
}

@media (max-width: 520px) {
	.zlz-sp-hero__copy h1 { font-size:40px; }
	.zlz-sp-hero__visual { min-height:240px; }
	.zlz-sp-box { width:230px; transform:scale(.75); }
	.zlz-sp-worlds__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.zlz-sp-promise__grid { grid-template-columns:1fr; }
	.zlz-sp-order-bar__action { align-items:stretch; flex-direction:column; }
	.zlz-sp-order-bar .zlz-btn { width:100%; }
	.zlz-sp-final__selection { display:flex; justify-content:space-between; width:100%; }
}

@media (prefers-reduced-motion: reduce) {
	.zlz-sp-box { animation:none; }
	.zlz-sp-pack-card,
	.zlz-sp-faq__question b { transition:none; }
}
