#pp-checkout-equipe.pp-eq {
	--ink: #000000;
	--ink-2: #131313;
	--paper: #ECD9B8;
	--paper-dim: #b9ac93;
	--line: #3a2f2b;
	--line-soft: #201f1f;
	--brand: #E10098;
	--brand-dark: #641441;
	--gold: #F4B23A;
	--sky: #00A9B8;
	--alert: #EF3D52;
	--display: 'Anton', 'Arial Narrow', sans-serif;
	--tech: 'Rajdhani', 'Segoe UI', sans-serif;
	--body: 'Karla', 'Segoe UI', sans-serif;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--body);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 48px 40px 80px;
	border-radius: 0;
}

@media (max-width: 860px) {
	#pp-checkout-equipe.pp-eq {
		padding: 32px 20px 64px;
	}
}

#pp-checkout-equipe.pp-eq * ,
#pp-checkout-equipe.pp-eq *::before,
#pp-checkout-equipe.pp-eq *::after {
	box-sizing: border-box;
}

.pp-eq-header {
	margin-bottom: 32px;
}

.pp-eq-eyebrow {
	font-family: var(--tech);
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-size: 12.5px;
	color: var(--sky);
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
}

.pp-eq-eyebrow::before {
	content: '';
	width: 24px;
	height: 2px;
	background: var(--sky);
}

.pp-eq-header h1 {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(28px, 4.5vw, 44px);
	line-height: 1.05;
	letter-spacing: 0.5px;
	margin: 0 0 14px;
	background: linear-gradient(100deg, var(--paper) 40%, var(--gold) 65%, var(--paper) 85%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.pp-eq-lede {
	color: var(--paper-dim);
	font-size: 15.5px;
	max-width: 62ch;
	margin: 0 0 20px;
}

.pp-eq-faixas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.pp-eq-faixas-label {
	font-family: var(--tech);
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--paper-dim);
}

.pp-eq-faixa-chip {
	font-family: var(--tech);
	font-weight: 600;
	font-size: 13px;
	border: 1px solid var(--gold);
	color: var(--gold);
	padding: 6px 12px;
	border-radius: 999px;
}

.pp-eq-faixa-chip b {
	font-weight: 700;
}

.pp-eq-card {
	background: var(--ink-2);
	border: 1px solid var(--line-soft);
	border-radius: 6px;
	padding: 26px;
	margin-bottom: 20px;
}

.pp-eq-card-title {
	font-family: var(--tech);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 15px;
	color: var(--paper);
	margin: 0 0 18px;
}

.pp-eq-card-head-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.pp-eq-card-head-row .pp-eq-card-title {
	margin: 0;
}

.pp-eq-lider-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.pp-eq-field {
	display: block;
	font-family: var(--tech);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--paper-dim);
}

.pp-eq-field em {
	font-style: normal;
	text-transform: none;
	color: var(--paper-dim);
	opacity: 0.7;
}

.pp-eq-field input {
	display: block;
	width: 100%;
	margin-top: 8px;
	background: var(--ink);
	border: 1px solid var(--line);
	color: var(--paper);
	font-family: var(--body);
	font-size: 15px;
	padding: 11px 13px;
	border-radius: 4px;
}

.pp-eq-field input:focus {
	outline: none;
	border-color: var(--sky);
}

.pp-eq-table-scroll {
	overflow-x: auto;
	border: 1px solid var(--line-soft);
	border-radius: 4px;
}

.pp-eq-table {
	width: 100%;
	border-collapse: collapse;
}

.pp-eq-table th,
.pp-eq-table td {
	padding: 10px;
	text-align: left;
	border-bottom: 1px solid var(--line-soft);
}

.pp-eq-table th {
	font-family: var(--tech);
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--paper-dim);
	background: var(--ink);
	white-space: nowrap;
}

.pp-eq-table tbody tr:last-child td {
	border-bottom: none;
}

.pp-eq-table input,
.pp-eq-table select {
	width: 100%;
	min-width: 130px;
	background: var(--ink);
	border: 1px solid var(--line);
	color: var(--paper);
	font-family: var(--body);
	font-size: 14px;
	padding: 8px 10px;
	border-radius: 4px;
}

.pp-eq-table input:focus,
.pp-eq-table select:focus {
	outline: none;
	border-color: var(--sky);
}

.pp-eq-table .pp-eq-remover {
	background: transparent;
	border: none;
	color: var(--alert);
	font-family: var(--tech);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	white-space: nowrap;
}

.pp-eq-table .pp-eq-remover:hover {
	text-decoration: underline;
}

.pp-eq-btn {
	font-family: var(--tech);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 14px;
	padding: 13px 24px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pp-eq-btn-primary {
	background: linear-gradient(100deg, var(--brand), var(--brand-dark));
	color: #fff;
	width: 100%;
	justify-content: center;
	margin-top: 18px;
}

.pp-eq-btn-primary:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.pp-eq-btn-ghost {
	background: transparent;
	border: 1px solid var(--line);
	color: var(--paper);
	padding: 9px 16px;
	font-size: 12.5px;
}

.pp-eq-btn-ghost:hover {
	border-color: var(--sky);
	color: var(--sky);
}

.pp-eq-erros {
	background: rgba(239, 61, 82, 0.1);
	border: 1px solid var(--alert);
	color: #ffb3bd;
	padding: 14px 18px;
	margin: 0 0 20px;
	border-radius: 4px;
	font-size: 14px;
}

.pp-eq-erros ul {
	margin: 0;
	padding-left: 18px;
}

.pp-eq-summary {
	background: var(--ink-2);
	border: 1px solid var(--gold);
	border-radius: 6px;
	padding: 24px 26px;
	position: sticky;
	bottom: 16px;
}

.pp-eq-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 14.5px;
	color: var(--paper-dim);
	padding: 6px 0;
}

.pp-eq-summary-row strong {
	color: var(--paper);
	font-family: var(--body);
	font-weight: 700;
}

.pp-eq-desconto {
	color: var(--sky) !important;
}

.pp-eq-summary-total {
	border-top: 1px dashed var(--line);
	margin-top: 6px;
	padding-top: 14px;
	font-size: 17px;
}

.pp-eq-summary-total strong {
	font-family: var(--mono, monospace);
	font-size: 26px;
	color: var(--gold);
	font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
	#pp-checkout-equipe.pp-eq {
		padding: 24px 14px 48px;
	}

	.pp-eq-lider-grid {
		grid-template-columns: 1fr;
	}

	.pp-eq-card-head-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Celular deitado: largura passa dos 640px (ex: 667-926px em vários
   aparelhos), entao a regra de largura acima nao pega — mas a altura fica
   bem curta, e e ela que aperta a tela junto com a sessao flutuante. Pega a
   mesma compactacao da sessao flutuante por altura em vez de largura. */
@media (max-width: 640px), (orientation: landscape) and (max-height: 500px) {
	/* Sessao flutuante mais enxuta no celular: some com "valor por atleta" e
	   "atletas" (informacao que cabe na tabela acima), deixando so o desconto
	   (destaque, perto do botao) e o total antes do botao de pagamento. */
	.pp-eq-summary {
		padding: 14px 16px;
		bottom: 0;
		border-radius: 0;
		border-left: none;
		border-right: none;
	}

	.pp-eq-summary-detail {
		display: none;
	}

	.pp-eq-summary-desconto-row {
		padding: 0 0 2px;
		font-size: 12px;
	}

	.pp-eq-summary-total {
		border-top: none;
		margin-top: 0;
		padding-top: 0;
		font-size: 13px;
	}

	.pp-eq-summary-total strong {
		font-size: 19px;
	}

	.pp-eq-btn-primary {
		margin-top: 10px;
		padding: 12px 20px;
		font-size: 13px;
	}
}
