/* Projeto Paraguai — layout próprio (sem tema WordPress) */
:root {
	--pp-bg: #0a0c10;
	--pp-surface: #12151c;
	--pp-surface2: #1a1f29;
	--pp-border: rgba(255, 255, 255, 0.08);
	--pp-text: #f1f3f7;
	--pp-muted: #9aa3b2;
	--pp-accent: #f59e0b;
	--pp-accent-hover: #fbbf24;
	--pp-accent-text: #0a0c10;
	--pp-radius: 12px;
	--pp-radius-lg: 20px;
	--pp-max: 1120px;
	--pp-font: "DM Sans", system-ui, -apple-system, sans-serif;
	/* altura aproximada do header fixo — fundo do hero sobe até aqui */
	--pp-header-h: 4.5rem;
}

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

html {
	scroll-behavior: smooth;
}

body.pp-body {
	margin: 0;
	font-family: var(--pp-font);
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--pp-text);
	background: var(--pp-bg);
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--pp-accent);
	text-decoration: none;
	transition: color 0.15s ease, opacity 0.15s ease;
}
a:hover {
	color: var(--pp-accent-hover);
}

.pp-wrap {
	width: 100%;
	max-width: var(--pp-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* Home: coluna útil mais larga no desktop (~80% da viewport), com teto para telas enormes; mobile inalterado. */
@media (min-width: 769px) {
	.pp-body--home .pp-wrap {
		max-width: min(80vw, 90rem);
	}
	.pp-body--home .pp-modules-stack {
		max-width: none;
	}
	.pp-body--home .pp-audience {
		max-width: none;
	}
	.pp-body--home .pp-audience-grid {
		max-width: none;
	}
	.pp-body--home .pp-top-hero__foreground .pp-video {
		max-width: min(80vw, 90rem);
	}
}

/* ——— Header ——— */
.pp-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 12, 16, 0.88);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--pp-border);
}
.pp-body--hero-top .pp-header {
	background: rgba(10, 12, 16, 0.58);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom-color: rgba(255, 255, 255, 0.06);
}
.pp-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 4rem;
}
.pp-logo {
	display: flex;
	align-items: center;
}
.pp-logo img {
	max-height: 40px;
	width: auto;
}
.pp-nav {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.pp-nav__link {
	color: var(--pp-muted);
	font-weight: 500;
	font-size: 0.95rem;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
}
.pp-nav__link:hover {
	color: var(--pp-text);
	background: rgba(255, 255, 255, 0.05);
}
.pp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.65rem 1.35rem;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.15s ease;
	text-decoration: none;
}
.pp-btn--primary {
	background: var(--pp-accent);
	color: var(--pp-accent-text);
	box-shadow: 0 4px 20px rgba(245, 158, 11, 0.35);
}
.pp-btn--primary:hover {
	background: var(--pp-accent-hover);
	color: var(--pp-accent-text);
	transform: translateY(-1px);
	box-shadow: 0 6px 28px rgba(245, 158, 11, 0.45);
}
.pp-btn--ghost {
	background: transparent;
	color: var(--pp-text);
	border: 1px solid var(--pp-border);
}
.pp-btn--ghost:hover {
	border-color: var(--pp-muted);
	background: rgba(255, 255, 255, 0.04);
	color: var(--pp-text);
}
.pp-nav__desktop {
	display: none;
	align-items: center;
	gap: 0.5rem;
}
@media (min-width: 769px) {
	.pp-nav__desktop {
		display: flex;
	}
	.pp-drawer {
		display: none !important;
	}
}

.pp-burger {
	display: none;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	background: var(--pp-surface2);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	color: var(--pp-text);
	cursor: pointer;
}
.pp-burger svg {
	width: 22px;
	height: 22px;
}
@media (max-width: 768px) {
	.pp-burger {
		display: flex;
	}
	.pp-nav__desktop {
		display: none !important;
	}
	/* Irmão do <header>: fixed relativo à viewport (não ao header com backdrop-filter). */
	.pp-drawer {
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: var(--pp-header-h);
		z-index: 99;
		flex-direction: column;
		gap: 0.5rem;
		padding: 1.25rem 1.5rem 1.5rem;
		box-sizing: border-box;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background-color: var(--pp-surface);
		background-image: linear-gradient(180deg, var(--pp-surface) 0%, var(--pp-bg) 100%);
		border-top: 1px solid var(--pp-border);
		box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
	}
	.pp-drawer.is-open {
		display: flex;
	}
	.pp-drawer .pp-btn {
		width: 100%;
	}
}

/* ——— Video hero: fundo = background da <section> (atrás de tudo); scrim em HTML com position inline ——— */
.pp-top-hero.pp-section {
	padding-top: 0;
	padding-bottom: 2.75rem;
	margin-top: calc(-1 * var(--pp-header-h));
}
.pp-top-hero {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	border-bottom: 1px solid var(--pp-border);
	box-sizing: border-box;
	overflow: hidden;
	z-index: 0;
}
.pp-top-hero__foreground {
	padding-top: calc(var(--pp-header-h) + 0.35rem);
}
.pp-top-hero__foreground .pp-video-intro {
	width: 100%;
	max-width: 52rem;
	margin: 0 auto 2rem;
	padding: 0;
	box-sizing: border-box;
}
.pp-top-hero__foreground .pp-video {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 2rem;
	padding: 0 1.25rem;
	box-sizing: border-box;
}
.pp-top-hero__foreground .pp-video__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: #000;
	border-radius: var(--pp-radius-lg);
	overflow: hidden;
	border: 1px solid var(--pp-border);
}
/*
 * Formato do player: por largura de ecrã (igual ao menu ~769px).
 * Antes usava aspect-ratio da viewport — telemóvel em landscape ou janela larga e baixa não mudava o formato.
 */
@media (max-width: 768px) {
	.pp-top-hero__foreground .pp-video__inner {
		aspect-ratio: 9 / 16;
		max-height: 85vh;
		max-width: min(100%, 420px);
		margin-left: auto;
		margin-right: auto;
	}
}
@media (min-width: 769px) {
	.pp-top-hero__foreground .pp-video__inner {
		aspect-ratio: 16 / 9;
		max-height: none;
		max-width: none;
	}
}
/*
 * Plyr usa padding-bottom 56.25% no embed; o pai já tem aspect-ratio → conflito e área preta.
 * Preenchemos o retângulo do .pp-video__inner com absolute + altura explícita no iframe.
 * Desktop: sem min-height — competir com aspect-ratio 16:9 gerava caixa mais alta e barras pretas no vídeo/capa.
 */
@media (max-width: 768px) {
	.pp-top-hero__foreground .pp-video__inner--plyr {
		min-height: 12rem;
	}
}
/* Enquanto a capa está visível, o iframe não pode roubar toques (Safari/iOS → vídeo atrás da thumb). */
.pp-video__inner--facade-active .plyr,
.pp-video__inner--facade-active .plyr__video-wrapper,
.pp-video__inner--facade-active .plyr__video-embed,
.pp-video__inner--facade-active .plyr iframe,
.pp-video__inner--facade-active .plyr__video-embed iframe {
	pointer-events: none !important;
}
.pp-top-hero__foreground .pp-video__inner--plyr > .plyr {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.pp-top-hero__foreground .pp-video__inner--plyr .plyr__video-wrapper,
.pp-top-hero__foreground .pp-video__inner--plyr .plyr__video-embed {
	position: absolute !important;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
}
.pp-top-hero__foreground .pp-video__inner--plyr .plyr__video-wrapper iframe,
.pp-top-hero__foreground .pp-video__inner--plyr .plyr__video-embed iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.pp-top-hero__foreground .pp-video__inner--plyr .plyr__video-wrapper {
	background: #000;
}
/* Thumb custom: imagem real (<picture>) por cima do Plyr até dar play */
.pp-video-facade {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	border-radius: var(--pp-radius-lg);
	cursor: pointer;
	box-sizing: border-box;
	overflow: hidden;
	isolation: isolate;
}
.pp-video-facade__thumb {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	padding: 0;
	pointer-events: none;
	border-radius: inherit;
}
.pp-video-facade__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: inherit;
}
.pp-video-facade::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(10, 12, 16, 0.15) 0%, rgba(10, 12, 16, 0.35) 100%);
	pointer-events: none;
}
/* absolute + z-index acima do ::after e da <picture> (flex centrava mas alguns browsers empilhavam mal) */
.pp-video-facade__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 999px;
	background: #fbbf24;
	color: #0a0c10;
	font-size: 1.35rem;
	padding-left: 0.2rem;
	box-shadow: 0 6px 28px rgba(251, 191, 36, 0.45);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
	pointer-events: none;
	isolation: isolate;
	animation: pp-play-breathe 1.8s ease-in-out infinite;
}
.pp-video-facade__play::before {
	content: "";
	position: absolute;
	inset: -0.45rem;
	border-radius: 999px;
	background: rgba(251, 191, 36, 0.28);
	z-index: -1;
	animation: pp-play-pulse 1.8s ease-out infinite;
}
.pp-video-facade__play-icon {
	display: block;
	flex-shrink: 0;
	width: 1.35rem;
	height: 1.35rem;
	animation: pp-play-nudge 1.8s ease-in-out infinite;
}
@media (max-width: 768px) {
	.pp-video-facade__play {
		width: 3.75rem;
		height: 3.75rem;
		font-size: 1.2rem;
	}
	.pp-video-facade__play-icon {
		width: 1.2rem;
		height: 1.2rem;
	}
}
.pp-video-facade:hover .pp-video-facade__play,
.pp-video-facade:focus-visible .pp-video-facade__play {
	background: #fcd34d;
	transform: translate(-50%, -50%) scale(1.05);
	box-shadow: 0 8px 32px rgba(252, 211, 77, 0.55);
}
.pp-video-facade.is-hidden {
	display: none !important;
	visibility: hidden;
	pointer-events: none;
}
@keyframes pp-play-pulse {
	0% {
		opacity: 0.65;
		transform: scale(0.92);
	}
	70% {
		opacity: 0;
		transform: scale(1.5);
	}
	100% {
		opacity: 0;
		transform: scale(1.5);
	}
}
@keyframes pp-play-breathe {
	0%, 100% {
		box-shadow: 0 6px 28px rgba(251, 191, 36, 0.45);
	}
	50% {
		box-shadow: 0 10px 34px rgba(251, 191, 36, 0.62);
	}
}
@keyframes pp-play-nudge {
	0%, 100% {
		transform: translateX(0);
	}
	40% {
		transform: translateX(0.04rem);
	}
	60% {
		transform: translateX(-0.02rem);
	}
}
@media (prefers-reduced-motion: reduce) {
	.pp-video-facade__play,
	.pp-video-facade__play::before,
	.pp-video-facade__play-icon {
		animation: none !important;
	}
}

.pp-video-redline {
	display: inline-block;
	padding: 0.18rem 0.5rem;
	border-radius: 999px;
	background: rgba(10, 12, 16, 0.46);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.48);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.72);
}

/* Tema escuro + amarelo do site (igual kicker #fbbf24) no Plyr */
.pp-top-hero .plyr--video {
	--plyr-color-main: #fbbf24;
	--plyr-video-controls-background: linear-gradient(rgba(10, 12, 16, 0), rgba(10, 12, 16, 0.85));
	--plyr-video-control-color: #f1f3f7;
	--plyr-video-control-color-hover: #fcd34d;
	--plyr-menu-background: rgba(18, 21, 28, 0.96);
	--plyr-menu-color: #f1f3f7;
	border-radius: var(--pp-radius-lg);
}
/* Com capa custom, o play-large do Plyr fica por baixo mas confunde; só mostrar depois de tirar a capa */
.pp-top-hero__foreground .pp-video__inner--plyr:has(.pp-video-facade:not(.is-hidden)) .plyr__control--overlaid {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.pp-top-hero .plyr__control--overlaid {
	background: #fbbf24;
	color: #0a0c10;
	padding: 1.25rem;
	border-radius: 999px;
	box-shadow: 0 6px 28px rgba(251, 191, 36, 0.42);
	border: none;
}
.pp-top-hero .plyr__control--overlaid svg {
	fill: currentColor;
}
.pp-top-hero .plyr__control--overlaid:hover,
.pp-top-hero .plyr__control--overlaid:focus {
	background: #fcd34d;
	color: #0a0c10;
	box-shadow: 0 8px 32px rgba(252, 211, 77, 0.5);
}
.pp-top-hero .plyr__controls .plyr__control--pressed,
.pp-top-hero .plyr__controls .plyr__control:hover {
	color: #fbbf24;
}
.pp-top-hero .plyr__progress__buffer {
	color: rgba(251, 191, 36, 0.35);
}

/* ——— Sections ——— */
.pp-main {
	padding-bottom: 4rem;
}
.pp-section {
	padding: 3.5rem 0;
}
.pp-eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pp-accent);
	margin: 0 0 0.75rem;
}
.pp-h1 {
	font-size: clamp(1.85rem, 4vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}
.pp-h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}
.pp-lead {
	font-size: 1.15rem;
	color: var(--pp-muted);
	margin: 0 0 1.5rem;
	max-width: 36rem;
}
.pp-perks {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.pp-perks li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.95rem;
	color: var(--pp-muted);
	line-height: 1.45;
}
.pp-perks li i {
	color: var(--pp-accent);
	margin-top: 0.15rem;
	flex-shrink: 0;
	font-size: 0.9rem;
}
.pp-hero-grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
}
@media (min-width: 900px) {
	.pp-hero-grid {
		grid-template-columns: 1fr 1fr;
	}
	.pp-hero-grid--intro {
		grid-template-columns: 0.95fr 1.05fr;
	}
}
.pp-hero__cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 0.5rem;
}
.pp-micro {
	font-size: 0.85rem;
	color: var(--pp-muted);
	margin-top: 1rem;
}

/* ——— Split / cards ——— */
.pp-split {
	display: grid;
	gap: 2rem;
	align-items: center;
}
@media (min-width: 800px) {
	.pp-split {
		grid-template-columns: 1fr 1fr;
	}
}
.pp-author-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.35rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--pp-border);
}
.pp-author-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 12px;
	background: rgba(245, 158, 11, 0.1);
	border: 1px solid rgba(245, 158, 11, 0.22);
	color: #fbbf24;
	font-size: 1.2rem;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease, border-color 0.2s ease;
}
.pp-author-social__link:hover {
	background: rgba(245, 158, 11, 0.18);
	color: #fcd34d;
	border-color: rgba(252, 211, 77, 0.35);
	transform: translateY(-1px);
}
.pp-author-social__link:focus-visible {
	outline: 2px solid #fbbf24;
	outline-offset: 3px;
}
.pp-media {
	border-radius: var(--pp-radius-lg);
	overflow: hidden;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface);
}
.pp-media--intro-square,
.pp-media--metodo-square {
	max-width: min(100%, 34rem);
	margin-left: auto;
	margin-right: auto;
}
.pp-media--intro-square img,
.pp-media--metodo-square img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
}
.pp-card {
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius);
	padding: 1.5rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pp-card:hover {
	border-color: rgba(245, 158, 11, 0.25);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
.pp-card__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(245, 158, 11, 0.12);
	color: var(--pp-accent);
	border-radius: 12px;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}
.pp-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}
.pp-card__meta {
	font-size: 0.8rem;
	color: var(--pp-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0;
}
.pp-grid-3 {
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	.pp-grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}
.pp-pillar {
	display: block;
	color: inherit;
	height: 100%;
}
.pp-pillar:hover {
	color: inherit;
}
.pp-audience {
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
}
.pp-audience-grid {
	display: grid;
	gap: 1.25rem;
	max-width: 960px;
	margin: 0 auto 1.5rem;
}
@media (min-width: 860px) {
	.pp-audience-grid {
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}
}
.pp-audience-card {
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	padding: 1.5rem 1.35rem 1.4rem;
	background: var(--pp-surface);
}
.pp-audience-card--fit {
	border-color: rgba(34, 197, 94, 0.32);
	box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.06);
}
.pp-audience-card--skip {
	border-color: rgba(251, 191, 36, 0.35);
	box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.08);
}
.pp-audience-card__icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	margin-bottom: 1rem;
}
.pp-audience-card--fit .pp-audience-card__icon {
	background: rgba(34, 197, 94, 0.14);
	color: #4ade80;
}
.pp-audience-card--skip .pp-audience-card__icon {
	background: rgba(251, 191, 36, 0.12);
	color: #fbbf24;
}
.pp-audience-card__title {
	font-size: 1.05rem;
	font-weight: 800;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}
.pp-audience-card__list {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--pp-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}
.pp-audience-card__list li {
	margin: 0.5rem 0;
}
.pp-audience-footnote {
	font-size: 0.9rem;
	color: var(--pp-muted);
	max-width: 36rem;
	margin: 0 auto;
	line-height: 1.55;
}
.pp-cta-mega-banner {
	position: relative;
	overflow: hidden;
	padding: 0;
	min-height: clamp(20rem, 58vw, 32rem);
	display: flex;
	align-items: center;
	border-radius: var(--pp-radius-lg);
	isolation: isolate;
}
.pp-cta-mega-banner__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #0a0c10;
	transform: scale(1.02);
	border-radius: inherit;
}
.pp-cta-mega-banner__scrim {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	border-radius: inherit;
	/* Camada 1: topo mais escuro até ~metade; camada 2: leitura geral no restante */
	background:
		linear-gradient(
			180deg,
			rgba(2, 4, 10, 0.82) 0%,
			rgba(4, 7, 14, 0.48) 42%,
			transparent 52%
		),
		linear-gradient(
			180deg,
			rgba(4, 6, 10, 0.58) 0%,
			rgba(6, 8, 12, 0.8) 48%,
			rgba(4, 6, 10, 0.88) 100%
		);
}
.pp-cta-mega-banner__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: clamp(2.5rem, 8vw, 4.5rem) 1.25rem;
	text-align: center;
}
.pp-cta-mega-banner__headline {
	font-size: clamp(1.9rem, 5.5vw, 3.35rem);
	font-weight: 900;
	line-height: 1.08;
	margin: 0 auto 1.15rem;
	padding: 0;
	max-width: 52rem;
	letter-spacing: -0.03em;
	color: #f1f3f7;
	font-family: inherit;
	text-shadow: 0 6px 22px rgba(0, 0, 0, 0.78), 0 2px 8px rgba(0, 0, 0, 0.85);
}
.pp-cta-mega-banner__headline-accent {
	color: #fbbf24;
}
.pp-cta-mega-banner__headline-white {
	color: #fff;
}
.pp-cta-mega-banner__lead {
	margin: 0 auto 1.75rem;
	max-width: 38rem;
	font-size: clamp(1rem, 2.4vw, 1.12rem);
	line-height: 1.62;
	color: #c4cbd6;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.65);
}
.pp-cta-mega-banner__btn {
	font-size: 1.05rem;
	font-weight: 800;
	padding: 1rem 1.75rem;
	box-shadow: 0 10px 36px rgba(251, 191, 36, 0.35), 0 4px 16px rgba(0, 0, 0, 0.4);
}
@media (min-width: 900px) {
	.pp-cta-mega-banner__btn {
		font-size: 1.1rem;
		padding: 1.1rem 2.25rem;
	}
}
.pp-cta-mega-banner--with-planos {
	align-items: flex-start;
	min-height: 0;
}
.pp-cta-mega-banner--with-planos .pp-cta-mega-banner__inner {
	padding-top: clamp(2.5rem, 8vw, 4rem);
	padding-bottom: clamp(3rem, 10vw, 5.5rem);
	max-width: min(100% - 2rem, 88rem);
}
.pp-cta-mega-banner__planos {
	width: 100%;
	max-width: none;
	margin: 1.5rem auto 0;
	text-align: center;
}
.pp-cta-mega-banner .pp-planos-pricing__title {
	color: #f1f3f7;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}
.pp-cta-mega-banner .pp-planos-pricing__intro {
	color: #b8c0cc;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
	margin-bottom: 2rem;
}
.pp-cta-mega-banner__scrim--strong {
	background:
		linear-gradient(
			180deg,
			rgba(1, 3, 8, 0.88) 0%,
			rgba(4, 7, 14, 0.52) 40%,
			transparent 52%
		),
		linear-gradient(
			180deg,
			rgba(4, 6, 10, 0.72) 0%,
			rgba(6, 8, 12, 0.88) 48%,
			rgba(4, 6, 10, 0.94) 100%
		);
}
.pp-cta-mega-banner--closing {
	min-height: clamp(17rem, 48vw, 24rem);
}
.pp-center-row {
	justify-content: center;
}
.pp-guarantee {
	background: linear-gradient(180deg, rgba(17, 21, 30, 0.98) 0%, rgba(13, 17, 24, 0.98) 100%);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	padding: 2.25rem 1.25rem;
}
@media (min-width: 900px) {
	.pp-guarantee {
		padding: 2.75rem;
	}
}

/* ——— Accordion (details) ——— */
.pp-acc {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.pp-acc details {
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius);
	overflow: hidden;
}
.pp-acc summary {
	list-style: none;
	cursor: pointer;
	padding: 1.1rem 1.25rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	user-select: none;
}
.pp-acc summary::-webkit-details-marker {
	display: none;
}
.pp-acc summary::after {
	content: "+";
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--pp-accent);
	flex-shrink: 0;
}
.pp-acc details[open] summary::after {
	content: "−";
}
.pp-acc .pp-acc__body {
	padding: 0 1.25rem 1.15rem;
	color: var(--pp-muted);
	border-top: 1px solid var(--pp-border);
}
.pp-acc .pp-acc__body ul {
	margin: 0.5rem 0 0;
	padding-left: 1.2rem;
}
.pp-acc .pp-acc__body li {
	margin: 0.35rem 0;
}
/* FAQ na home: mesma largura útil que blocos como .pp-split (Quem ensina). */
.pp-acc.pp-acc--faq {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.pp-modules-stack {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 1040px;
	margin: 0 auto;
}
@media (min-width: 900px) {
	.pp-modules-stack {
		gap: 2.75rem;
	}
}
.pp-course-phase {
	margin-bottom: 0.25rem;
}
.pp-course-phase__header {
	text-align: center;
	max-width: 44rem;
	margin: 0 auto 1.25rem;
	padding: 0 0.5rem;
}
.pp-course-phase__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.05rem, 2.2vw, 1.25rem);
	font-weight: 800;
	color: var(--pp-accent, #fbbf24);
	letter-spacing: -0.02em;
}
.pp-course-phase__goal {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--pp-muted, #9aa3b2);
}
.pp-course-phase__modules {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 900px) {
	.pp-course-phase__modules {
		gap: 2.75rem;
	}
}
.pp-module-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.1rem;
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.pp-module-row__media {
	border-bottom: 1px solid var(--pp-border);
	height: 240px;
	align-self: start;
	position: relative;
}
.pp-module-playlist {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 11rem;
}
.pp-module-playlist__stack {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.pp-module-playlist__layer {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background-color: #141820;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}
.pp-module-playlist__layer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(6, 8, 12, 0.5);
	border-radius: inherit;
	z-index: 0;
}
.pp-module-playlist__layer::after {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	bottom: 22%;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.35), transparent);
	opacity: 0.9;
	z-index: 1;
}
.pp-module-playlist__layer:nth-child(1) {
	transform: translate(11px, 9px);
	z-index: 1;
	opacity: 0.72;
}
.pp-module-playlist__layer:nth-child(2) {
	transform: translate(22px, 18px);
	z-index: 0;
	opacity: 0.42;
}
.pp-module-preview {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 1.15rem);
	height: calc(100% - 0.85rem);
	margin: 0;
	padding: 0;
	border: 0;
	background: #0a0c10;
	cursor: pointer;
	text-align: left;
	overflow: hidden;
	border-radius: 12px;
	z-index: 2;
	box-shadow:
		0 14px 36px rgba(0, 0, 0, 0.5),
		0 0 0 1px rgba(255, 255, 255, 0.06);
}
.pp-module-preview:focus-visible {
	outline: 2px solid #fbbf24;
	outline-offset: 2px;
}
.pp-module-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.pp-module-preview__scrim {
	position: absolute;
	inset: 0;
	background: rgba(6, 8, 12, 0.32);
	pointer-events: none;
}
.pp-module-preview__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 999px;
	background: #fbbf24;
	color: #0a0c10;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	padding-left: 0.2rem;
	box-shadow: 0 8px 28px rgba(251, 191, 36, 0.42), 0 4px 16px rgba(0, 0, 0, 0.35);
	pointer-events: none;
}
.pp-module-preview:hover .pp-module-preview__play,
.pp-module-preview:focus-visible .pp-module-preview__play {
	background: #fcd34d;
	box-shadow: 0 10px 32px rgba(252, 211, 77, 0.5), 0 4px 16px rgba(0, 0, 0, 0.35);
}
.pp-module-preview__playlist-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.65rem 0.6rem;
	background: linear-gradient(180deg, transparent 0%, rgba(6, 8, 12, 0.2) 35%, rgba(6, 8, 12, 0.92) 100%);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #e8ecf3;
	pointer-events: none;
}
.pp-module-preview__playlist-ico {
	color: #fbbf24;
	font-size: 0.75rem;
}
.pp-module-preview__playlist-txt {
	flex: 1;
	min-width: 0;
}
.pp-module-preview__playlist-count {
	font-weight: 700;
	color: #9aa3b2;
	letter-spacing: 0.04em;
}
.pp-module-row__meta--playlist {
	text-transform: none;
	letter-spacing: 0.04em;
}
.pp-module-modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	box-sizing: border-box;
}
.pp-module-modal.is-open {
	display: flex;
}
.pp-module-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 6, 10, 0.72);
	backdrop-filter: blur(4px);
}
.pp-module-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 26rem;
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	padding: 1.75rem 1.5rem 1.5rem;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
.pp-module-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--pp-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
}
.pp-module-modal__close:hover,
.pp-module-modal__close:focus-visible {
	color: #f1f3f7;
	background: rgba(255, 255, 255, 0.06);
	outline: none;
}
.pp-module-modal__eyebrow {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fbbf24;
	margin: 0 0 0.5rem;
}
.pp-module-modal__title {
	font-size: clamp(1.15rem, 3.5vw, 1.35rem);
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
	padding-right: 2rem;
}
.pp-module-modal__text {
	color: var(--pp-muted);
	font-size: 0.98rem;
	line-height: 1.6;
	margin: 0 0 1.5rem;
}
.pp-module-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.pp-module-modal__actions .pp-btn {
	width: 100%;
	justify-content: center;
}
.pp-module-row__content {
	padding: 1.1rem 1.1rem 1.25rem;
}
.pp-module-row__meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.pp-module-chip {
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 999px;
	background: #fbbf24;
	color: #0a0c10;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(251, 191, 36, 0.35);
	flex-shrink: 0;
	position: relative;
	z-index: 3;
}
.pp-module-row__content .pp-card__title {
	margin-bottom: 0.75rem;
}
.pp-module-row__content ul {
	margin: 0;
	color: var(--pp-muted);
}
.pp-module-tracklist {
	list-style: none;
	padding-left: 0.85rem;
	margin: 0;
	border-left: 2px solid rgba(251, 191, 36, 0.22);
}
.pp-module-tracklist li {
	position: relative;
	margin: 0.45rem 0;
	padding-left: 1.05rem;
}
.pp-module-tracklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 2px;
	background: rgba(251, 191, 36, 0.55);
	box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.12);
}
@media (min-width: 900px) {
	.pp-module-row {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	.pp-module-row__media {
		border-bottom: 0;
		border-right: 1px solid var(--pp-border);
		height: 320px;
		align-self: start;
	}
	.pp-module-row__content {
		padding: 1.35rem 1.35rem 1.5rem;
	}
	.pp-module-row--image-right .pp-module-row__media {
		order: 2;
		border-right: 0;
		border-left: 1px solid var(--pp-border);
	}
	.pp-module-row--image-right .pp-module-row__content {
		order: 1;
	}
	.pp-module-playlist__layer:nth-child(1) {
		transform: translate(13px, 11px);
	}
	.pp-module-playlist__layer:nth-child(2) {
		transform: translate(26px, 22px);
	}
	.pp-module-preview {
		width: calc(100% - 1.35rem);
		height: calc(100% - 1rem);
	}
}

/* ——— Pricing ——— */
.pp-pricing-intro {
	text-align: center;
	max-width: 42rem;
	margin: 0 auto 2.5rem;
	color: var(--pp-muted);
}
.pp-pricing-grid {
	display: grid;
	gap: 1.75rem;
	width: 100%;
	max-width: none;
	margin: 0 auto;
}
@media (min-width: 700px) {
	.pp-pricing-grid {
		grid-template-columns: repeat(2, 1fr);
		align-items: stretch;
	}
}
@media (min-width: 1024px) {
	.pp-pricing-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.pp-plan {
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	padding: 2rem 1.75rem;
	display: flex;
	flex-direction: column;
	position: relative;
}
.pp-plan--featured {
	border-color: rgba(245, 158, 11, 0.45);
	box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.15), 0 20px 50px rgba(0, 0, 0, 0.45);
}
.pp-plan__badge {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--pp-accent);
	color: var(--pp-accent-text);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
}
.pp-plan__name {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.28;
	margin: 0 0 0.5rem;
}
.pp-plan__price {
	font-size: 2rem;
	font-weight: 800;
	color: var(--pp-accent);
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}
.pp-plan__one-time {
	display: inline-block;
	margin-right: 0.2rem;
	font-weight: 800;
	font-size: 0.72em;
	letter-spacing: 0.02em;
	color: var(--pp-muted);
	vertical-align: baseline;
}
.pp-plan--soldout .pp-plan__one-time {
	color: rgba(154, 163, 178, 0.85);
}
.pp-plan__price small {
	font-size: 1rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-plan ul {
	margin: 0 0 1.5rem;
	padding-left: 1.15rem;
	color: var(--pp-muted);
	flex-grow: 1;
}
.pp-plan ul li {
	margin: 0.45rem 0;
}
.pp-plan .pp-btn {
	width: 100%;
}
.pp-plan .pp-btn.pp-plan__btn {
	font-size: 0.92rem;
	font-weight: 700;
	padding: 0.6rem 1rem;
	line-height: 1.35;
}
.pp-plan__cta-waitlist.pp-plan__btn {
	font-size: 0.92rem;
	padding: 0.6rem 1rem;
	line-height: 1.35;
}

.pp-plan--soldout {
	opacity: 0.96;
	border-style: dashed;
	border-color: rgba(154, 163, 178, 0.35);
	background: rgba(18, 21, 28, 0.65);
}
/* Mesmo lugar do “Mais completo”: herda .pp-plan__badge (topo centralizado) */
.pp-plan__badge--soldout {
	background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%);
	color: #f3f4f6;
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.pp-plan--soldout .pp-plan__price {
	color: rgba(251, 191, 36, 0.75);
}
.pp-plan__cta-waitlist {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: auto;
	padding: 0.65rem 1.35rem;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	border-radius: 10px;
	border: 1px solid rgba(251, 191, 36, 0.45);
	background: linear-gradient(180deg, rgba(251, 191, 36, 0.22) 0%, rgba(245, 158, 11, 0.12) 100%);
	color: #fde68a;
	cursor: pointer;
	user-select: none;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}
.pp-plan__cta-waitlist:hover {
	border-color: rgba(251, 191, 36, 0.65);
	background: linear-gradient(180deg, rgba(251, 191, 36, 0.32) 0%, rgba(245, 158, 11, 0.2) 100%);
	color: #fffbeb;
}
.pp-plan__cta-waitlist:focus-visible {
	outline: 2px solid #fbbf24;
	outline-offset: 2px;
}
.pp-plan__cta-waitlist:disabled {
	opacity: 0.65;
	cursor: wait;
}

.pp-waitlist-modal__intro {
	margin-bottom: 1.1rem;
}
.pp-waitlist-modal__form {
	margin: 0;
}
.pp-waitlist-modal__field {
	margin-bottom: 0.95rem;
}
.pp-waitlist-modal__label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pp-muted);
	margin-bottom: 0.35rem;
}
.pp-waitlist-modal__input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.85rem;
	font-family: inherit;
	font-size: 1rem;
	border-radius: 10px;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface2);
	color: var(--pp-text);
}
.pp-waitlist-modal__input:focus {
	outline: none;
	border-color: rgba(251, 191, 36, 0.55);
	box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.15);
}
.pp-waitlist-modal__msg {
	font-size: 0.9rem;
	margin: 0 0 0.75rem;
	line-height: 1.45;
}
.pp-waitlist-modal__msg.is-error {
	color: #fca5a5;
}
.pp-waitlist-modal__msg.is-ok {
	color: #86efac;
}
.pp-waitlist-modal__actions {
	margin-top: 0.25rem;
}
.pp-waitlist-modal .pp-module-modal__panel {
	max-width: 24rem;
}

/* ——— CTA band ——— */
.pp-cta-band {
	text-align: center;
	padding: 3rem 1.5rem;
	background: var(--pp-surface2);
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	margin-top: 2rem;
}
.pp-cta-band .pp-h2 {
	margin-bottom: 1.25rem;
}

.pp-mobile-sticky-cta {
	display: none;
}
@media (max-width: 768px) {
	.pp-main {
		padding-bottom: 7rem;
	}
	.pp-mobile-sticky-cta {
		display: block;
		position: fixed;
		left: 0.85rem;
		right: 0.85rem;
		bottom: 0.85rem;
		z-index: 60;
		text-align: center;
		background: linear-gradient(180deg, #fcd34d 0%, #fbbf24 100%);
		color: #0a0c10;
		font-weight: 800;
		font-size: 0.95rem;
		letter-spacing: 0.01em;
		padding: 0.95rem 1rem;
		border-radius: 999px;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45), 0 3px 18px rgba(251, 191, 36, 0.45);
	}
	.pp-mobile-sticky-cta:hover,
	.pp-mobile-sticky-cta:focus {
		color: #0a0c10;
		transform: translateY(-1px);
	}
}

/* ——— Footer ——— */
.pp-footer {
	background: var(--pp-surface);
	border-top: 1px solid var(--pp-border);
	padding: 3rem 0 2rem;
	margin-top: 2rem;
}
.pp-footer__grid {
	display: grid;
	gap: 2rem;
}
@media (min-width: 700px) {
	.pp-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
	}
}
.pp-footer__brand a {
	display: inline-block;
	line-height: 0;
}
.pp-footer__brand img {
	width: min(12.5rem, 100%);
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: left center;
	margin-bottom: 0.75rem;
	vertical-align: middle;
}
.pp-footer__brand p {
	color: var(--pp-muted);
	font-size: 0.9rem;
	margin: 0;
	line-height: 1.55;
}
.pp-footer h3 {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-muted);
	margin: 0 0 1rem;
}
.pp-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-footer li {
	margin: 0.5rem 0;
}
.pp-footer a {
	color: var(--pp-text);
	font-size: 0.95rem;
}
.pp-footer a:hover {
	color: var(--pp-accent);
}
.pp-footer__bottom {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--pp-border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.85rem;
	color: var(--pp-muted);
}
.pp-footer__social a {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--pp-surface2);
	color: var(--pp-text);
	border: 1px solid var(--pp-border);
}
.pp-footer__social a:hover {
	color: var(--pp-accent);
	border-color: var(--pp-accent);
}
.pp-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem 1rem;
	max-width: 28rem;
}
.pp-footer__legal a {
	font-size: 0.82rem;
	color: var(--pp-muted);
}
.pp-footer__legal a:hover {
	color: var(--pp-accent);
}

/* ——— Aviso Meta (home) ——— */
.pp-meta-disclaimer {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	margin-bottom: 0;
}
.pp-meta-disclaimer__inner {
	max-width: 52rem;
	margin: 0 auto;
	padding: 1rem 1.1rem;
	border-radius: 0.65rem;
	border: 1px solid var(--pp-border);
	background: rgba(12, 14, 20, 0.55);
}
.pp-meta-disclaimer__text {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.55;
	color: var(--pp-muted);
}
.pp-meta-disclaimer__text strong {
	color: var(--pp-text);
	font-weight: 600;
}

/* ——— Páginas legais ——— */
.pp-body--legal .pp-main {
	padding-bottom: 3rem;
}
.pp-legal {
	max-width: 42rem;
	margin: 0 auto;
	padding: 2rem 0 1rem;
}
.pp-legal__header {
	margin-bottom: 1.75rem;
}
.pp-legal__back {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
}
.pp-legal__back-link {
	color: var(--pp-muted);
	text-decoration: none;
}
.pp-legal__back-link:hover {
	color: var(--pp-accent);
}
.pp-legal__title {
	font-size: clamp(1.5rem, 4vw, 1.85rem);
	font-weight: 800;
	margin: 0 0 0.35rem;
	letter-spacing: -0.02em;
}
.pp-legal__updated {
	margin: 0;
	font-size: 0.85rem;
	color: var(--pp-muted);
}
.pp-legal__body {
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--pp-text);
}
.pp-legal__body p {
	margin: 0 0 1rem;
}
.pp-legal__body h2 {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 1.75rem 0 0.65rem;
	color: var(--pp-text);
}
.pp-legal__body ul {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}
.pp-legal__body li {
	margin: 0.35rem 0;
}
.pp-legal__body a {
	color: var(--pp-accent);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.pp-legal__body a:hover {
	filter: brightness(1.08);
}
.pp-legal__more {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--pp-border);
	font-size: 0.92rem;
}

/* ——— Scroll top ——— */
.pp-scroll-top {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 80;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface2);
	color: var(--pp-text);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease, background 0.15s ease;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
.pp-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
}
.pp-scroll-top:hover {
	background: var(--pp-accent);
	color: var(--pp-accent-text);
	border-color: var(--pp-accent);
}

/* ——— Utils ——— */
.pp-center {
	text-align: center;
}
.pp-mb-0 {
	margin-bottom: 0;
}
[id] {
	scroll-margin-top: 5.5rem;
}

/* ——— Carrinho / checkout ——— */
body.pp-body--cart {
	min-height: 100vh;
	background-color: #050608;
	background-image: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.92) 0%,
			rgba(0, 0, 0, 0.72) 18%,
			rgba(10, 12, 16, 0.58) 42%,
			rgba(10, 12, 16, 0.78) 68%,
			rgba(10, 12, 16, 0.92) 100%
		),
		var(--pp-cart-bg-image);
	background-size: cover, cover;
	background-position: center center, center center;
	background-repeat: no-repeat;
	background-attachment: fixed, fixed;
}
@media (max-width: 900px) {
	body.pp-body--cart {
		background-attachment: scroll, scroll;
	}
}
.pp-body--cart .pp-main {
	position: relative;
	z-index: 1;
	padding-top: 1.25rem;
	padding-bottom: 3rem;
}
.pp-body--cart-minimal .pp-main {
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}

/* ——— Roleta de cupons (/roleta-cupom) ——— */
.pp-body--roleta-cupom .pp-roleta-page {
	max-width: 32rem;
	margin: 0 auto;
	text-align: center;
	padding: 0.5rem 0 2.5rem;
}
.pp-roleta-eyebrow {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #c9a227;
	margin: 0 0 0.5rem;
}
.pp-roleta-title {
	font-size: clamp(1.65rem, 5vw, 2.1rem);
	font-weight: 900;
	color: #f1f3f7;
	margin: 0 0 0.65rem;
	letter-spacing: -0.02em;
}
.pp-roleta-lead {
	color: #9aa3b2;
	font-size: 0.98rem;
	line-height: 1.55;
	margin: 0 auto 1rem;
	max-width: 26rem;
}
.pp-roleta-once-banner {
	margin: 0 auto 1.5rem;
	max-width: 28rem;
	padding: 0.85rem 1.1rem;
	border-radius: 12px;
	border: 1px solid rgba(201, 162, 39, 0.45);
	background: rgba(30, 24, 14, 0.75);
	color: #e2e8f0;
	font-size: 0.88rem;
	line-height: 1.5;
	text-align: left;
}
.pp-roleta-once-banner strong {
	color: #fde68a;
}
.pp-roleta-stage {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0 auto 1.5rem;
	max-width: min(100%, 520px);
}
.pp-roleta-pointer {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
	border-top: 32px solid #e8c547;
	filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.55));
	z-index: 3;
}
.pp-roleta-canvas-wrap {
	position: relative;
	margin-top: 28px;
}
.pp-roleta-canvas {
	display: block;
	border-radius: 50%;
	box-shadow:
		0 0 0 2px rgba(201, 162, 39, 0.35),
		0 24px 60px rgba(0, 0, 0, 0.65);
}
.pp-roleta-hub {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 -28px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #f0d78c 0%, #c9a227 42%, #7a5c12 100%);
	box-shadow:
		inset 0 2px 6px rgba(255, 255, 255, 0.35),
		0 6px 18px rgba(0, 0, 0, 0.55);
	border: 2px solid rgba(40, 32, 18, 0.65);
	pointer-events: none;
	z-index: 2;
}
.pp-roleta-spin {
	margin-top: 0.25rem;
	font-size: 1rem;
	font-weight: 800;
	padding: 0.75rem 1.75rem;
	box-shadow: 0 8px 28px rgba(245, 158, 11, 0.22);
}
.pp-roleta-spin:disabled {
	opacity: 0.65;
	cursor: wait;
}
.pp-roleta-result {
	margin: 1.25rem auto 0;
	font-size: 1.25rem;
	font-weight: 800;
	color: #fde68a;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
	max-width: 22rem;
	line-height: 1.35;
}
.pp-roleta-note {
	margin: 1rem auto 0;
	font-size: 0.78rem;
	color: #64748b;
	max-width: 24rem;
	line-height: 1.45;
}
.pp-roleta-back-wrap {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	justify-content: center;
	align-items: center;
}
.pp-roleta-back {
	color: #94a3b8;
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
}
.pp-roleta-back:hover {
	color: #e8c547;
}
.pp-roleta-back--cta {
	color: #fde68a;
}
.pp-body--cart .pp-footer {
	position: relative;
	z-index: 1;
	background: rgba(18, 21, 28, 0.82);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-top-color: rgba(255, 255, 255, 0.1);
}
/* Banner ao sair (carrinho): exit intent + botão voltar */
.pp-cart-exit-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: max(0.75rem, env(safe-area-inset-top, 0px)) max(0.75rem, env(safe-area-inset-right, 0px))
		max(0.75rem, env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-left, 0px));
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s ease;
}
.pp-cart-exit-modal.is-open {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}
.pp-cart-exit-modal__backdrop {
	position: absolute;
	inset: 0;
	min-width: 0;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.pp-cart-exit-modal__panel {
	position: relative;
	z-index: 1;
	flex: 0 1 auto;
	align-self: center;
	min-width: 0;
	width: 100%;
	max-width: min(26rem, 100%);
	overflow: hidden;
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
	margin: auto 0;
	text-align: center;
	box-sizing: border-box;
}
.pp-cart-exit-modal__close {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	color: #f8fafc;
	font-size: 1.05rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}
.pp-cart-exit-modal__close:hover {
	background: rgba(0, 0, 0, 0.75);
	transform: scale(1.05);
}
.pp-cart-exit-modal__visual {
	position: relative;
	overflow: hidden;
	background: #0a0c10;
	min-width: 0;
	max-width: 100%;
}
.pp-cart-exit-modal__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.pp-cart-exit-modal__badge {
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #0a0a0a;
	background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.pp-cart-exit-modal__badge .fa-solid {
	font-size: 0.9em;
}
.pp-cart-exit-modal__body {
	padding: 1.1rem 1.15rem 1.25rem;
	box-sizing: border-box;
}
.pp-cart-exit-modal__title {
	margin: 0 0 0.65rem;
	padding: 0;
	font-size: clamp(1.2rem, 4.2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--pp-text);
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.pp-cart-exit-modal__title-pct {
	color: #fcd34d;
	text-shadow: 0 0 24px rgba(251, 191, 36, 0.35);
}
.pp-cart-exit-modal__intro {
	margin: 0 0 0.75rem;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--pp-muted);
	text-align: left;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.pp-cart-exit-modal__intro strong {
	color: var(--pp-text);
}
.pp-cart-exit-modal__code {
	color: #fcd34d;
	font-weight: 800;
	letter-spacing: 0.06em;
}
.pp-cart-exit-modal__hint {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #fcd34d;
	text-align: left;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.pp-cart-exit-modal__hint strong {
	font-weight: 800;
}
.pp-cart-exit-modal__apply {
	margin-bottom: 0.55rem;
}
.pp-cart-exit-modal__secondary {
	margin-bottom: 0;
}
@media (max-width: 480px) {
	.pp-cart-exit-modal {
		padding-left: max(0.5rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
		padding-bottom: max(0.35rem, env(safe-area-inset-bottom, 0px));
		align-items: flex-end;
	}
	.pp-cart-exit-modal__panel {
		border-radius: var(--pp-radius-lg) var(--pp-radius-lg) 0 0;
		margin-top: 0;
		margin-bottom: 0;
		max-width: 100%;
	}
	.pp-cart-exit-modal__body {
		padding: 1rem 1rem 1.15rem;
	}
}
.pp-cart-page {
	padding-top: 0;
}
.pp-cart-headline {
	width: 100%;
	max-width: min(100%, 800px);
	margin: 0 auto 1.35rem;
	padding: 0.15rem 0 0;
	text-align: center;
}
.pp-cart-headline__title {
	margin: 0 0 0.65rem;
	font-family: inherit;
	font-size: clamp(1.35rem, 4.2vw, 1.85rem);
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.18;
	color: var(--pp-text);
	text-wrap: balance;
}
.pp-cart-headline__accent {
	color: var(--pp-accent);
	font-weight: 900;
}
.pp-cart-headline__brand {
	font-weight: 900;
	color: #f8fafc;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}
.pp-cart-headline__sub {
	margin: 0;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--pp-muted);
}
@media (max-width: 640px) {
	.pp-cart-headline {
		margin-bottom: 1rem;
		text-align: left;
	}
	.pp-cart-headline__sub {
		margin-left: 0;
		margin-right: 0;
		font-size: 0.86rem;
	}
}
.pp-body--cart-minimal .pp-cart-page {
	width: 100%;
}
.pp-cart-page-footer {
	margin-top: 2rem;
	padding: 1.15rem 1.25rem;
	width: 100%;
	max-width: min(100%, 800px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	border-radius: var(--pp-radius);
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(0, 0, 0, 0.28);
}
.pp-cart-page-footer__title {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.pp-cart-page-footer__text {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.55;
	color: var(--pp-muted);
}
.pp-cart-page-footer__text strong {
	color: rgba(248, 250, 252, 0.94);
	font-weight: 600;
}
.pp-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 1.5rem;
	align-items: start;
}
.pp-cart-layout--single {
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	max-width: min(100%, 800px);
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 900px) {
	.pp-cart-layout {
		grid-template-columns: 1fr;
	}
}

.pp-cart-card {
	background: var(--pp-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	padding: 1.35rem 1.5rem;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
@media (max-width: 768px) {
	.pp-cart-card {
		padding: 1.2rem 1rem;
		border-radius: var(--pp-radius);
	}
}
.pp-cart-card__label {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.pp-cart-card--pay .pp-cart-secure {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
.pp-cart-card--pay .pp-cart-highlights {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-form--locked .pp-cart-field__input,
.pp-cart-form--locked .pp-cart-coupon__input,
.pp-cart-form--locked .pp-auth__input {
	background: rgba(0, 0, 0, 0.35) !important;
	color: rgba(248, 250, 252, 0.88);
	cursor: not-allowed;
	border-color: rgba(255, 255, 255, 0.08);
}
.pp-cart-form--locked .pp-auth__toggle-password {
	pointer-events: none;
	opacity: 0.45;
}
.pp-cart-form--locked .pp-cart-bump__card {
	cursor: default;
	opacity: 0.96;
}
.pp-cart-form--locked .pp-cart-bump__check {
	pointer-events: none;
}
.pp-cart-form--locked .pp-cart-coupon__apply,
.pp-cart-form--locked .pp-cart-coupon__remove {
	pointer-events: none;
	opacity: 0.65;
}

.pp-cart-product {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 0;
}
.pp-cart-product__visuals {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	flex-shrink: 0;
}
.pp-cart-product__media {
	flex: 0 0 auto;
	width: 140px;
	border-radius: var(--pp-radius);
	overflow: hidden;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface2);
}
@media (max-width: 768px) {
	.pp-body--cart .pp-wrap {
		padding-left: max(1rem, env(safe-area-inset-left));
		padding-right: max(1rem, env(safe-area-inset-right));
	}
	.pp-cart-product {
		flex-direction: column;
		align-items: stretch;
		gap: 1.15rem;
	}
	.pp-cart-product__visuals {
		width: 100%;
		align-items: stretch;
	}
	.pp-cart-product__media {
		width: 100%;
		max-width: 28rem;
		margin-left: auto;
		margin-right: auto;
	}
	.pp-cart-product__body {
		width: 100%;
		max-width: 100%;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}
	.pp-cart-product__name {
		font-size: clamp(1.05rem, 4.2vw, 1.18rem);
		line-height: 1.3;
	}
	.pp-cart-product__tagline {
		font-size: 0.84rem;
		line-height: 1.5;
	}
	.pp-cart-product__lead {
		font-size: 0.92rem;
		line-height: 1.62;
	}
	.pp-cart-product__modules {
		font-size: 0.88rem;
		line-height: 1.55;
		padding-left: 1.25rem;
	}
	.pp-cart-product__modules li {
		margin-bottom: 0.45rem;
	}
	.pp-cart-product__vip-pack {
		padding: 1rem 0.9rem;
	}
	.pp-cart-product__vip-points li {
		font-size: 0.86rem;
		line-height: 1.5;
	}
}
.pp-cart-product__media--vip {
	position: relative;
}
.pp-cart-product__pill {
	position: absolute;
	bottom: 0.35rem;
	left: 50%;
	transform: translateX(-50%);
	max-width: calc(100% - 0.5rem);
	padding: 0.2rem 0.45rem;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #0a0c10;
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.pp-cart-product__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.pp-cart-product__body {
	min-width: 0;
	flex: 1;
}
.pp-cart-product__name {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	font-weight: 900;
	line-height: 1.22;
	letter-spacing: -0.02em;
	color: var(--pp-text);
}
.pp-cart-product__tagline {
	margin: 0 0 1rem;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--pp-accent-hover);
	letter-spacing: 0.02em;
}
.pp-cart-product__block {
	margin: 0;
	padding: 0;
}
.pp-cart-product__subhead {
	margin: 0 0 0.45rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.pp-cart-product__lead {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	line-height: 1.58;
	color: #c8ced8;
}
.pp-cart-product__modules-title {
	margin: 0 0 0.5rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--pp-text);
}
.pp-cart-product__modules {
	margin: 0;
	padding-left: 1.2rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--pp-text);
}
.pp-cart-product__modules li {
	margin: 0 0 0.35rem;
	padding-left: 0.15rem;
}
.pp-cart-product__modules li::marker {
	color: var(--pp-accent);
	font-weight: 700;
}
.pp-cart-course-outline {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
}
.pp-cart-course-phase {
	padding: 0.85rem 1rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-border);
	background: rgba(0, 0, 0, 0.2);
}
.pp-cart-course-phase__title {
	margin: 0 0 0.25rem;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-cart-course-phase__goal {
	margin: 0 0 0.65rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-cart-course-phase__modules {
	margin: 0;
	padding-left: 1.15rem;
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--pp-text);
}
.pp-cart-course-module {
	margin: 0 0 0.65rem;
}
.pp-cart-course-module:last-child {
	margin-bottom: 0;
}
.pp-cart-course-module__name {
	display: block;
	font-weight: 700;
	margin-bottom: 0.25rem;
}
.pp-cart-course-module__lessons {
	margin: 0;
	padding-left: 1rem;
	list-style: disc;
	color: #aeb6c3;
	font-size: 0.8rem;
	line-height: 1.45;
}
.pp-cart-course-module__lessons li {
	margin: 0.15rem 0;
}
.pp-cart-product__vip-pack {
	margin-top: 1.1rem;
	padding: 1rem 1rem 0.85rem;
	border-radius: var(--pp-radius);
	border: 1px solid rgba(245, 158, 11, 0.35);
	background: linear-gradient(165deg, rgba(245, 158, 11, 0.1) 0%, rgba(18, 21, 28, 0.65) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.pp-cart-product__vip-head {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.25;
	color: #fde68a;
}
.pp-cart-product__vip-lead {
	margin: 0 0 0.75rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--pp-muted);
}
.pp-cart-product__vip-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.pp-cart-product__vip-points li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--pp-text);
}
.pp-cart-product__vip-points .fa-solid {
	flex-shrink: 0;
	margin-top: 0.12rem;
	width: 1rem;
	text-align: center;
	color: var(--pp-accent);
}

.pp-cart-bump {
	margin: 1rem 0 0;
	padding-top: 1rem;
	border-top: 1px dashed rgba(245, 158, 11, 0.35);
}
.pp-cart-bump__eyebrow {
	margin: 0 0 0.65rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fde68a;
}
@keyframes pp-cart-bump-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.35);
	}
	45% {
		box-shadow: 0 0 0 12px rgba(245, 158, 11, 0);
	}
}
.pp-cart-bump--pulse .pp-cart-bump__card {
	animation: pp-cart-bump-pulse 2.2s ease-out infinite;
	border-color: rgba(245, 158, 11, 0.35);
}
@media (prefers-reduced-motion: reduce) {
	.pp-cart-bump--pulse .pp-cart-bump__card {
		animation: none;
		border-color: rgba(245, 158, 11, 0.45);
	}
}
.pp-cart-bump__card {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	margin: 0;
	padding: 0.85rem;
	cursor: pointer;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-border);
	background: rgba(26, 31, 41, 0.65);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pp-cart-bump__card:hover {
	border-color: rgba(245, 158, 11, 0.45);
	box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12);
}
.pp-cart-bump__check {
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.2rem;
	accent-color: var(--pp-accent);
	cursor: pointer;
}
.pp-cart-bump__thumb {
	flex: 0 0 auto;
	width: 96px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface2);
}
.pp-cart-bump__thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 3;
	object-fit: cover;
	display: block;
}
.pp-cart-bump__content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}
.pp-cart-bump__title {
	font-size: 1.02rem;
	font-weight: 900;
	line-height: 1.25;
	color: var(--pp-text);
	letter-spacing: -0.02em;
}
.pp-cart-bump__lead {
	font-size: 0.86rem;
	line-height: 1.55;
	color: #c8ced8;
	margin: 0 0 0.5rem;
}
.pp-cart-bump__bullets {
	margin: 0 0 0.65rem;
	padding: 0 0 0 1.05rem;
	font-size: 0.8rem;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-cart-bump__bullets li {
	margin: 0 0 0.35rem;
}
.pp-cart-bump__bullets li::marker {
	color: var(--pp-accent);
}
.pp-cart-bump__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
	margin-top: 0.15rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-bump__row[hidden] {
	display: none !important;
}
.pp-cart-bump__unit {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pp-muted);
}
.pp-cart-bump__price {
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--pp-accent-hover);
}
.pp-cart-bump__card:has(.pp-cart-bump__check:checked) {
	border-color: rgba(245, 158, 11, 0.55);
	background: linear-gradient(165deg, rgba(245, 158, 11, 0.12) 0%, rgba(26, 31, 41, 0.85) 100%);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
.pp-cart-bump--included .pp-cart-bump__card--static {
	cursor: default;
	pointer-events: none;
	border-color: rgba(245, 158, 11, 0.55);
	background: linear-gradient(165deg, rgba(245, 158, 11, 0.12) 0%, rgba(26, 31, 41, 0.85) 100%);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
.pp-cart-bump--included .pp-cart-bump__card--static:hover {
	border-color: rgba(245, 158, 11, 0.55);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
@media (max-width: 768px) {
	.pp-cart-bump__card {
		flex-direction: column;
		align-items: stretch;
		gap: 0.9rem;
		padding: 1rem 0.95rem;
	}
	.pp-cart-bump__thumb {
		order: -1;
		width: 100%;
		max-width: 22rem;
		margin-left: auto;
		margin-right: auto;
	}
	.pp-cart-bump__check {
		margin-top: 0;
		align-self: flex-start;
	}
	.pp-cart-bump__content {
		width: 100%;
		min-width: 0;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}
	.pp-cart-bump__title {
		font-size: 1.05rem;
		line-height: 1.3;
	}
	.pp-cart-bump__lead {
		font-size: 0.9rem;
		line-height: 1.58;
	}
	.pp-cart-bump__bullets {
		font-size: 0.84rem;
		line-height: 1.5;
		padding-left: 1.15rem;
	}
	.pp-cart-bump__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}
	.pp-cart-module-list li {
		font-size: 0.9rem;
		line-height: 1.52;
	}
}

.pp-cart-benefits {
	margin-top: 1.15rem;
	margin-bottom: 1.15rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-benefits__title {
	margin: 0 0 0.8rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pp-accent-hover);
}
.pp-cart-module-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.pp-cart-module-list[hidden] {
	display: none !important;
}
.pp-cart-module-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--pp-text);
}
.pp-cart-module-list .fa-circle-check {
	flex-shrink: 0;
	margin-top: 0.12rem;
	color: var(--pp-accent);
	font-size: 0.95rem;
}
.pp-cart-module-list--compact {
	gap: 0.45rem;
}
.pp-cart-module-list--compact .fa-infinity,
.pp-cart-module-list--compact .fa-bolt {
	color: var(--pp-accent-hover);
}
.pp-cart-module-list--extra {
	margin-top: 0.65rem;
	padding-top: 0.75rem;
	border-top: 1px dashed rgba(245, 158, 11, 0.35);
}
.pp-cart-module-list--extra .fa-star {
	flex-shrink: 0;
	margin-top: 0.12rem;
	color: #fbbf24;
	font-size: 0.95rem;
}

.pp-cart-total {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
	padding: 1rem 0 0;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-total__lines {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.pp-cart-total__line {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	font-size: 0.88rem;
	line-height: 1.35;
	color: var(--pp-muted);
}
/* display:flex acima vencia o atributo [hidden] — força ocultar quando fechado */
.pp-cart-total__line[hidden] {
	display: none !important;
}
.pp-cart-total__line span:last-child {
	font-weight: 700;
	color: var(--pp-text);
}
.pp-cart-total__line--addon span:last-child {
	color: var(--pp-accent-hover);
}
.pp-cart-total__grand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-total__lines + .pp-cart-coupon {
	margin-top: 0.15rem;
}
.pp-cart-coupon {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-coupon__label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--pp-muted);
	line-height: 1.35;
}
.pp-cart-coupon__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
}
.pp-cart-coupon__input {
	flex: 1 1 8rem;
	min-width: 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pp-text);
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius);
}
.pp-cart-coupon__input::placeholder {
	color: var(--pp-muted);
	opacity: 0.65;
	text-transform: none;
	letter-spacing: normal;
	font-weight: 500;
}
.pp-cart-coupon__input:hover {
	border-color: rgba(251, 191, 36, 0.35);
}
.pp-cart-coupon__input:focus {
	outline: none;
	border-color: var(--pp-accent);
	box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.2);
}
.pp-cart-coupon__apply {
	flex: 0 0 auto;
	white-space: nowrap;
	padding-left: 1rem;
	padding-right: 1rem;
}
.pp-cart-coupon__msg {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: #f87171;
}
.pp-cart-coupon__msg.pp-cart-coupon__msg--ok {
	color: #4ade80;
}
.pp-cart-coupon__remove {
	align-self: flex-start;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--pp-muted);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}
.pp-cart-coupon__remove:hover {
	color: var(--pp-text);
}
.pp-cart-total__line--coupon span:last-child {
	color: #4ade80;
	font-weight: 800;
}
.pp-cart-total--simple .pp-cart-total__grand {
	padding-top: 0;
	border-top: none;
}
.pp-cart-total__label {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-cart-total__value {
	font-size: 1.45rem;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: var(--pp-accent-hover);
}
.pp-cart-total__grand--centered {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.35rem;
}
.pp-cart-total__grand--centered .pp-cart-total__label {
	width: 100%;
}
.pp-cart-total__grand--centered .pp-cart-total__value {
	text-align: center;
}
.pp-plan--mentoria {
	border-color: rgba(251, 191, 36, 0.35);
	box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.12), 0 18px 44px rgba(0, 0, 0, 0.35);
}
.pp-plan--mentoria .pp-plan__name {
	text-align: center;
}
.pp-plan__price--mentoria-value {
	text-align: center;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 768px) {
	.pp-cart-total__line {
		font-size: 0.84rem;
		gap: 0.65rem;
		align-items: flex-start;
	}
	.pp-cart-total__line span:first-child {
		flex: 1;
		min-width: 0;
		padding-right: 0.35rem;
	}
	.pp-cart-total__grand {
		gap: 0.75rem;
		align-items: center;
	}
	.pp-cart-total__value {
		font-size: clamp(1.28rem, 5.2vw, 1.45rem);
		flex-shrink: 0;
	}
}
.pp-cart-note {
	margin: 0.85rem 0 0;
	font-size: 0.8rem;
	color: var(--pp-muted);
	line-height: 1.45;
}

.pp-cart-form {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
}
.pp-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.pp-cart-pass-meter {
	margin: 0 0 0.45rem;
}
.pp-cart-pass-meter__track {
	height: 3px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}
.pp-cart-pass-meter__fill {
	height: 100%;
	width: 0%;
	border-radius: 999px;
	background: #dc2626;
	box-shadow: 0 0 8px rgba(220, 38, 38, 0.35);
	transition: width 0.18s ease-out, background 0.25s ease, box-shadow 0.25s ease;
}
.pp-cart-pass-meter__fill.is-strong {
	background: #22c55e;
	box-shadow: 0 0 10px rgba(34, 197, 94, 0.35);
}
.pp-cart-auth-fields {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.35rem;
}
.pp-cart-pass-meter--auth {
	margin-bottom: 0.45rem;
}
.pp-cart-pass-alert {
	margin: 0.45rem 0 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.4;
	color: #fecaca;
	background: rgba(220, 38, 38, 0.2);
	border: 1px solid rgba(220, 38, 38, 0.45);
	border-radius: 8px;
}
.pp-cart-field__label {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--pp-text);
	line-height: 1.35;
}
.pp-cart-field__input {
	width: 100%;
	padding: 0.72rem 0.9rem;
	font-family: inherit;
	font-size: 1rem;
	color: var(--pp-text);
	background: var(--pp-surface2);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pp-cart-field__input::placeholder {
	color: rgba(154, 163, 178, 0.65);
}
.pp-cart-field__input:hover {
	border-color: rgba(245, 158, 11, 0.35);
}
.pp-cart-field__input:focus {
	outline: none;
	border-color: var(--pp-accent);
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}
.pp-cart-form__error {
	margin: 0;
	padding: 0.65rem 0.85rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #fecaca;
	background: rgba(220, 38, 38, 0.18);
	border: 1px solid rgba(220, 38, 38, 0.35);
	border-radius: 10px;
}
.pp-btn--block {
	width: 100%;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.pp-cart-pix-btn {
	margin-top: 0.25rem;
}
.pp-cart-total .pp-cart-form__error--pix:not([hidden]) {
	margin-top: 0.65rem;
	margin-bottom: 0.5rem;
}
.pp-cart-total .pp-cart-pix-btn {
	margin-top: 0.85rem;
}
.pp-cart-pix-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	filter: grayscale(0.15);
}
.pp-cart-pix-btn:disabled:hover {
	background: inherit;
	color: inherit;
}
.pp-cart-pix-generating {
	margin: 0.75rem 0 0;
}
.pp-cart-pix-generating[hidden] {
	display: none !important;
}
.pp-cart-pix-generating__track {
	height: 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
	margin-bottom: 0.55rem;
}
.pp-cart-pix-generating__fill {
	width: 38%;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		rgba(245, 158, 11, 0.35),
		var(--pp-accent),
		rgba(251, 191, 36, 0.95),
		var(--pp-accent),
		rgba(245, 158, 11, 0.35)
	);
	background-size: 200% 100%;
	animation: pp-cart-pix-gen-shimmer 0.9s ease-in-out infinite;
}
@keyframes pp-cart-pix-gen-shimmer {
	0% {
		transform: translateX(-30%);
		background-position: 0% 50%;
	}
	100% {
		transform: translateX(220%);
		background-position: 100% 50%;
	}
}
.pp-cart-pix-generating__text {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-cart-pix-btn .fa-spin {
	margin-right: 0.4rem;
}
.pp-cart-pix-btn.is-loading {
	cursor: wait;
	pointer-events: none;
	opacity: 0.95;
	filter: none;
	user-select: none;
}
.pp-cart-total--pix-busy .pp-cart-pix-btn {
	pointer-events: none;
}
.pp-cart-field__hint {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--pp-muted);
}
.pp-cart-field__input[aria-invalid="true"] {
	border-color: rgba(220, 38, 38, 0.65);
}

.pp-cart-pix-slot {
	margin-top: 1rem;
	padding: 1.25rem 1.35rem;
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	background: rgba(18, 21, 28, 0.65);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
	box-sizing: border-box;
}
.pp-cart-layout--single .pp-cart-pix-slot {
	width: 100%;
	max-width: min(100%, 800px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.pp-cart-pix-slot__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--pp-text);
}
.pp-cart-pix-slot__timer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--pp-radius);
	border: 1px solid rgba(251, 191, 36, 0.4);
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.12) 0%, rgba(18, 21, 28, 0.9) 100%);
}
.pp-cart-pix-slot__timer.is-expired {
	border-color: rgba(248, 113, 113, 0.45);
	background: rgba(127, 29, 29, 0.25);
}
.pp-cart-pix-slot__timer-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-cart-pix-slot__timer-value {
	font-variant-numeric: tabular-nums;
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	color: #fcd34d;
}
.pp-cart-pix-slot__timer.is-expired .pp-cart-pix-slot__timer-value {
	color: #fca5a5;
}
.pp-cart-pix-slot__expired {
	margin: 0 0 0.75rem;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.45;
	color: #fca5a5;
}
.pp-cart-pix-slot__pay-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	margin: 0 0 0.5rem;
}
@media (min-width: 640px) {
	.pp-cart-pix-slot__pay-row {
		flex-direction: row;
		align-items: flex-start;
		gap: 1.25rem;
	}
	.pp-cart-pix-slot__qr {
		flex: 0 0 auto;
		width: min(240px, 42vw);
		max-width: 100%;
	}
	.pp-cart-pix-slot__copia-wrap {
		flex: 1 1 0;
		min-width: 0;
	}
}
.pp-cart-pix-slot__qr {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	width: min(100%, 260px);
	aspect-ratio: 1;
	min-height: 11.5rem;
	padding: 0.65rem;
	border-radius: var(--pp-radius);
	border: 2px dashed rgba(255, 255, 255, 0.28);
	background: rgba(8, 10, 14, 0.55);
}
.pp-cart-pix-slot__qrcode-img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 6px;
}
.pp-cart-pix-slot__qr-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	text-align: center;
	padding: 0.5rem;
	pointer-events: none;
	color: rgba(154, 163, 178, 0.85);
}
.pp-cart-pix-slot__qr-placeholder[hidden] {
	display: none !important;
}
.pp-cart-pix-slot__qr-ico {
	font-size: 2.25rem;
	opacity: 0.55;
	line-height: 1;
}
.pp-cart-pix-slot__qr-placeholder-text {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.pp-cart-pix-slot__copia-wrap {
	width: 100%;
	min-width: 0;
}
.pp-cart-pix-slot__lead {
	margin: 0 0 0.65rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--pp-muted);
}
.pp-cart-pix-slot__lead strong {
	color: var(--pp-text);
}
.pp-cart-pix-slot__code-label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-cart-pix-slot__copy-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0;
}
.pp-cart-pix-slot__code {
	flex: 1 1 auto;
	min-width: 0;
	width: 0;
	height: 2.65rem;
	padding: 0 0.65rem;
	box-sizing: border-box;
	font-size: 0.8125rem;
	line-height: 1.2;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	letter-spacing: 0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pp-cart-pix-slot__copy-btn {
	flex: 0 0 auto;
	align-self: center;
	height: 2.65rem;
	padding-left: 1rem;
	padding-right: 1rem;
	white-space: nowrap;
}
.pp-cart-pix-slot__copy-hint {
	margin: 0 0 0.65rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-cart-pix-slot__copy-feedback {
	margin: 0 0 0.75rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #4ade80;
}
.pp-cart-pix-slot__paid-btn {
	margin-bottom: 0.5rem;
}
.pp-cart-pix-slot__paid-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
.pp-cart-pix-slot__paid-msg {
	margin: 0;
	padding: 0.75rem 0.85rem;
	border-radius: var(--pp-radius);
	border: 1px solid rgba(74, 222, 128, 0.35);
	background: rgba(22, 101, 52, 0.2);
	font-size: 0.86rem;
	line-height: 1.5;
	color: #bbf7d0;
}
@media (max-width: 480px) {
	.pp-cart-pix-slot__qr {
		width: min(100%, 240px);
		min-height: 10.5rem;
	}
	.pp-cart-pix-slot__copy-row {
		flex-wrap: nowrap;
	}
	.pp-cart-pix-slot__copy-btn {
		flex-shrink: 0;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
		font-size: 0.82rem;
	}
}

.pp-cart-secure {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	margin-top: 1.5rem;
	padding-top: 1.35rem;
	border-top: 1px solid var(--pp-border);
}
.pp-cart-secure__icon {
	flex-shrink: 0;
	font-size: 1.35rem;
	color: var(--pp-accent);
	margin-top: 0.1rem;
}
.pp-cart-secure__title {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--pp-text);
	margin-bottom: 0.25rem;
}
.pp-cart-secure__text {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--pp-muted);
}

.pp-cart-highlights {
	list-style: none;
	margin: 1.1rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--pp-border);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.pp-cart-highlights li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--pp-text);
}
.pp-cart-highlights .fa-check {
	flex-shrink: 0;
	margin-top: 0.15rem;
	font-size: 0.72rem;
	color: var(--pp-accent);
}

/* Carrinho — mobile: menos texto, mais direto */
@media (max-width: 640px) {
	.pp-cart-page .pp-cart-product__block {
		display: none !important;
	}
	.pp-cart-page .pp-cart-product__tagline {
		font-size: 0.8rem;
		line-height: 1.35;
	}
	.pp-cart-page .pp-cart-bump__bullets {
		display: none;
	}
	.pp-cart-page .pp-cart-bump__lead {
		font-size: 0.8rem;
		line-height: 1.35;
	}
	.pp-cart-page .pp-cart-benefits__title {
		font-size: 0.76rem;
	}
	.pp-cart-page .pp-cart-module-list--compact li {
		font-size: 0.78rem;
	}
	.pp-cart-page .pp-cart-highlights li:nth-child(n + 3) {
		display: none;
	}
	.pp-cart-page .pp-cart-highlights {
		margin-top: 0.65rem;
		padding-top: 0.65rem;
		gap: 0.4rem;
	}
	.pp-cart-page .pp-cart-highlights li {
		font-size: 0.8rem;
	}
	.pp-cart-page .pp-cart-pix-slot__lead,
	.pp-cart-page .pp-cart-pix-slot__copy-hint {
		display: none;
	}
	.pp-cart-page .pp-cart-secure {
		margin-top: 0.35rem;
		padding-top: 0.65rem;
	}
	.pp-cart-page .pp-cart-secure__text {
		font-size: 0.76rem;
		line-height: 1.4;
	}
	.pp-cart-page .pp-cart-note {
		font-size: 0.72rem;
	}
	.pp-cart-page .pp-cart-field__hint {
		font-size: 0.72rem;
	}
	.pp-cart-page .pp-cart-pix-slot {
		padding: 1rem 0.9rem;
	}
}

/* ——— Login / área do aluno / sucesso PIX ——— */
.pp-body--auth .pp-main {
	padding-top: 2rem;
	padding-bottom: 3rem;
}
.pp-body--login-page .pp-main {
	position: relative;
	z-index: 1;
	min-height: calc(100vh - 4.5rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: clamp(1.5rem, 4vh, 2.5rem);
	padding-bottom: clamp(1.5rem, 4vh, 2.5rem);
}
.pp-login-bg {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.pp-login-bg__layer {
	position: absolute;
	inset: 0;
}
.pp-login-bg__image {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #0a0c10;
}
.pp-body--login-page .pp-nav__desktop > .pp-btn--primary,
.pp-body--login-page .pp-drawer > .pp-btn.pp-btn--primary {
	display: none;
}
.pp-body--login-page .pp-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
}
.pp-auth,
.pp-dash {
	max-width: 22rem;
	margin: 0 auto;
	padding: 1rem 0 2rem;
}
.pp-auth.pp-auth--login-card {
	max-width: 26rem;
	width: 100%;
	padding: 2rem 1.75rem;
	border-radius: var(--pp-radius-lg);
	background: rgba(26, 31, 41, 0.92);
	border: 1px solid var(--pp-border);
	box-shadow: 0 24px 56px rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.pp-auth__back {
	margin: 0 0 1.25rem;
	font-size: 0.9rem;
}
.pp-auth__back-link {
	color: var(--pp-muted);
	text-decoration: none;
}
.pp-auth__back-link:hover {
	color: var(--pp-accent);
}
.pp-auth__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	line-height: 1.25;
}
.pp-auth--success .pp-auth__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.pp-auth--success .pp-auth__title .fa-circle-check {
	color: var(--pp-accent);
}
.pp-auth__lead,
.pp-dash__lead {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--pp-muted);
}
.pp-auth__error {
	margin: 0 0 1rem;
	padding: 0.65rem 0.85rem;
	border-radius: 0.5rem;
	border: 1px solid rgba(220, 80, 80, 0.45);
	background: rgba(40, 20, 20, 0.35);
	color: #f0a8a8;
	font-size: 0.9rem;
}
.pp-auth__ok {
	margin: 0 0 1rem;
	padding: 0.65rem 0.85rem;
	border-radius: 0.5rem;
	border: 1px solid rgba(80, 180, 120, 0.45);
	background: rgba(20, 40, 28, 0.35);
	color: #9fdfb8;
	font-size: 0.9rem;
}
.pp-auth__ok--preline {
	white-space: pre-line;
}
.pp-auth__label-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
}
.pp-auth__forgot-link {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-auth__forgot-link:hover {
	color: var(--pp-accent);
}
.pp-auth__password-wrap {
	position: relative;
	display: block;
}
.pp-auth__input--with-toggle {
	width: 100%;
	padding-right: 3rem;
}
.pp-auth__toggle-password {
	position: absolute;
	right: 0.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--pp-muted);
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease;
}
.pp-auth__toggle-password:hover {
	color: var(--pp-text);
	background: rgba(255, 255, 255, 0.06);
}
.pp-auth__toggle-password:focus-visible {
	outline: 2px solid var(--pp-accent);
	outline-offset: 2px;
}
.pp-auth__field-hint {
	margin: 0.35rem 0 0;
	font-size: 0.8rem;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-auth__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.pp-auth__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.pp-auth__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--pp-muted);
}
.pp-auth__label-note {
	font-weight: 500;
	color: rgba(154, 163, 178, 0.85);
}
.pp-auth__input {
	width: 100%;
	padding: 0.65rem 0.85rem;
	border-radius: 0.5rem;
	border: 1px solid var(--pp-border);
	background: rgba(12, 14, 20, 0.75);
	color: var(--pp-text);
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pp-auth__input::placeholder {
	color: rgba(154, 163, 178, 0.65);
}
.pp-auth__input:hover {
	border-color: rgba(245, 158, 11, 0.28);
}
.pp-auth__input:focus {
	outline: 2px solid var(--pp-accent);
	outline-offset: 2px;
}
.pp-auth__input[aria-invalid="true"] {
	border-color: rgba(220, 38, 38, 0.65);
}
.pp-auth__error--field {
	margin: 0.5rem 0 0;
}
.pp-auth__actions {
	margin: 1.25rem 0 0;
}
.pp-auth__actions .pp-btn {
	margin: 0;
}
.pp-auth__remember {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	color: var(--pp-muted);
	cursor: pointer;
}
.pp-auth__remember input {
	accent-color: var(--pp-accent);
}
.pp-auth__submit {
	margin-top: 0.25rem;
}
.pp-auth__hint {
	margin: 1.25rem 0 0;
	font-size: 0.88rem;
	color: var(--pp-muted);
	line-height: 1.5;
}
.pp-auth__hint a {
	color: var(--pp-accent);
}
.pp-dash__email {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: var(--pp-text);
	opacity: 0.9;
}
.pp-dash__logout {
	margin-top: 1.5rem;
}

/* ——— Área do aluno (home do curso) ——— */
.pp-body--student-area .pp-nav__desktop > .pp-btn--primary,
.pp-body--student-area .pp-drawer > .pp-btn.pp-btn--primary {
	display: none;
}
.pp-student-hero {
	position: relative;
	min-height: clamp(17rem, 42vh, 32rem);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	margin: 0;
}
.pp-student-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #141821;
}
.pp-student-hero__scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(6, 8, 12, 0.25) 0%,
		rgba(10, 12, 16, 0.65) 45%,
		rgba(10, 12, 16, 0.94) 100%
	);
}
.pp-student-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: clamp(2.75rem, 7vw, 4.5rem) 0 clamp(2rem, 5vw, 3rem);
	text-align: center;
}
.pp-student-hero__kicker {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fbbf24;
}
.pp-student-hero__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.65rem, 4.2vw, 2.35rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--pp-text);
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
.pp-student-hero__sub {
	margin: 0 auto 1rem;
	max-width: 36rem;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(241, 243, 247, 0.88);
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}
.pp-student-hero__email {
	margin: 0 0 1.5rem;
	font-size: 0.9rem;
	color: var(--pp-muted);
}
.pp-student-hero__email i {
	margin-right: 0.35rem;
	opacity: 0.85;
}
.pp-student-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
}
.pp-student-hero__logout {
	margin: 0;
	display: inline;
}
.pp-student-hero__logout button {
	margin: 0;
}
.pp-student-home__intro {
	padding: 2.5rem 0 0.5rem;
	max-width: 40rem;
}
.pp-student-home__intro-title {
	margin-bottom: 0.75rem;
}
.pp-student-home__intro-lead {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--pp-muted);
}

.pp-student-route-bar {
	margin: 0 0 1.25rem;
	padding: 0.7rem 1rem;
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	background: rgba(18, 21, 28, 0.88);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}
.pp-student-route-bar__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.4;
}
.pp-student-route-bar__item {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.pp-student-route-bar__sep {
	color: var(--pp-muted);
	font-weight: 500;
	user-select: none;
	opacity: 0.85;
}
.pp-student-route-bar__link {
	color: var(--pp-accent);
	text-decoration: none;
	border-radius: 6px;
	padding: 0.12rem 0.2rem;
	margin: -0.12rem -0.2rem;
}
.pp-student-route-bar__link:hover {
	text-decoration: underline;
	color: #fcd34d;
}
.pp-student-route-bar__link[aria-current='page'] {
	color: var(--pp-text);
	cursor: default;
	text-decoration: none;
	pointer-events: none;
}
.pp-student-route-bar__current {
	color: var(--pp-text);
	font-weight: 700;
	max-width: 100%;
}

.pp-body--student-area.pp-student-route--module .pp-student-hero,
.pp-body--student-area.pp-student-route--lesson .pp-student-hero {
	min-height: clamp(10rem, 26vh, 17rem);
}
.pp-body--student-area.pp-student-route--module .pp-student-hero__inner,
.pp-body--student-area.pp-student-route--lesson .pp-student-hero__inner {
	padding: clamp(1.5rem, 4vw, 2.25rem) 0 clamp(1.25rem, 3vw, 1.75rem);
}
.pp-body--student-area.pp-student-route--module .pp-student-hero__sub,
.pp-body--student-area.pp-student-route--lesson .pp-student-hero__sub {
	display: none;
}
.pp-body--student-area.pp-student-route--module .pp-student-module-view:not([hidden]) {
	border-radius: var(--pp-radius-lg);
	border: 1px solid rgba(148, 163, 184, 0.22);
	background: rgba(10, 12, 16, 0.65);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
	padding: clamp(0.85rem, 2.2vw, 1.2rem) clamp(1rem, 2.8vw, 1.45rem) clamp(1.15rem, 2.8vw, 1.65rem);
	overflow: hidden;
}
.pp-body--student-area.pp-student-route--lesson .pp-student-lesson-stage:not([hidden]) {
	border-radius: var(--pp-radius-lg);
	border: 1px solid rgba(245, 158, 11, 0.28);
	background: rgba(10, 12, 16, 0.78);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
	padding: clamp(0.85rem, 2.2vw, 1.2rem) clamp(1rem, 2.8vw, 1.45rem) clamp(1.2rem, 2.8vw, 1.75rem);
	overflow: hidden;
}

.pp-student-modules {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 2rem 0 3.5rem;
}
.pp-student-module {
	display: grid;
	grid-template-columns: minmax(12rem, 17.5rem) 1fr;
	gap: 1.5rem;
	align-items: start;
	padding: 1.5rem;
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	background: rgba(18, 21, 28, 0.72);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
	scroll-margin-top: 5rem;
}
.pp-student-module__media {
	position: relative;
	border-radius: var(--pp-radius);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.06);
}
.pp-student-module__thumb {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.pp-student-module__chip {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: 800;
	color: var(--pp-accent-text);
	background: var(--pp-accent);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.pp-student-module__meta {
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-module__title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.1rem, 2.2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--pp-text);
}
.pp-student-module__note {
	margin: 0 0 1rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--pp-muted);
	background: rgba(245, 158, 11, 0.08);
	border: 1px solid rgba(245, 158, 11, 0.2);
	border-radius: var(--pp-radius);
}
.pp-student-module__note i {
	margin-right: 0.35rem;
	color: var(--pp-accent);
}
.pp-student-lessonlist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.pp-student-lessonlist__item {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.55rem 0.65rem;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(10, 12, 16, 0.45);
	font-size: 0.92rem;
	line-height: 1.45;
	color: rgba(241, 243, 247, 0.92);
}
.pp-student-lessonlist__ix {
	flex-shrink: 0;
	width: 1.65rem;
	height: 1.65rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--pp-muted);
	background: rgba(255, 255, 255, 0.06);
	border-radius: 8px;
}
.pp-student-lessonlist__label {
	flex: 1;
	min-width: 0;
}
@media (max-width: 768px) {
	.pp-student-module {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}
	.pp-student-module__thumb {
		aspect-ratio: 16 / 9;
	}
}

.pp-student-empty {
	color: var(--pp-muted, #94a3b8);
	max-width: 36rem;
	line-height: 1.55;
}
.pp-student-module__html {
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--pp-muted, #cbd5e1);
	margin: 0.5rem 0 1rem;
}
.pp-student-module__html p {
	margin: 0.35rem 0;
}
.pp-student-module__downloads {
	margin: 0.75rem 0 1rem;
	padding: 0.65rem 0.85rem;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.pp-student-module__downloads-title {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--pp-muted, #94a3b8);
}
.pp-student-downloadlist {
	margin: 0;
	padding-left: 1.1rem;
	font-size: 0.88rem;
}
.pp-student-downloadlist__link {
	color: var(--pp-accent, #7dd3fc);
}
.pp-student-module-complete {
	margin: 0 0 1rem;
}
.pp-student-lessonlist__item--rich {
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}
.pp-student-lesson__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
}
.pp-student-lesson__head .pp-student-lessonlist__ix {
	flex-shrink: 0;
}
.pp-student-lesson__head .pp-student-lessonlist__label {
	flex: 1;
	min-width: 0;
}
.pp-student-lesson__video-wrap {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	border-radius: 10px;
	overflow: hidden;
	background: #0a0a0a;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.pp-student-lesson__video-wrap .pp-yt-embed {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.pp-student-lesson__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.pp-student-lesson__html {
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--pp-muted, #cbd5e1);
	margin: 0.35rem 0 0.75rem;
}
.pp-student-lesson__html p {
	margin: 0.35rem 0;
}
.pp-student-lesson__downloads {
	margin: 0.5rem 0 0.75rem;
	padding: 0.55rem 0.75rem;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.06);
}
.pp-student-lesson__downloads-title {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--pp-muted, #94a3b8);
}
.pp-student-done-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	color: #86efac;
	margin-left: 0.25rem;
}
.pp-student-done-badge--lesson {
	color: #a5b4fc;
}

/* ——— Área do aluno: trilha → módulo → aula (player único) ——— */
.pp-student-app__panel {
	padding-bottom: 3rem;
}

.pp-student-continue {
	margin-bottom: 0;
	border-radius: var(--pp-radius-lg);
	border: 1px solid rgba(245, 158, 11, 0.38);
	background: linear-gradient(145deg, rgba(38, 28, 10, 0.96) 0%, rgba(16, 18, 24, 0.94) 55%, rgba(14, 16, 22, 0.98) 100%);
	box-shadow: 0 14px 44px rgba(0, 0, 0, 0.3);
	overflow: hidden;
}
.pp-student-trail__split {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 2.25rem;
	margin-bottom: 0.35rem;
	padding-top: 2.25rem;
	border-top: 1px solid rgba(148, 163, 184, 0.28);
}
.pp-student-trail__split-line {
	flex: 1;
	min-width: 1.5rem;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.45), transparent);
}
.pp-student-trail__split-label {
	flex: 0 0 auto;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #cbd5e1;
	white-space: nowrap;
}
.pp-student-trail__grid--after-continue {
	margin-top: 1.25rem;
}
.pp-student-continue__card {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 1rem 1.5rem;
	padding: 1.15rem 1.25rem 1rem;
	text-decoration: none;
	color: inherit;
	justify-content: space-between;
}
.pp-student-continue__card:hover {
	color: inherit;
}
.pp-student-continue__main {
	flex: 1 1 14rem;
	min-width: 0;
}
.pp-student-continue__kicker {
	margin: 0 0 0.35rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fbbf24;
}
.pp-student-continue__module {
	margin: 0 0 0.65rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pp-text);
}
.pp-student-continue__next-label {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--pp-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.pp-student-continue__next-title {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #e2e8f0;
}
.pp-student-continue__next-ix {
	color: var(--pp-accent);
	font-weight: 800;
}
.pp-student-continue__side {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 0.35rem;
	text-align: right;
}
.pp-student-continue__pct {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1;
	color: var(--pp-accent);
}
.pp-student-continue__counts {
	margin: 0;
	font-size: 0.78rem;
	color: var(--pp-muted);
	max-width: 13rem;
	line-height: 1.35;
}
.pp-student-continue__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.25rem;
	padding: 0.45rem 0.95rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pp-accent-text);
	background: var(--pp-accent);
	border-radius: 999px;
}
.pp-student-continue__card:hover .pp-student-continue__cta {
	filter: brightness(1.07);
}
.pp-student-continue__bar {
	height: 4px;
	background: rgba(255, 255, 255, 0.07);
	width: 100%;
}
.pp-student-continue__bar-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #d97706, #fbbf24);
	transition: width 0.3s ease;
}

.pp-student-trail__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 720px) {
	.pp-student-trail__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1100px) {
	.pp-student-trail__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.pp-student-trail-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	background: rgba(18, 21, 28, 0.75);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
	text-align: left;
}
a.pp-student-trail-card {
	text-decoration: none;
	color: inherit;
}
a.pp-student-trail-card:visited {
	color: inherit;
}
.pp-student-trail-card:hover,
.pp-student-trail-card:focus-visible {
	outline: none;
	border-color: rgba(245, 158, 11, 0.45);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.32);
	transform: translateY(-2px);
}
.pp-student-trail-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.pp-student-trail-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pp-student-trail-card__step {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: 800;
	color: var(--pp-accent-text);
	background: var(--pp-accent);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.pp-student-trail-card__body {
	padding: 1.1rem 1.15rem 1.25rem;
}
.pp-student-trail-card__meta {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-trail-card__title {
	margin: 0 0 0.55rem;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--pp-text);
}
.pp-student-trail-card__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	color: var(--pp-muted);
}
.pp-student-trail-card__videos {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	color: #cbd5e1;
}
.pp-student-trail-card__videos i {
	color: var(--pp-accent);
	opacity: 0.92;
}
.pp-student-trail-card__counts {
	font-variant-numeric: tabular-nums;
}
.pp-student-trail-card__badge--done {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #86efac;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pp-student-trail-card__progress-track {
	height: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
	margin: 0 0 0.6rem;
}
.pp-student-trail-card__progress-fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(217, 119, 6, 0.9), rgba(251, 191, 36, 0.95));
	transition: width 0.25s ease;
}
.pp-student-trail-card__next {
	margin: 0 0 0.45rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #cbd5e1;
}
.pp-student-trail-card__next--done {
	color: #86efac;
}
.pp-student-trail-card__resume {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.6rem;
	padding: 0.5rem 0.95rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #ffffff;
	background: rgba(253, 230, 138, 0.22);
	border: 1px solid rgba(253, 224, 71, 0.45);
	border-radius: 999px;
	text-decoration: none;
	cursor: pointer;
	align-self: flex-start;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}
.pp-student-trail-card__resume i {
	color: #ffffff;
	opacity: 1;
}
.pp-student-trail-card__resume:hover,
.pp-student-trail-card__resume:focus-visible {
	color: #ffffff;
	background: rgba(253, 230, 138, 0.38);
	border-color: rgba(250, 204, 21, 0.55);
}
.pp-student-trail-card__resume:focus-visible {
	outline: 2px solid rgba(254, 249, 195, 0.9);
	outline-offset: 2px;
}
.pp-student-trail-card__novideo {
	margin: 0 0 0.55rem;
	font-size: 0.82rem;
	color: var(--pp-muted);
	font-style: italic;
}
.pp-student-trail-card__ribbon {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	width: 2rem;
	height: 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(22, 163, 74, 0.93);
	color: #fff;
	border-radius: 50%;
	font-size: 1rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
.pp-student-trail-card__html {
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--pp-muted);
	max-height: 5.5rem;
	overflow: hidden;
	position: relative;
}
.pp-student-trail-card__html p {
	margin: 0 0 0.35rem;
}
.pp-student-trail-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.75rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pp-accent);
}
.pp-student-trail-card--locked {
	cursor: default;
	opacity: 0.97;
}
.pp-student-trail-card--locked:hover,
.pp-student-trail-card--locked:focus-visible {
	transform: none;
	border-color: var(--pp-border);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}
.pp-student-trail-card__lock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 12, 18, 0.52);
	color: #f8fafc;
	font-size: clamp(1.75rem, 5vw, 2.35rem);
	pointer-events: none;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}
.pp-student-trail-card__soon {
	color: var(--pp-muted);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
}
.pp-student-trail-card__cta--locked {
	color: var(--pp-muted);
	cursor: default;
	margin-top: 0.75rem;
}
.pp-student-trail-card--vip {
	border-color: rgba(56, 189, 248, 0.35);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(56, 189, 248, 0.12);
}
.pp-student-trail-card--vip:hover,
.pp-student-trail-card--vip:focus-visible {
	border-color: rgba(56, 189, 248, 0.55);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(56, 189, 248, 0.2);
}
.pp-student-trail-card__step--vip {
	background: linear-gradient(145deg, #38bdf8 0%, #0ea5e9 100%);
	color: #0a0c10;
	font-size: 1rem;
	min-width: 2.25rem;
	padding: 0 0.45rem;
}
.pp-student-trail-card__vip-teaser {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--pp-muted);
}
.pp-student-trail--vip-solo {
	margin-top: 1.75rem;
}
.pp-student-trail-card--mentoria {
	border-color: rgba(251, 191, 36, 0.4);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(251, 191, 36, 0.12);
}
.pp-student-trail-card__step--mentoria {
	background: linear-gradient(145deg, #fbbf24 0%, #d97706 100%);
	color: #0a0c10;
	font-size: 0.95rem;
	min-width: 2.25rem;
	padding: 0 0.45rem;
}
.pp-student-trail-card__cta--mentoria-hint {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 0.75rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #fde68a;
	line-height: 1.4;
}
.pp-student-module-view__toolbar {
	margin-bottom: 1rem;
	margin-top: 0.15rem;
}
.pp-student-module-view__hero {
	position: relative;
	border-radius: var(--pp-radius-lg);
	overflow: hidden;
	margin-bottom: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
}
.pp-student-module-view__hero-img {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	min-height: 11rem;
	object-fit: cover;
	background: #141821;
}
.pp-student-module-view__hero-scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(6, 8, 12, 0.05) 0%,
		rgba(10, 12, 16, 0.55) 55%,
		rgba(10, 12, 16, 0.92) 100%
	);
}
.pp-student-module-view__hero-text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.35rem 1.25rem 1.15rem;
	z-index: 1;
}
.pp-student-module-view__hero .pp-student-module-view__kicker {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fbbf24;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
.pp-student-module-view__title--hero {
	margin: 0 0 0.5rem;
	font-size: clamp(1.35rem, 3.8vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
	color: #f8fafc;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.55);
}
.pp-student-module-view__hero-badge {
	margin: 0;
}
.pp-student-module-view__hero-badge-inner {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.65rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: #86efac;
	background: rgba(22, 101, 52, 0.45);
	border: 1px solid rgba(74, 222, 128, 0.35);
	border-radius: 999px;
}
.pp-student-module-view__head {
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--pp-border);
}
.pp-student-module-view__kicker {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-module-view__title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--pp-text);
}
.pp-student-module-view__complete-hint {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--pp-muted);
	max-width: 40rem;
}
.pp-student-module-view__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--pp-muted);
}
.pp-student-module-view__desc p {
	margin: 0 0 0.5rem;
}
.pp-student-module-view__complete {
	margin-top: 1rem;
}
.pp-student-module-lessons {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.pp-student-module-lessons > li {
	margin: 0;
}

/* Rodapé do módulo: slider horizontal com outros módulos */
.pp-student-module-view__footer {
	margin-top: 2.25rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.pp-student-module-slider__eyebrow {
	margin: 0 0 0.25rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-module-slider__hint {
	margin: 0 0 1rem;
	font-size: 0.8rem;
	color: var(--pp-muted);
}
.pp-student-module-slider {
	margin: 0 -0.25rem;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: rgba(245, 158, 11, 0.35) transparent;
	padding-bottom: 0.35rem;
}
.pp-student-module-slider::-webkit-scrollbar {
	height: 6px;
}
.pp-student-module-slider::-webkit-scrollbar-thumb {
	background: rgba(245, 158, 11, 0.35);
	border-radius: 999px;
}
.pp-student-module-slider__track {
	display: flex;
	flex-direction: row;
	gap: 1rem;
	padding: 0.25rem 0.25rem 0.5rem;
	width: max-content;
	max-width: 100%;
}
.pp-student-module-slider__card {
	flex: 0 0 auto;
	width: min(11.5rem, 72vw);
	scroll-snap-align: start;
	border-radius: var(--pp-radius-lg);
	border: 1px solid var(--pp-border);
	background: rgba(14, 16, 22, 0.85);
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
	text-align: left;
}
.pp-student-module-slider__card:hover,
.pp-student-module-slider__card:focus-visible {
	outline: none;
	border-color: rgba(245, 158, 11, 0.5);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.35);
	transform: translateY(-2px);
}
.pp-student-module-slider__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.pp-student-module-slider__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pp-student-module-slider__step {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	min-width: 1.75rem;
	height: 1.75rem;
	padding: 0 0.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--pp-accent-text);
	background: var(--pp-accent);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.pp-student-module-slider__badge {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	width: 1.65rem;
	height: 1.65rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(22, 101, 52, 0.85);
	color: #86efac;
	font-size: 0.85rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.pp-student-module-slider__card--locked {
	cursor: default;
	opacity: 0.95;
}
.pp-student-module-slider__card--locked:hover,
.pp-student-module-slider__card--locked:focus-visible {
	transform: none;
	border-color: var(--pp-border);
	box-shadow: none;
}
.pp-student-module-slider__lock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 12, 18, 0.48);
	color: #f8fafc;
	font-size: 1.25rem;
	pointer-events: none;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.pp-student-module-slider__title {
	margin: 0;
	padding: 0.65rem 0.75rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--pp-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Tela da aula: outras aulas do mesmo módulo */
.pp-student-lesson-siblings {
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.pp-student-lesson-siblings__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-lesson-siblings__sub {
	margin: 0 0 1.1rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #cbd5e1;
	font-weight: 600;
}
.pp-student-lesson-siblings__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 560px) {
	.pp-student-lesson-siblings__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 960px) {
	.pp-student-lesson-siblings__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.pp-student-lesson-sibling-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	background: linear-gradient(180deg, rgba(20, 24, 32, 0.98) 0%, rgba(12, 14, 18, 0.95) 100%);
	color: var(--pp-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
}
.pp-student-lesson-sibling-card:hover,
.pp-student-lesson-sibling-card:focus-visible {
	outline: none;
	border-color: rgba(245, 158, 11, 0.5);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
	transform: translateY(-3px);
}
.pp-student-lesson-sibling-card--complete {
	border-color: rgba(74, 222, 128, 0.3);
}
.pp-student-lesson-sibling-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	max-height: 7.5rem;
	overflow: hidden;
	background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
}
.pp-student-lesson-sibling-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.92;
	transition: opacity 0.2s, transform 0.35s ease;
}
.pp-student-lesson-sibling-card:hover .pp-student-lesson-sibling-card__media img,
.pp-student-lesson-sibling-card:focus-visible .pp-student-lesson-sibling-card__media img {
	opacity: 1;
	transform: scale(1.04);
}
.pp-student-lesson-sibling-card__mod-pill {
	position: absolute;
	top: 0.45rem;
	left: 0.45rem;
	z-index: 2;
	padding: 0.22rem 0.5rem;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(0, 0, 0, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	backdrop-filter: blur(6px);
}
.pp-student-lesson-sibling-card__play-ov {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.35) 100%);
}
.pp-student-lesson-sibling-card__play-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--pp-accent);
	color: var(--pp-accent-text);
	font-size: 0.85rem;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}
.pp-student-lesson-sibling-card__play-icon--done {
	background: rgba(22, 101, 52, 0.92);
	color: #ecfdf5;
	border: 1px solid rgba(74, 222, 128, 0.45);
	font-size: 0.8rem;
}
.pp-student-lesson-sibling-card__lower {
	display: flex;
	align-items: stretch;
	min-height: 4.25rem;
}
.pp-student-lesson-sibling-card__num {
	flex-shrink: 0;
	width: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--pp-accent-text);
	background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.pp-student-lesson-sibling-card--complete .pp-student-lesson-sibling-card__num {
	background: linear-gradient(180deg, rgba(34, 197, 94, 0.9) 0%, rgba(21, 128, 61, 0.98) 100%);
	color: #ecfdf5;
}
.pp-student-lesson-sibling-card__body {
	flex: 1;
	min-width: 0;
	padding: 0.65rem 0.85rem 0.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.35rem;
}
.pp-student-lesson-sibling-card__meta {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #94a3b8;
	line-height: 1.35;
}
.pp-student-lesson-sibling-card--complete .pp-student-lesson-sibling-card__meta {
	color: #86efac;
	opacity: 0.95;
}
.pp-student-lesson-sibling-card__title-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
}
.pp-student-lesson-sibling-card__title {
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.4;
	color: #f1f5f9;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pp-student-lesson-sibling-card__check {
	flex-shrink: 0;
	margin-top: 0.1rem;
	color: #4ade80;
	font-size: 1.1rem;
	line-height: 1;
}

.pp-student-lesson-row {
	width: 100%;
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	align-items: center;
	gap: 0.65rem 0.85rem;
	padding: 0.85rem 1rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-border);
	background: rgba(14, 16, 22, 0.65);
	color: var(--pp-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}
.pp-student-lesson-row:hover,
.pp-student-lesson-row:focus-visible {
	outline: none;
	border-color: rgba(245, 158, 11, 0.4);
	background: rgba(22, 26, 36, 0.85);
}
.pp-student-lesson-row__play {
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pp-accent);
	color: var(--pp-accent-text);
	font-size: 0.85rem;
	flex-shrink: 0;
}
.pp-student-lesson-row__play--done {
	background: rgba(22, 101, 52, 0.35);
	border: 1px solid rgba(74, 222, 128, 0.45);
	color: #86efac;
	font-size: 0.95rem;
}
.pp-student-lesson-row--complete:hover .pp-student-lesson-row__play--done,
.pp-student-lesson-row--complete:focus-visible .pp-student-lesson-row__play--done {
	background: rgba(22, 101, 52, 0.5);
	border-color: rgba(74, 222, 128, 0.65);
}
.pp-student-lesson-row__ix {
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--pp-muted);
	min-width: 1.25rem;
}
.pp-student-lesson-row__title {
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
}
.pp-student-lesson-row__chev {
	color: var(--pp-muted);
	font-size: 0.85rem;
}
.pp-student-lesson-stage__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}
.pp-student-lesson-stage__lesson-title {
	margin: 0 0 1rem;
	font-size: clamp(1.2rem, 2.8vw, 1.55rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--pp-text);
}
@media (min-width: 900px) {
	.pp-student-lesson-stage__lesson-title {
		text-align: center;
	}
}
.pp-student-lesson-stage__video {
	position: relative;
	width: 100%;
	border-radius: var(--pp-radius-lg);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: #0a0c10;
	aspect-ratio: 16 / 9;
	max-height: min(72vh, 640px);
	margin: 0 auto 1.5rem;
}
.pp-student-lesson-stage__video:fullscreen,
.pp-student-lesson-stage__video:-webkit-full-screen {
	max-height: none;
	max-width: none;
	width: 100%;
	height: 100%;
	aspect-ratio: unset;
	border-radius: 0;
	margin: 0;
	border: none;
}
.pp-student-fs-close {
	position: absolute;
	top: 0.45rem;
	right: 0.45rem;
	z-index: 40;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(10, 12, 16, 0.72);
	color: #f1f3f7;
	font-size: 1.15rem;
	cursor: pointer;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.pp-student-fs-close:hover,
.pp-student-fs-close:focus-visible {
	background: rgba(30, 35, 48, 0.9);
	color: #fbbf24;
	outline: none;
}
.pp-student-fs-close[hidden] {
	display: none !important;
}
.pp-student-next-countdown {
	position: absolute;
	inset: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(10, 12, 16, 0.82);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.pp-student-next-countdown[hidden] {
	display: none !important;
}
.pp-student-next-countdown__panel {
	text-align: center;
	max-width: 22rem;
	padding: 1.25rem 1.35rem;
	border-radius: var(--pp-radius-lg);
	background: rgba(18, 21, 28, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.pp-student-next-countdown__label {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.pp-student-next-countdown__num {
	margin: 0 0 0.5rem;
	font-size: clamp(2.75rem, 8vw, 3.75rem);
	font-weight: 800;
	line-height: 1;
	color: #fbbf24;
	font-variant-numeric: tabular-nums;
}
.pp-student-next-countdown__next-title {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--pp-text);
}
.pp-student-next-countdown__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}
@media (max-width: 768px) {
	.pp-student-next-countdown {
		display: none !important;
	}
}
/* Desktop: área maior → o YouTube costuma subir bitrate/qualidade no adaptativo. */
@media (min-width: 900px) {
	.pp-student-lesson-stage__video {
		max-width: min(100%, 1280px);
		max-height: min(85vh, 960px);
	}
}
.pp-student-lesson-stage__video--empty {
	aspect-ratio: auto;
	min-height: 4rem;
	max-height: none;
}
.pp-student-lesson-player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.pp-student-lesson-player__inner {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 0;
}
.pp-student-video-facade__poster {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(135deg, #222831 0%, #0a0c10 48%, #1a1f2e 100%);
	pointer-events: none;
	border-radius: inherit;
}
.pp-student-lesson-stage__video .pp-video__inner--facade-active .plyr,
.pp-student-lesson-stage__video .pp-video__inner--facade-active .plyr__video-wrapper,
.pp-student-lesson-stage__video .pp-video__inner--facade-active .plyr__video-embed,
.pp-student-lesson-stage__video .pp-video__inner--facade-active .plyr iframe,
.pp-student-lesson-stage__video .pp-video__inner--facade-active .plyr__video-embed iframe {
	pointer-events: none !important;
}
.pp-student-lesson-stage__video .pp-video__inner--plyr > .plyr {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.pp-student-lesson-stage__video .pp-video__inner--plyr .plyr__video-wrapper,
.pp-student-lesson-stage__video .pp-video__inner--plyr .plyr__video-embed {
	position: absolute !important;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
}
.pp-student-lesson-stage__video .pp-video__inner--plyr .plyr__video-wrapper iframe,
.pp-student-lesson-stage__video .pp-video__inner--plyr .plyr__video-embed iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.pp-student-lesson-stage__video .pp-video__inner--plyr .plyr__video-wrapper {
	background: #000;
}
.pp-student-lesson-stage__video .plyr--video {
	--plyr-color-main: #fbbf24;
	--plyr-video-controls-background: linear-gradient(rgba(10, 12, 16, 0), rgba(10, 12, 16, 0.85));
	--plyr-video-control-color: #f1f3f7;
	--plyr-video-control-color-hover: #fcd34d;
	--plyr-menu-background: rgba(18, 21, 28, 0.96);
	--plyr-menu-color: #f1f3f7;
	border-radius: var(--pp-radius-lg);
}
.pp-student-lesson-stage__video .pp-video__inner--plyr:has(.pp-video-facade:not(.is-hidden)) .plyr__control--overlaid {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.pp-student-lesson-stage__video .plyr__control--overlaid {
	background: #fbbf24;
	color: #0a0c10;
	padding: 1.25rem;
	border-radius: 999px;
	box-shadow: 0 6px 28px rgba(251, 191, 36, 0.42);
	border: none;
}
.pp-student-lesson-stage__video .plyr__control--overlaid svg {
	fill: currentColor;
}
.pp-student-lesson-stage__video .plyr__control--overlaid:hover,
.pp-student-lesson-stage__video .plyr__control--overlaid:focus-visible {
	background: #fcd34d;
	color: #0a0c10;
}
.pp-student-lesson-stage__no-video {
	margin: 0;
	padding: 1.25rem;
	text-align: center;
	color: var(--pp-muted);
	font-size: 0.9rem;
}
.pp-student-lesson-stage__body {
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--pp-muted);
}
.pp-student-lesson-desc__label,
.pp-student-lesson-files__label {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-student-lesson-files__sub {
	margin: -0.35rem 0 0.75rem;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--pp-muted);
}
.pp-student-lesson-files + .pp-student-lesson-files {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--pp-border);
}
.pp-student-lesson-desc__html {
	margin-bottom: 1.5rem;
	color: var(--pp-text);
}
.pp-student-lesson-desc__html p {
	margin: 0 0 0.65rem;
}
.pp-student-lesson-desc__empty {
	margin: 0;
	color: var(--pp-muted);
	font-size: 0.9rem;
}
.pp-student-filegrid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.pp-student-filegrid__link {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-border);
	background: rgba(14, 16, 22, 0.55);
	color: var(--pp-text);
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s;
}
.pp-student-filegrid__link:hover {
	border-color: rgba(245, 158, 11, 0.35);
	background: rgba(22, 26, 36, 0.75);
	color: var(--pp-text);
}
.pp-student-filegrid__icon {
	font-size: 1.5rem;
	color: #f87171;
}
.pp-student-filegrid__icon .fa-file-image {
	color: #38bdf8;
}
.pp-student-filegrid__icon .fa-file-zipper {
	color: #fbbf24;
}
.pp-student-filegrid__icon .fa-file-word {
	color: #60a5fa;
}
.pp-student-filegrid__icon .fa-file-excel {
	color: #4ade80;
}
.pp-student-filegrid__icon .fa-file-powerpoint {
	color: #fb923c;
}
.pp-student-filegrid__name {
	font-weight: 600;
	font-size: 0.9rem;
	word-break: break-word;
}
.pp-student-filegrid__hint {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--pp-accent);
	white-space: nowrap;
}
.pp-student-lesson-stage__actions {
	margin-top: 1.5rem;
}
.pp-student-lesson-stage__done {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}
.pp-student-lesson-stage__done--marked {
	border-color: rgba(74, 222, 128, 0.45);
	background: rgba(22, 101, 52, 0.2);
	color: #bbf7d0;
}
.pp-student-lesson-stage__done--marked:hover,
.pp-student-lesson-stage__done--marked:focus-visible {
	border-color: rgba(248, 113, 113, 0.55);
	background: rgba(127, 29, 29, 0.35);
	color: #fecaca;
}
.pp-student-lesson-stage__done-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #22c55e;
	font-size: 0.95em;
	line-height: 1;
}
.pp-student-lesson-stage__done-check[hidden] {
	display: none !important;
}
/* ——— Área do aluno: shell mobile (app-like), só ≤768px ——— */
.pp-student-bottom-nav {
	display: none;
}
.pp-student-module-view__toolbar-title {
	display: none;
}
@media (max-width: 768px) {
	.pp-body--student-area {
		--pp-header-h: 3.65rem;
	}
	.pp-body--student-area .pp-header__inner {
		padding-top: 0.4rem;
		padding-bottom: 0.4rem;
	}
	.pp-body--student-area .pp-logo img {
		max-height: 2.05rem;
		width: auto;
	}
	.pp-drawer__eyebrow {
		margin: 0 0 0.5rem;
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--pp-muted);
	}
	.pp-drawer__item {
		display: flex;
		align-items: center;
		gap: 0.55rem;
		padding: 0.85rem 1rem;
		border-radius: 10px;
		text-decoration: none;
		box-sizing: border-box;
	}
	.pp-drawer__item.pp-nav__link {
		color: var(--pp-text);
	}
	.pp-drawer__form {
		margin: 0.65rem 0 0;
		padding: 0;
		width: 100%;
	}
	.pp-drawer__logout-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		width: 100%;
		margin: 0;
	}
	.pp-body--student-area .pp-student-hero {
		min-height: 0;
	}
	/* Desktop usa min-height alto em módulo/aula; no mobile isso espreme o player e empurra texto. */
	.pp-body--student-area.pp-student-route--module .pp-student-hero,
	.pp-body--student-area.pp-student-route--lesson .pp-student-hero {
		min-height: 0;
		align-items: center;
	}
	/* Na aula, o hero só repete saudação; esconder libera altura para o vídeo e evita “faixa” sobre o conteúdo. */
	.pp-body--student-area.pp-student-route--lesson .pp-student-hero {
		display: none;
	}
	.pp-body--student-area .pp-student-hero__inner {
		/* Não usar padding shorthand: apaga o padding horizontal herdado de .pp-wrap */
		padding-top: 1rem;
		padding-bottom: 0.85rem;
		padding-left: max(1.25rem, env(safe-area-inset-left, 0px));
		padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
		text-align: left;
	}
	.pp-body--student-area.pp-student-route--trail .pp-student-hero__sub {
		display: none;
	}
	.pp-body--student-area .pp-student-hero__email,
	.pp-body--student-area .pp-student-hero__actions {
		display: none;
	}
	.pp-body--student-area .pp-student-home__intro {
		padding: 1.15rem 0 0.35rem;
		max-width: none;
	}
	.pp-body--student-area .pp-student-home__intro-lead {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
		font-size: 0.92rem;
		line-height: 1.5;
	}
	.pp-body--student-area .pp-student-route-bar {
		margin-bottom: 0.85rem;
		padding: 0.55rem max(0.75rem, env(safe-area-inset-right, 0px)) 0.55rem max(0.75rem, env(safe-area-inset-left, 0px));
		font-size: 0.75rem;
		box-sizing: border-box;
	}
	.pp-body--student-area .pp-student-app__panel {
		padding-bottom: 1.5rem;
	}
	.pp-body--student-area.pp-student-has-app-nav .pp-student-home {
		padding-bottom: calc(4.35rem + env(safe-area-inset-bottom, 0px));
	}
	.pp-body--student-area.pp-student-has-app-nav .pp-student-bottom-nav {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 92;
		margin: 0;
		padding: 0.35rem 0.5rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
		justify-content: space-around;
		align-items: stretch;
		gap: 0.25rem;
		border-top: 1px solid var(--pp-border);
		background: rgba(10, 12, 16, 0.94);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35);
	}
	.pp-student-bottom-nav__item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		min-height: 48px;
		padding: 0.25rem 0.35rem;
		border: none;
		border-radius: 12px;
		background: transparent;
		color: var(--pp-muted);
		font: inherit;
		font-size: 0.65rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-decoration: none;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.pp-student-bottom-nav__item:focus-visible {
		outline: 2px solid var(--pp-accent);
		outline-offset: 2px;
	}
	.pp-student-bottom-nav__icon {
		font-size: 1.2rem;
		color: #cbd5e1;
		line-height: 1;
	}
	.pp-body--student-area.pp-student-route--trail .pp-student-bottom-nav__item--trail {
		color: var(--pp-accent);
	}
	.pp-body--student-area.pp-student-route--trail .pp-student-bottom-nav__item--trail .pp-student-bottom-nav__icon {
		color: var(--pp-accent);
	}
	.pp-body--student-area.pp-student-has-app-nav .pp-scroll-top {
		bottom: calc(4.85rem + env(safe-area-inset-bottom, 0px));
	}
	.pp-body--student-area .pp-student-toolbar-back-txt {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.pp-body--student-area .pp-student-back-trail,
	.pp-body--student-area .pp-student-back-module {
		min-width: 44px;
		min-height: 44px;
		padding-left: 0.65rem;
		padding-right: 0.65rem;
		justify-content: center;
	}
	.pp-body--student-area .pp-student-module-view__toolbar {
		position: sticky;
		top: var(--pp-header-h);
		z-index: 12;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.4rem 0 0.65rem;
		margin: 0 0 0.35rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(10, 12, 16, 0.92);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
	.pp-body--student-area .pp-student-module-view__toolbar-title {
		display: block;
		flex: 1;
		min-width: 0;
		font-size: 0.88rem;
		font-weight: 700;
		line-height: 1.25;
		color: var(--pp-text);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.pp-body--student-area .pp-student-lesson-stage__sticky-head {
		position: sticky;
		top: var(--pp-header-h);
		z-index: 14;
		margin: 0 0 0.65rem;
		padding: 0 0 0.5rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(10, 12, 16, 0.92);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
	.pp-body--student-area .pp-student-lesson-stage__toolbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.35rem;
		margin-bottom: 0.35rem;
	}
	.pp-body--student-area .pp-student-lesson-stage__lesson-title {
		margin: 0;
		text-align: left;
		font-size: clamp(1rem, 4vw, 1.2rem);
		line-height: 1.3;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}
	.pp-body--student-area .pp-student-lesson-stage__video {
		max-height: none;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		flex-shrink: 0;
		aspect-ratio: 16 / 9;
		height: auto;
	}
	.pp-body--student-area.pp-student-route--lesson .pp-student-lesson-stage:not([hidden]) {
		padding-left: max(1rem, env(safe-area-inset-left, 0px));
		padding-right: max(1rem, env(safe-area-inset-right, 0px));
		box-sizing: border-box;
	}
	.pp-body--student-area .pp-student-lesson-stage__toolbar .pp-student-fs-btn {
		font-size: 1rem;
		flex-shrink: 0;
	}
}

/* ——— Página sucesso PIX (sem header/rodapé global) ——— */
body.pp-body--success-page.pp-body--cart {
	min-height: 100vh;
}
.pp-body--success-page .pp-main {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: clamp(1.5rem, 5vw, 2.75rem);
	padding-bottom: 2.5rem;
}
.pp-success-page {
	width: 100%;
	max-width: 26rem;
	margin: 0 auto;
	padding: 0 0.75rem;
	box-sizing: border-box;
}
.pp-success-card {
	padding: 1.75rem 1.35rem 1.5rem;
	border-radius: 16px;
	border: 1px solid rgba(74, 222, 128, 0.28);
	background: rgba(12, 14, 20, 0.88);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow:
		0 0 0 1px rgba(0, 0, 0, 0.35),
		0 20px 50px rgba(0, 0, 0, 0.45);
	text-align: center;
}
.pp-success-card__preview-banner {
	margin: 0 0 1rem;
	padding: 0.55rem 0.7rem;
	border-radius: 8px;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	color: #fef3c7;
	background: rgba(180, 83, 9, 0.35);
	border: 1px solid rgba(251, 191, 36, 0.45);
}
.pp-success-card__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: rgba(22, 101, 52, 0.45);
	border: 1px solid rgba(74, 222, 128, 0.4);
	color: #4ade80;
	font-size: 1.65rem;
}
.pp-success-card__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.35rem, 4vw, 1.65rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: #f8fafc;
}
.pp-success-card__intro {
	margin: 0 0 1.25rem;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--pp-muted);
	text-align: left;
}
.pp-success-card__intro strong {
	color: rgba(248, 250, 252, 0.95);
	font-weight: 600;
}
.pp-success-card__list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.pp-success-card__list li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: rgba(226, 232, 240, 0.92);
}
.pp-success-card__list .fa-check {
	flex-shrink: 0;
	margin-top: 0.2rem;
	font-size: 0.75rem;
	color: var(--pp-accent);
}
.pp-success-card__callout {
	margin: 0 0 1.35rem;
	padding: 0.75rem 0.85rem;
	border-radius: 10px;
	font-size: 0.82rem;
	line-height: 1.5;
	text-align: left;
	color: #e2e8f0;
	background: rgba(245, 158, 11, 0.12);
	border: 1px solid rgba(245, 158, 11, 0.28);
}
.pp-success-card__callout strong {
	color: #fde68a;
	font-weight: 700;
}
.pp-success-card__callout a {
	color: var(--pp-accent);
	font-weight: 600;
}
.pp-success-card__form {
	margin: 0;
}
.pp-success-card__submit {
	margin: 0;
	font-weight: 800;
}
.pp-success-card__secondary {
	margin: 1.15rem 0 0;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--pp-muted);
}
.pp-success-card__secondary a {
	color: var(--pp-accent);
	font-weight: 600;
}
.pp-success-page__back {
	margin: 1.5rem 0 0;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.pp-success-page__back-link {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--pp-muted);
	text-decoration: none;
}
.pp-success-page__back-link:hover {
	color: var(--pp-accent);
}
@media (max-width: 480px) {
	.pp-success-card {
		padding: 1.35rem 1.1rem 1.25rem;
	}
	.pp-success-card__intro,
	.pp-success-card__list,
	.pp-success-card__callout {
		font-size: 0.86rem;
	}
}

/* ——— Área do aluno: toggle e tema claro (padrão = escuro) ——— */
.pp-student-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 44px;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--pp-border);
	background: var(--pp-surface2);
	color: var(--pp-text);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.pp-student-theme-toggle:hover {
	border-color: rgba(245, 158, 11, 0.35);
	background: rgba(255, 255, 255, 0.08);
}
.pp-student-theme-toggle:focus-visible {
	outline: 2px solid var(--pp-accent);
	outline-offset: 2px;
}
.pp-student-theme-toggle__icon {
	font-size: 1rem;
	line-height: 1;
}
.pp-student-theme-toggle__icon--to-dark {
	display: none;
}
.pp-body--student-area.pp-student-theme-light .pp-student-theme-toggle__icon--to-light {
	display: none;
}
.pp-body--student-area.pp-student-theme-light .pp-student-theme-toggle__icon--to-dark {
	display: inline-block;
}
.pp-student-theme-toggle__text {
	display: none;
}
@media (min-width: 769px) {
	.pp-student-theme-toggle__text {
		display: inline;
	}
}
.pp-student-theme-toggle--drawer {
	width: 100%;
	box-sizing: border-box;
	justify-content: flex-start;
	border-radius: 12px;
	margin-bottom: 0.15rem;
}
.pp-student-theme-toggle__drawer-label {
	flex: 1;
	text-align: left;
	font-weight: 600;
	font-size: 0.95rem;
}

body.pp-body--student-area.pp-student-theme-light {
	--pp-bg: #e8ecf4;
	--pp-surface: #ffffff;
	--pp-surface2: #f1f5f9;
	--pp-border: rgba(15, 23, 42, 0.14);
	--pp-text: #0f172a;
	--pp-muted: #64748b;
	--pp-accent: #b45309;
	--pp-accent-hover: #9a3412;
	--pp-accent-text: #ffffff;
}

/* Topo fixo: permanece escuro no tema claro (contraste com área clara abaixo). */
body.pp-body--student-area.pp-student-theme-light .pp-header {
	background: rgba(10, 12, 16, 0.92);
	border-bottom-color: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
body.pp-body--student-area.pp-student-theme-light.pp-body--hero-top .pp-header {
	background: rgba(10, 12, 16, 0.58);
	border-bottom-color: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-nav__link {
	color: #9aa3b2;
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-nav__link:hover {
	color: #f1f3f7;
	background: rgba(255, 255, 255, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-burger {
	background: rgba(26, 31, 41, 0.95);
	border-color: rgba(255, 255, 255, 0.12);
	color: #f1f3f7;
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-burger:hover {
	border-color: rgba(245, 158, 11, 0.35);
	background: rgba(36, 42, 54, 0.98);
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-student-theme-toggle:not(.pp-student-theme-toggle--drawer) {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.14);
	color: #f1f3f7;
}
body.pp-body--student-area.pp-student-theme-light .pp-header .pp-student-theme-toggle:not(.pp-student-theme-toggle--drawer):hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(251, 191, 36, 0.45);
}
body.pp-body--student-area.pp-student-theme-light .pp-drawer .pp-student-theme-toggle--drawer:hover {
	background: #e2e8f0;
	border-color: rgba(180, 83, 9, 0.35);
	color: var(--pp-text);
}
body.pp-body--student-area.pp-student-theme-light .pp-main .pp-btn--ghost:hover {
	border-color: rgba(15, 23, 42, 0.22);
	background: rgba(15, 23, 42, 0.04);
	color: var(--pp-text);
}

/* Faixa do hero: imagem + degradê escuro e tipografia clara (igual ao modo escuro). */
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__bg {
	background-color: #141821;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__scrim {
	background: linear-gradient(
		180deg,
		rgba(6, 8, 12, 0.25) 0%,
		rgba(10, 12, 16, 0.65) 45%,
		rgba(10, 12, 16, 0.94) 100%
	);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__title {
	color: #f1f3f7;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__sub {
	color: rgba(241, 243, 247, 0.88);
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__kicker {
	color: #fbbf24;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero__email {
	color: #9aa3b2;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero .pp-btn--ghost {
	color: #f8fafc;
	border-color: rgba(255, 255, 255, 0.35);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-hero .pp-btn--ghost:hover {
	border-color: rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

body.pp-body--student-area.pp-student-theme-light .pp-student-route-bar {
	background: #ffffff;
	border-color: var(--pp-border);
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.07);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-route-bar__link:hover {
	color: var(--pp-accent-hover);
}

body.pp-body--student-area.pp-student-theme-light.pp-student-route--module .pp-student-module-view:not([hidden]) {
	border-color: rgba(15, 23, 42, 0.12);
	background: #ffffff;
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.07);
}
body.pp-body--student-area.pp-student-theme-light.pp-student-route--lesson .pp-student-lesson-stage:not([hidden]) {
	border-color: rgba(180, 83, 9, 0.28);
	background: #ffffff;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

body.pp-body--student-area.pp-student-theme-light .pp-student-module {
	background: #ffffff;
	border-color: var(--pp-border);
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module__media {
	border-color: rgba(15, 23, 42, 0.1);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module__note {
	background: rgba(251, 191, 36, 0.15);
	border-color: rgba(180, 83, 9, 0.22);
	color: #78350f;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lessonlist__item {
	background: #f8fafc;
	border-color: rgba(15, 23, 42, 0.1);
	color: #1e293b;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lessonlist__ix {
	background: #e2e8f0;
	color: #475569;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module__downloads,
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson__downloads {
	background: #f1f5f9;
	border-color: rgba(15, 23, 42, 0.1);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson__video-wrap {
	border-color: rgba(15, 23, 42, 0.15);
}

body.pp-body--student-area.pp-student-theme-light .pp-student-continue {
	border-color: rgba(180, 83, 9, 0.35);
	background: linear-gradient(145deg, #fffbeb 0%, #ffffff 50%, #f8fafc 100%);
	box-shadow: 0 10px 36px rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-continue__next-title {
	color: #334155;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-continue__bar {
	background: rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail__split {
	border-top-color: rgba(15, 23, 42, 0.12);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail__split-label {
	color: #475569;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail__split-line {
	background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.15), transparent);
}

body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card {
	background: #ffffff;
	border-color: var(--pp-border);
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card:focus-visible {
	border-color: rgba(180, 83, 9, 0.4);
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.1);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__videos,
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__next {
	color: #475569;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__progress-track {
	background: rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__resume {
	color: #7c2d12;
	background: rgba(251, 191, 36, 0.45);
	border-color: rgba(217, 119, 6, 0.45);
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__resume i {
	color: #9a3412;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__resume:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__resume:focus-visible {
	color: #431407;
	background: rgba(253, 224, 71, 0.55);
	border-color: rgba(180, 83, 9, 0.55);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card--locked:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card--locked:focus-visible {
	border-color: var(--pp-border);
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card__lock {
	background: rgba(248, 250, 252, 0.78);
	color: #0f172a;
	text-shadow: none;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-trail-card--vip {
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07), 0 0 0 1px rgba(14, 165, 233, 0.2);
}

body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__hero {
	border-color: rgba(15, 23, 42, 0.12);
	box-shadow: 0 10px 32px rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__hero-img {
	background: #e2e8f0;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__hero-scrim {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.08) 0%,
		rgba(248, 250, 252, 0.72) 55%,
		rgba(248, 250, 252, 0.96) 100%
	);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__hero .pp-student-module-view__kicker {
	color: #b45309;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__title--hero {
	color: #0f172a;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__hero-badge-inner {
	color: #166534;
	background: rgba(34, 197, 94, 0.15);
	border-color: rgba(22, 163, 74, 0.35);
}

body.pp-body--student-area.pp-student-theme-light .pp-student-filegrid__link {
	background: #f8fafc;
	border-color: var(--pp-border);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-filegrid__link:hover {
	background: #f1f5f9;
	border-color: rgba(180, 83, 9, 0.3);
	color: var(--pp-text);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-stage__done--marked {
	border-color: rgba(22, 163, 74, 0.4);
	background: rgba(220, 252, 231, 0.85);
	color: #14532d;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-stage__done--marked:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-stage__done--marked:focus-visible {
	border-color: rgba(220, 38, 38, 0.45);
	background: rgba(254, 226, 226, 0.9);
	color: #991b1b;
}

@media (max-width: 768px) {
	body.pp-body--student-area.pp-student-theme-light .pp-drawer {
		box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.12);
	}
	body.pp-body--student-area.pp-student-theme-light .pp-student-module-view__toolbar {
		border-bottom-color: rgba(15, 23, 42, 0.1);
		background: rgba(255, 255, 255, 0.96);
	}
	body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-stage__sticky-head {
		border-bottom-color: rgba(15, 23, 42, 0.1);
		background: rgba(255, 255, 255, 0.96);
	}
	body.pp-body--student-area.pp-student-theme-light .pp-student-bottom-nav {
		background: rgba(255, 255, 255, 0.97);
		border-top-color: var(--pp-border);
		box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.08);
	}
	body.pp-body--student-area.pp-student-theme-light .pp-student-bottom-nav__icon {
		color: #64748b;
	}
}

body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	box-shadow: 0 6px 22px rgba(15, 23, 42, 0.08);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card:focus-visible {
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card__media {
	background: linear-gradient(145deg, #e2e8f0 0%, #cbd5e1 100%);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card__meta {
	color: #64748b;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card--complete .pp-student-lesson-sibling-card__meta {
	color: #15803d;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-sibling-card__title {
	color: #0f172a;
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-row {
	background: #f8fafc;
	border-color: var(--pp-border);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-row:hover,
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-row:focus-visible {
	background: #f1f5f9;
	border-color: rgba(180, 83, 9, 0.35);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-lesson-stage__video {
	border-color: rgba(15, 23, 42, 0.12);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-next-countdown__panel {
	background: #ffffff;
	border-color: var(--pp-border);
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
}
body.pp-body--student-area.pp-student-theme-light .pp-student-next-countdown__num {
	color: #b45309;
}
