/* PV Loterias – tudo fica dentro de .pvl para não conflitar com o tema */
.pvl {
	--pvl-deep: #0b1f38;
	--pvl-navy: #0f2a4a;
	--pvl-navy-2: #17406e;
	--pvl-green: #17804b;
	--pvl-green-dark: #116239;
	--pvl-gold: #f5b82e;
	--pvl-gold-dark: #d99a0b;
	--pvl-bg: #fbf8f1;
	--pvl-card: #ffffff;
	--pvl-text: #1c2733;
	--pvl-muted: #4a5868;
	--pvl-line: #e3dccb;
	--pvl-game: #930089;

	width: 100vw;
	background: var(--pvl-bg);
	color: var(--pvl-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	line-height: 1.55;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}

/* Sem bordas brancas: o fundo da página acompanha a cor do topo e do rodapé */
body.pvl-body,
body:has(.pvl) {
	margin: 0;
	background: #0b1f38 !important;
	overflow-x: hidden;
}

.elementor-section:has(.pvl),
.elementor-section:has(.pvl) > .elementor-container,
.elementor-column:has(.pvl) > .elementor-widget-wrap,
.elementor-widget-wrap:has(.pvl),
.e-con:has(.pvl),
.e-con:has(.pvl) > .e-con-inner {
	max-width: none !important;
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Largura total da tela, mesmo quando o tema limita a largura do conteúdo */
body .pvl {
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.pvl *,
.pvl *::before,
.pvl *::after {
	box-sizing: border-box;
}

.pvl [hidden] {
	display: none !important;
}

.pvl p {
	margin: 0 0 16px;
	font-size: inherit;
	color: inherit;
}

.pvl-wrap {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
}

.pvl-wrap-narrow {
	max-width: 780px;
}

.pvl-section {
	padding: 64px 0;
}

.pvl-center {
	text-align: center;
}

.pvl .pvl-h1,
.pvl .pvl-h2,
.pvl h3 {
	margin: 0 0 14px;
	font-family: inherit;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
	text-wrap: balance;
}

.pvl .pvl-h1 {
	font-size: clamp(32px, 6vw, 48px);
	color: #fff;
}

.pvl .pvl-h2 {
	font-size: clamp(28px, 5vw, 38px);
	color: var(--pvl-navy);
	text-align: center;
}

.pvl h3 {
	font-size: 24px;
	color: var(--pvl-navy);
}

.pvl-sub {
	text-align: center;
	color: var(--pvl-muted);
	font-size: 21px;
}

/* Botões */
.pvl .pvl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 16px 28px;
	border: 0;
	border-radius: 14px;
	background: var(--pvl-green);
	color: #fff;
	font-family: inherit;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: 0 6px 0 var(--pvl-green-dark), 0 12px 24px rgba(15, 42, 74, 0.18);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pvl .pvl-btn:hover,
.pvl .pvl-btn:focus-visible {
	background: #1a8f54;
	color: #fff;
	transform: translateY(-2px);
}

.pvl .pvl-btn:active {
	transform: translateY(4px);
	box-shadow: 0 2px 0 var(--pvl-green-dark);
}

.pvl .pvl-btn:disabled {
	opacity: 0.6;
	cursor: wait;
}

.pvl .pvl-btn-gold {
	background: var(--pvl-gold);
	color: #1c2733;
	box-shadow: 0 6px 0 var(--pvl-gold-dark), 0 12px 24px rgba(15, 42, 74, 0.18);
}

.pvl .pvl-btn-gold:hover,
.pvl .pvl-btn-gold:focus-visible {
	background: #ffc94a;
	color: #1c2733;
}

.pvl .pvl-btn-gold:active {
	box-shadow: 0 2px 0 var(--pvl-gold-dark);
}

.pvl .pvl-btn-big {
	width: 100%;
	max-width: 460px;
	min-height: 76px;
	font-size: 26px;
}

.pvl a:focus-visible,
.pvl button:focus-visible,
.pvl summary:focus-visible {
	outline: 4px solid var(--pvl-gold);
	outline-offset: 3px;
}

/* Topo */
.pvl-hero {
	padding: 36px 0 64px;
	background:
		radial-gradient(ellipse 70% 50% at 50% 62%, rgba(245, 184, 46, 0.22), transparent 70%),
		linear-gradient(180deg, var(--pvl-deep) 0%, var(--pvl-navy-2) 100%);
	color: #fff;
	text-align: center;
}

.pvl .pvl-lead {
	max-width: 620px;
	margin: 0 auto 28px;
	font-size: clamp(21px, 3.4vw, 25px);
	color: #dbe6f3;
}

/* Tela do aplicativo */
.pvl-phone {
	position: relative;
	max-width: 440px;
	margin: 0 auto;
	border: 10px solid #050f1d;
	border-radius: 42px;
	background: #f6f3ea;
	color: var(--pvl-text);
	overflow: hidden;
	box-shadow: 0 0 0 2px rgba(245, 184, 46, 0.55), 0 0 70px rgba(245, 184, 46, 0.35), 0 30px 60px rgba(0, 0, 0, 0.5);
	animation: pvl-rise 0.7s ease both, pvl-glow 2.6s ease-in-out 0.7s infinite;
	scroll-margin-top: 20px;
}

.pvl-app-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 18px;
	background: var(--pvl-navy);
	color: #fff;
	font-size: 20px;
	text-align: left;
}

.pvl-app-bar strong {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pvl-app-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: var(--pvl-gold);
	font-size: 22px;
}

.pvl-app-tag {
	flex: none;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	font-size: 14px;
	font-weight: 700;
}

.pvl-screen {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 500px;
	padding: 24px 18px 26px;
	animation: pvl-screen 0.4s ease both;
}

.pvl .pvl-screen-title {
	margin: 0 0 6px;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--pvl-navy);
}

.pvl .pvl-screen-hint {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 700;
	color: var(--pvl-green);
	animation: pvl-nudge 1.4s ease-in-out infinite;
}

.pvl-tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.pvl .pvl-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 132px;
	padding: 14px 8px;
	border: 0;
	border-radius: 20px;
	background: var(--c);
	color: #fff;
	font-family: inherit;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: inset 0 -7px 0 rgba(0, 0, 0, 0.22), 0 8px 18px rgba(15, 42, 74, 0.22);
	transition: transform 0.15s ease, filter 0.15s ease;
}

.pvl .pvl-tile:hover,
.pvl .pvl-tile:focus-visible {
	background: var(--c);
	color: #fff;
	transform: translateY(-3px) scale(1.02);
	filter: brightness(1.12);
}

.pvl .pvl-tile:active {
	transform: translateY(3px);
}

.pvl-tile strong {
	font-size: 25px;
	font-weight: 800;
}

.pvl-tile span {
	font-size: 18px;
	opacity: 0.92;
}

/* Carregando */
.pvl-spinner {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 28px;
}

.pvl-spinner span {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--pvl-game);
	box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.2);
	animation: pvl-bounce 0.9s ease-in-out infinite;
}

.pvl-spinner span:nth-child(2) { animation-delay: 0.12s; }
.pvl-spinner span:nth-child(3) { animation-delay: 0.24s; }
.pvl-spinner span:nth-child(4) { animation-delay: 0.36s; }
.pvl-spinner span:nth-child(5) { animation-delay: 0.48s; }

.pvl .pvl-loader-text {
	margin-bottom: 18px;
	font-size: 24px;
	font-weight: 800;
	color: var(--pvl-navy);
}

.pvl-loader-bar {
	height: 20px;
	border-radius: 999px;
	background: #e4dcc8;
	overflow: hidden;
}

.pvl-loader-bar span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: 999px;
	background: var(--pvl-game);
}

/* Jogo pronto (bloqueado) */
.pvl .pvl-ready {
	margin: 0 0 16px;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--pvl-green);
}

.pvl-locked-game {
	position: relative;
	margin-bottom: 14px;
	padding: 18px 10px;
	border-radius: 18px;
	background: #fff;
	border: 2px dashed var(--pvl-line);
}

.pvl-balls {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	filter: blur(8px);
	user-select: none;
	pointer-events: none;
}

.pvl-ball {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--pvl-game);
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	box-shadow: inset 0 -5px 0 rgba(0, 0, 0, 0.18);
	animation: pvl-pop 0.45s cubic-bezier(0.2, 1.4, 0.4, 1) both;
}

.pvl-balls.is-small {
	gap: 5px;
	filter: blur(6px);
}

.pvl-balls.is-small .pvl-ball {
	width: 32px;
	height: 32px;
	font-size: 14px;
}

.pvl-lock {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--pvl-navy);
	color: #fff;
	font-size: 19px;
	font-weight: 800;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.pvl .pvl-result-text {
	margin: 0 0 16px;
	font-size: 19px;
	color: var(--pvl-muted);
}

.pvl .pvl-unlock {
	width: 100%;
	min-height: 84px;
	font-size: 22px;
	animation: pvl-pulse 1.3s ease-in-out infinite;
}

.pvl .pvl-back {
	margin-top: 18px;
	padding: 8px;
	border: 0;
	background: none;
	color: var(--pvl-muted);
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	text-decoration: underline;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
}

.pvl .pvl-back:hover {
	background: none;
	color: var(--pvl-navy);
}

.pvl-confetti {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.pvl-confetti i {
	position: absolute;
	top: -16px;
	width: 10px;
	height: 16px;
	border-radius: 2px;
	animation: pvl-fall 1.8s ease-in forwards;
}

/* Planos só aparecem depois do desbloqueio */
.pvl-gated.is-gated {
	display: none;
}

.pvl-how-cta {
	margin-top: 36px;
}

/* Provas sociais */
.pvl-proofs {
	scroll-margin-top: 10px;
	background: #fff;
	border-top: 1px solid var(--pvl-line);
	border-bottom: 1px solid var(--pvl-line);
	overflow: hidden;
}

.pvl-marquee {
	position: relative;
	margin-top: 28px;
	overflow: hidden;
}

.pvl-marquee-track {
	display: flex;
	gap: 20px;
	width: max-content;
	padding: 8px 20px 16px;
	will-change: transform;
}

.pvl .pvl-proof {
	flex: none;
	border-radius: 18px;
	background: #f1ede2;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(15, 42, 74, 0.16);
}

.pvl .pvl-proof img {
	display: block;
	width: auto;
	max-width: none;
	height: 440px;
	border-radius: 0;
}

/* setas para passar as provas manualmente: nas extremidades, na altura do meio das imagens */
.pvl .pvl-marquee .pvl-arrow {
	position: absolute;
	top: 228px; /* 8px de respiro + metade dos 440px da imagem */
	bottom: auto;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	min-width: 0;
	min-height: 0;
	margin: -28px 0 0;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	background: rgba(15, 42, 74, 0.45);
	color: #fff;
	line-height: 0;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(15, 42, 74, 0.25);
	-webkit-appearance: none;
	appearance: none;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	-webkit-tap-highlight-color: transparent;
	/* mantém as setas por cima das imagens em movimento no Safari */
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	transition: background 0.12s ease;
}

.pvl .pvl-marquee .pvl-arrow svg {
	display: block;
	flex: none;
	width: 28px;
	height: 28px;
}

.pvl .pvl-marquee .pvl-arrow:hover,
.pvl .pvl-marquee .pvl-arrow:focus-visible,
.pvl .pvl-marquee .pvl-arrow:active {
	background: rgba(15, 42, 74, 0.75);
	color: #fff;
}

.pvl .pvl-marquee .pvl-arrow-prev {
	left: 8px;
	right: auto;
}

.pvl .pvl-marquee .pvl-arrow-next {
	right: 8px;
	left: auto;
}

/* Como funciona */
.pvl-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 32px;
}

.pvl-step {
	padding: 28px 24px;
	border-radius: 18px;
	background: var(--pvl-card);
	border: 1px solid var(--pvl-line);
	text-align: center;
}

.pvl-step p {
	margin: 0;
	color: var(--pvl-muted);
}

.pvl-step-n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--pvl-gold);
	color: var(--pvl-navy);
	font-size: 30px;
	font-weight: 800;
}

/* Planos */
.pvl-plans {
	background: linear-gradient(180deg, #f1ebdc 0%, var(--pvl-bg) 100%);
	scroll-margin-top: 20px;
}

.pvl-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: stretch;
	margin-top: 40px;
}

.pvl-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 32px 24px 28px;
	border-radius: 20px;
	background: var(--pvl-card);
	border: 2px solid var(--pvl-line);
	text-align: center;
}

.pvl-plan.is-featured {
	border: 4px solid var(--pvl-gold);
	box-shadow: 0 18px 44px rgba(15, 42, 74, 0.2);
}

.pvl-plan-tag {
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	padding: 6px 20px;
	border-radius: 999px;
	background: var(--pvl-gold);
	color: var(--pvl-navy);
	font-size: 18px;
	font-weight: 800;
	white-space: nowrap;
}

.pvl .pvl-plan-name {
	font-size: 28px;
}

.pvl .pvl-plan-price {
	margin: 0;
	font-size: 52px;
	font-weight: 800;
	line-height: 1.1;
	color: var(--pvl-green);
}

.pvl-plan-price small {
	font-size: 24px;
}

.pvl .pvl-plan-period {
	margin: 0;
	font-size: 20px;
	color: var(--pvl-muted);
}

.pvl .pvl-plan-eq {
	margin: 4px 0 20px;
	font-size: 18px;
	font-weight: 700;
	color: var(--pvl-navy);
}

.pvl .pvl-plan-list {
	flex: 1;
	margin: 0 0 24px;
	padding: 20px 0 0;
	border-top: 1px solid var(--pvl-line);
	list-style: none;
	text-align: left;
}

.pvl .pvl-plan-list li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 34px;
	font-size: 20px;
	line-height: 1.35;
}

.pvl .pvl-plan-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--pvl-green);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

.pvl-plan .pvl-btn {
	width: 100%;
}

/* Garantia */
.pvl-guarantee {
	padding-top: 0;
}

.pvl-guarantee-box {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 32px;
	border-radius: 20px;
	background: var(--pvl-navy);
	color: #e6eef8;
}

.pvl .pvl-guarantee-box .pvl-h2 {
	color: #fff;
	text-align: left;
}

.pvl-guarantee-box p {
	margin: 0;
	font-size: 21px;
}

.pvl-seal {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: var(--pvl-gold);
	border: 6px double var(--pvl-navy);
	color: var(--pvl-navy);
	line-height: 1;
}

.pvl-seal strong {
	font-size: 50px;
	font-weight: 800;
}

.pvl-seal span {
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
}

/* Dúvidas */
.pvl-faq {
	padding-top: 0;
}

.pvl-faq details {
	margin-top: 14px;
	border-radius: 14px;
	background: var(--pvl-card);
	border: 1px solid var(--pvl-line);
}

.pvl-faq summary {
	padding: 20px 24px;
	font-size: 22px;
	font-weight: 700;
	color: var(--pvl-navy);
	cursor: pointer;
}

.pvl-faq details p {
	margin: 0;
	padding: 0 24px 22px;
	color: var(--pvl-muted);
}

.pvl-faq .pvl-center {
	margin-top: 36px;
}

/* Rodapé */
.pvl-footer {
	padding: 28px 0;
	background: var(--pvl-deep);
	text-align: center;
}

.pvl .pvl-footer p {
	margin: 0;
	font-size: 16px;
	color: #a9b9cc;
}

.pvl .pvl-admin-note {
	margin: 12px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	background: #fff3cd;
	border: 1px dashed #b88a00;
	color: #5c4500;
	font-size: 16px;
}

/* ------------------------------------------------------------------
 * Página de upsell (upgrade para o plano anual): uma tela só, direta
 * ---------------------------------------------------------------- */
.pvl-up-hero {
	min-height: 100vh;
	padding: 26px 0 44px;
	background:
		radial-gradient(ellipse 80% 45% at 50% 62%, rgba(245, 184, 46, 0.26), transparent 70%),
		linear-gradient(180deg, var(--pvl-deep) 0%, var(--pvl-navy-2) 100%);
	color: #fff;
	text-align: center;
}

.pvl .pvl-up-ok {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 19px;
	font-weight: 700;
	color: #7be0a4;
}

.pvl-up-ok i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--pvl-green);
	color: #fff;
	font-size: 16px;
	font-style: normal;
}

.pvl .pvl-up-badge {
	display: table;
	margin: 0 auto 16px;
	padding: 8px 18px;
	border-radius: 999px;
	background: #c81e1e;
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	animation: pvl-alarm 1.6s ease-out infinite;
}

.pvl-up-hero .pvl-h1 {
	margin-bottom: 22px;
	font-size: clamp(28px, 6vw, 42px);
}

.pvl-up-hero .pvl-h1 strong {
	color: var(--pvl-gold);
}

.pvl-up-card {
	max-width: 520px;
	margin: 0 auto;
	padding: 24px 20px 20px;
	border-radius: 22px;
	background: var(--pvl-card);
	color: var(--pvl-text);
	border: 4px solid var(--pvl-gold);
	box-shadow: 0 0 60px rgba(245, 184, 46, 0.4), 0 24px 60px rgba(0, 0, 0, 0.4);
	animation: pvl-rise 0.7s ease both;
}

.pvl .pvl-up-from {
	margin: 0;
	font-size: 20px;
	color: var(--pvl-muted);
}

.pvl-up-from s {
	color: #b3261e;
	font-weight: 800;
}

.pvl .pvl-up-price {
	margin: 2px 0 16px;
	font-size: 58px;
	font-weight: 900;
	line-height: 1.05;
	color: var(--pvl-green);
}

.pvl-up-price small {
	display: block;
	margin-bottom: 4px;
	font-size: 20px;
	font-weight: 700;
	color: var(--pvl-navy);
}

.pvl .pvl-up-list {
	display: inline-block;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
	text-align: left;
}

.pvl .pvl-up-list li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 36px;
	font-size: 21px;
	line-height: 1.35;
}

.pvl .pvl-up-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--pvl-green);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}

.pvl .pvl-up-yes {
	max-width: none;
	min-height: 84px;
	font-size: clamp(22px, 5vw, 27px);
	animation: pvl-pulse 1.3s ease-in-out infinite;
}

.pvl .pvl-up-small {
	margin: 14px 0 0;
	font-size: 17px;
	color: var(--pvl-muted);
}

/* botão de recusar: visível, mas bem menos destacado que o "Sim" */
.pvl .pvl-up-no {
	display: block;
	max-width: 520px;
	margin: 18px auto 0;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 12px;
	background: transparent;
	color: #c2cfdf;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

.pvl .pvl-up-no:hover,
.pvl .pvl-up-no:focus-visible {
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff;
}

@keyframes pvl-alarm {
	0% { box-shadow: 0 0 0 0 rgba(255, 70, 70, 0.7); }
	100% { box-shadow: 0 0 0 16px rgba(255, 70, 70, 0); }
}

/* Animações */
.pvl-js .pvl-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.pvl-js .pvl-reveal.pvl-in {
	opacity: 1;
	transform: none;
}

@keyframes pvl-pop {
	from { opacity: 0; transform: scale(0.2); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes pvl-rise {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: none; }
}

@keyframes pvl-glow {
	0%, 100% { box-shadow: 0 0 0 2px rgba(245, 184, 46, 0.55), 0 0 50px rgba(245, 184, 46, 0.25), 0 30px 60px rgba(0, 0, 0, 0.5); }
	50% { box-shadow: 0 0 0 2px rgba(245, 184, 46, 0.9), 0 0 90px rgba(245, 184, 46, 0.5), 0 30px 60px rgba(0, 0, 0, 0.5); }
}

@keyframes pvl-screen {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

@keyframes pvl-nudge {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(5px); }
}

@keyframes pvl-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-18px); }
}

@keyframes pvl-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.04); }
}

@keyframes pvl-fall {
	from { transform: translateY(0) rotate(0deg); opacity: 1; }
	to { transform: translateY(640px) rotate(540deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.pvl *,
	.pvl *::before,
	.pvl *::after {
		animation: none !important;
		transition: none !important;
	}
}

/* Celular */
@media (max-width: 860px) {
	.pvl-section {
		padding: 48px 0;
	}

	.pvl-steps,
	.pvl-plan-grid {
		grid-template-columns: 1fr;
	}

	.pvl-plan-grid {
		gap: 36px;
	}

	.pvl-plan.is-featured {
		order: -1;
	}

	.pvl-guarantee-box {
		flex-direction: column;
		text-align: center;
	}

	.pvl .pvl-guarantee-box .pvl-h2 {
		text-align: center;
	}
}

@media (max-width: 600px) {
	.pvl-hero {
		padding: 24px 0 44px;
	}

	.pvl-phone {
		border-width: 7px;
		border-radius: 32px;
	}

	.pvl-screen {
		min-height: 470px;
		padding: 20px 14px 22px;
	}

	.pvl .pvl-tile {
		min-height: 120px;
	}

	.pvl-ball {
		width: 50px;
		height: 50px;
		font-size: 22px;
	}

	.pvl .pvl-marquee .pvl-arrow {
		top: 198px; /* 8px + metade dos 380px */
	}

	.pvl .pvl-proof img {
		height: 380px;
	}
}
