.tickety-wrapper {
	max-width: 480px;
	margin: 0 auto;
	font-family: 'Nunito', -apple-system, sans-serif;
	background: #ffffff;
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

.tickety-titulo {
	margin: 0 0 8px;
	font-size: 21px;
	font-weight: 800;
	color: #1a1a1a;
}

.tickety-valor {
	margin: 0 0 20px;
	color: #444;
}

.tk-linha {
	display: flex;
	gap: 12px;
}

.tk-linha .tk-campo {
	flex: 1;
	min-width: 0;
}

.tk-campo {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
}

.tk-campo label {
	font-size: 13px;
	font-weight: 700;
	color: #333;
	margin-bottom: 6px;
}

.tk-campo input,
.tk-campo select {
	padding: 11px 12px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
	font-size: 15px;
	font-family: inherit;
}

.tk-campo input:focus,
.tk-campo select:focus {
	outline: none;
	border-color: #0a9e39;
}

.tk-botao {
	width: 100%;
	padding: 10px 14px;
	background: #0a9e39;
	color: #fff;
	border: none;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	margin-top: 8px;
}

.tk-botao:hover { background: #0878b9; }
.tk-botao:disabled { opacity: 0.6; cursor: not-allowed; }

.tk-botao-secundario {
	padding: 11px 16px;
	background: #1e9e3a;
	color: #fff;
	border: none;
	border-radius: 10px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
}

.tk-cupom-linha {
	display: flex;
	gap: 8px;
}

.tk-cupom-linha input {
	flex: 1;
	padding: 11px 12px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
	font-size: 15px;
	min-width: 0;
}

.tk-cupom-mensagem {
	font-size: 13px;
	font-weight: 700;
	margin: 6px 0 0;
	min-height: 16px;
}

.tk-cupom-sucesso { color: #1e9e3a; }
.tk-cupom-erro { color: #c0392b; }

.tk-formas-pagamento {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.tk-forma-opcao {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.tk-erro {
	color: #c0392b;
	font-size: 14px;
	font-weight: 700;
	margin: 4px 0 12px;
}

.tk-qrcode {
	text-align: center;
	margin: 20px 0;
}

.tk-qrcode img {
	width: 220px;
	height: 220px;
	border: 1px solid #eee;
	border-radius: 8px;
}

.tk-copiacola {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
}

.tk-copiacola input {
	flex: 1;
	padding: 11px 12px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
	font-size: 13px;
	min-width: 0;
}

.tk-aguardando {
	text-align: center;
	color: #666;
	font-size: 14px;
}

.tk-aguardando::after {
	content: '';
}

/* --- Área de conta do atleta --- */

.tickety-conta-wrapper {
	max-width: 640px;
}

.tickety-conta-abas {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.tk-aba-botao {
	background: none;
	border: none;
	padding: 10px 4px;
	margin-right: 16px;
	font-size: 15px;
	font-weight: 700;
	color: #888;
	cursor: pointer;
	border-bottom: 2px solid transparent;
}

.tk-aba-ativa {
	color: #e8460a;
	border-bottom-color: #e8460a;
}

.tk-conta-esqueci {
	text-align: center;
	margin-top: 12px;
}

.tk-conta-esqueci a {
	color: #666;
	font-size: 13px;
}

.tk-conta-cabecalho {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.tk-conta-subtitulo {
	color: #666;
	font-size: 14px;
	margin: 4px 0 0;
}

.tk-conta-secao-titulo {
	margin: 32px 0 12px;
	font-size: 14px;
	font-weight: 800;
}

.tk-conta-lista-eventos {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tk-conta-evento-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 16px;
	border: 1px solid #eee;
	border-radius: 12px;
}

.tk-conta-evento-data {
	color: #888;
	font-size: 13px;
}

.tk-para-quem {
	display: flex;
	gap: 16px;
	margin-bottom: 4px;
}

.tk-conta-banner {
	background: #f6f6f6;
	border-radius: 10px;
	padding: 10px 14px;
	font-size: 13px;
	color: #555;
	margin-bottom: 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.tk-conta-banner a {
	color: #e8460a;
	font-weight: 700;
}
