/* =====================================================================
   LiveWin Cartas — Estilos de front-end
   Visual premium, cartas 3D com flip via perspective + rotateY.
   ===================================================================== */

.livewin-container {
	--livewin-bg: #0f1224;
	--livewin-bg-card: #171b34;
	--livewin-primaria: #7c5cff;
	--livewin-primaria-clara: #a78bfa;
	--livewin-sucesso: #22c55e;
	--livewin-erro: #f87171;
	--livewin-aviso: #fbbf24;
	--livewin-texto: #f5f5fb;
	--livewin-texto-suave: #b7bad1;
	--livewin-borda: rgba(255, 255, 255, 0.08);

	max-width: 760px;
	margin: 0 auto;
	padding: 40px 24px;
	background: radial-gradient(circle at top, #1c2044 0%, var(--livewin-bg) 65%);
	border-radius: 24px;
	color: var(--livewin-texto);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
	box-sizing: border-box;
}

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

.livewin-cabecalho {
	text-align: center;
	margin-bottom: 28px;
}

.livewin-titulo {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	background: linear-gradient(90deg, var(--livewin-primaria-clara), #fff);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.livewin-subtitulo {
	margin: 0;
	color: var(--livewin-texto-suave);
	font-size: 15px;
}

/* -------------------- Tela de login (CPF) -------------------- */

.livewin-card-auth {
	max-width: 380px;
	margin: 0 auto;
	text-align: center;
	background: var(--livewin-bg-card);
	border: 1px solid var(--livewin-borda);
	border-radius: 18px;
	padding: 32px 28px;
}

.livewin-form-login {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.livewin-input {
	width: 100%;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid var(--livewin-borda);
	background: rgba(255, 255, 255, 0.04);
	color: var(--livewin-texto);
	font-size: 16px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.livewin-input:focus {
	border-color: var(--livewin-primaria);
	box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.25);
}

.livewin-botao {
	appearance: none;
	border: none;
	cursor: pointer;
	padding: 14px 20px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.livewin-botao:active {
	transform: scale(0.98);
}

.livewin-botao-primario {
	background: linear-gradient(135deg, var(--livewin-primaria), #5b3df0);
	color: #fff;
	box-shadow: 0 10px 24px rgba(124, 92, 255, 0.35);
}

.livewin-botao-primario:hover {
	box-shadow: 0 14px 30px rgba(124, 92, 255, 0.45);
}

.livewin-botao:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* -------------------- Grid de cartas (3x3 -> 3 em cima, 3 embaixo) -------------------- */

.livewin-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 8px auto 28px;
}

.livewin-carta {
	aspect-ratio: 3 / 4;
	perspective: 1200px;
	cursor: pointer;
}

.livewin-carta-desabilitada {
	cursor: not-allowed;
	opacity: 0.45;
	pointer-events: none;
}

.livewin-carta-inner {
	position: relative;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
	border-radius: 16px;
}

.livewin-carta.livewin-carta-virada .livewin-carta-inner {
	transform: rotateY(180deg);
}

.livewin-carta-frente,
.livewin-carta-verso {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	backface-visibility: hidden;
	border-radius: 16px;
	padding: 12px;
	text-align: center;
}

.livewin-carta-frente {
	background: linear-gradient(145deg, #262c54, #1a1d3a);
	border: 1px solid var(--livewin-borda);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.livewin-carta-interrogacao {
	font-size: 42px;
	font-weight: 800;
	color: var(--livewin-primaria-clara);
	text-shadow: 0 0 18px rgba(167, 139, 250, 0.55);
}

.livewin-carta-verso {
	transform: rotateY(180deg);
	background: linear-gradient(145deg, #ffd76b, #f5a623);
	color: #2a1a00;
	box-shadow: 0 12px 28px rgba(245, 166, 35, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.livewin-carta-premio-texto {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

/* Estado de carregamento na carta clicada */
.livewin-carta-carregando .livewin-carta-frente {
	animation: livewin-pulsar 0.9s ease-in-out infinite;
}

.livewin-carta-carregando .livewin-carta-interrogacao {
	opacity: 0.5;
}

@keyframes livewin-pulsar {
	0%, 100% { box-shadow: 0 10px 24px rgba(124, 92, 255, 0.2); }
	50% { box-shadow: 0 10px 32px rgba(124, 92, 255, 0.6); }
}

/* Destaque da carta escolhida vs. opacidade reduzida nas demais reveladas */
.livewin-carta-escolhida .livewin-carta-verso {
	background: linear-gradient(145deg, #34d399, #059669);
	color: #08210f;
	box-shadow: 0 0 0 3px var(--livewin-sucesso), 0 14px 30px rgba(5, 150, 105, 0.5);
}

.livewin-carta-nao-escolhida {
	opacity: 0.55;
	transform: scale(0.97);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

/* -------------------- Mensagens e resultado -------------------- */

.livewin-mensagem {
	text-align: center;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 14px;
	margin: 0 0 20px;
}

.livewin-mensagem-erro {
	background: rgba(248, 113, 113, 0.12);
	color: var(--livewin-erro);
	border: 1px solid rgba(248, 113, 113, 0.3);
}

.livewin-mensagem-aviso {
	background: rgba(251, 191, 36, 0.12);
	color: var(--livewin-aviso);
	border: 1px solid rgba(251, 191, 36, 0.3);
}

.livewin-resultado {
	text-align: center;
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(34, 197, 94, 0.12);
	border: 1px solid rgba(34, 197, 94, 0.35);
	color: var(--livewin-sucesso);
	font-size: 16px;
	font-weight: 700;
}

/* -------------------- Responsivo -------------------- */

@media (max-width: 560px) {
	.livewin-container {
		padding: 28px 16px;
		border-radius: 18px;
	}

	.livewin-titulo {
		font-size: 22px;
	}

	.livewin-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.livewin-carta-interrogacao {
		font-size: 34px;
	}
}
