/* ==========================================================================
 * Naga Store - a conta do cliente
 *
 * O CSS de fabrica do WooCommerce foi desligado nesta tela, entao tudo que
 * aparece aqui esta desenhado neste arquivo: menu, formularios, avisos,
 * pedidos e tabelas. Carrinho e checkout NAO passam por aqui, eles seguem
 * com o CSS original de proposito, porque la o que importa e a compra fechar.
 * ========================================================================== */

body.naga-conta {
	--preto: #0b0b0d;
	--preto-2: #111114;
	--preto-3: #17171b;
	--linha: rgba(255, 255, 255, .08);
	--linha-2: rgba(255, 255, 255, .15);
	--ouro: #c9a227;
	--ouro-claro: #e3c464;
	--texto: #f2f1ef;
	--texto-2: #a7a5a1;
	--texto-3: #8f8d89;  /* era #767471: 4.0:1, reprovava em letra pequena */
	--bom: #4a9d6a;
	--ruim: #b4544a;
	--pad: clamp(18px, 4vw, 56px);
}

/* --------------------------------------------------------------------------
 * O tabuleiro: menu de um lado, conteudo do outro
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-interna-corpo > .woocommerce {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

body.naga-conta .woocommerce-MyAccount-content {
	min-width: 0;

	/* O tema pendura uma moldura arredondada em volta de todo o conteudo,
	 * e sem nenhum respiro por dentro. Como as nossas caixas ja tem
	 * moldura propria, ficavam duas linhas coladas uma na outra e o texto
	 * encostado na borda. Era isso que deixava a tela com cara de torta. */
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

/* --------------------------------------------------------------------------
 * Menu lateral
 * -------------------------------------------------------------------------- */

body.naga-conta .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 14px;
	padding: 10px;
}

body.naga-conta .woocommerce-MyAccount-navigation li {
	/* o tema empilha margem embaixo de cada item alem do gap da lista */
	margin: 0;
}

body.naga-conta .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1.35;

	/* o tema chumba 55px de altura em cada item, o que abria um vao enorme
	 * entre o texto e a borda do botao */
	height: auto;
	padding: 11px 14px;
	border-radius: 10px;
	color: var(--texto-2);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid transparent;
	transition: color .2s, background .2s, border-color .2s;
}

/* o iconezinho do tema vem com entrelinha de 28px e 15px de margem, o que
 * inchava cada item pra 55px de altura e desalinhava o texto do desenho */
body.naga-conta .woocommerce-MyAccount-navigation li a::before {
	line-height: 1;
	font-size: 15px;
	margin: 0;
	flex: 0 0 auto;
}

body.naga-conta .woocommerce-MyAccount-navigation li a:hover {
	color: var(--texto);
	background: var(--preto-3);
}

body.naga-conta .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--texto);
	background: var(--preto-3);
	border-color: var(--linha-2);
}

body.naga-conta .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--naga-comprar a {
	color: #191400;
	background: var(--ouro);
	font-weight: 700;
}

body.naga-conta .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--naga-comprar a:hover {
	background: var(--ouro-claro);
}

body.naga-conta .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--texto-3);
}

/* --------------------------------------------------------------------------
 * Botoes
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-btn,
body.naga-conta .woocommerce-Button,
body.naga-conta .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 12px 22px;
	border-radius: 11px;
	border: 1px solid transparent;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s cubic-bezier(.2, .8, .3, 1), background .2s, border-color .2s, color .2s;
}

body.naga-conta .naga-btn-ouro,
body.naga-conta .woocommerce-Button,
body.naga-conta .button {
	background: var(--ouro);
	color: #191400;
}

body.naga-conta .naga-btn-ouro:hover,
body.naga-conta .woocommerce-Button:hover,
body.naga-conta .button:hover {
	background: var(--ouro-claro);
	transform: translateY(-2px);
}

body.naga-conta .naga-btn-vazio {
	background: transparent;
	border-color: var(--linha-2);
	color: var(--texto);
}

body.naga-conta .naga-btn-vazio:hover {
	border-color: var(--ouro);
	color: var(--ouro-claro);
	transform: translateY(-2px);
}

body.naga-conta .naga-btn:active,
body.naga-conta .button:active {
	transform: translateY(1px) scale(.99);
}

body.naga-conta .naga-btn-largo {
	width: 100%;
	padding: 14px 22px;
}

body.naga-conta .naga-btn:focus-visible,
body.naga-conta .button:focus-visible,
body.naga-conta a:focus-visible,
body.naga-conta input:focus-visible,
body.naga-conta select:focus-visible {
	outline: 2px solid var(--ouro-claro);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Painel: saudacao e cartoes
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-painel-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

body.naga-conta .naga-painel-topo h2 {
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: clamp(22px, 3vw, 30px);
	letter-spacing: -.03em;
	line-height: 1.1;
	margin: 0 0 6px;
	color: var(--texto);
}

body.naga-conta .naga-painel-topo p {
	margin: 0;
	color: var(--texto-2);
	font-size: 14px;
}

body.naga-conta .naga-cartoes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin-bottom: 34px;
}

body.naga-conta .naga-cartao {
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 14px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

body.naga-conta .naga-cartao-rotulo {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--texto-3);
}

body.naga-conta .naga-cartao-num {
	font-family: 'Outfit', system-ui, sans-serif;
	font-variant-numeric: tabular-nums;
	font-size: 34px;
	line-height: 1;
	color: var(--ouro);
}

body.naga-conta .naga-cartao-nick {
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: 20px;
	line-height: 1.2;
	color: var(--texto);
	word-break: break-word;
}

body.naga-conta .naga-cartao-nick.naga-vazio {
	color: var(--texto-3);
	font-style: italic;
}

body.naga-conta .naga-cartao p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--texto-2);
}

body.naga-conta .naga-link-ref {
	display: block;
	width: 100%;
	background: var(--preto);
	border: 1px solid var(--linha);
	border-radius: 8px;
	padding: 9px 11px;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 12px;
	color: var(--ouro-claro);
	overflow-wrap: anywhere;
}

body.naga-conta .naga-cartao .naga-btn {
	margin-top: 4px;
}

/* --------------------------------------------------------------------------
 * Pedidos
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-ultimos h3,
body.naga-conta .woocommerce-MyAccount-content h2,
body.naga-conta .woocommerce-MyAccount-content h3 {
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: 18px;
	letter-spacing: -.02em;
	color: var(--texto);
	margin: 0 0 14px;
}

body.naga-conta .naga-lista-pedidos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.naga-conta .naga-pedido {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 16px;
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 14px;
	padding: 15px 18px;
}

body.naga-conta .naga-pedido-quem {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

body.naga-conta .naga-pedido-num {
	font-weight: 700;
	font-size: 14px;
	color: var(--texto);
}

body.naga-conta .naga-pedido-data {
	font-size: 12.5px;
	color: var(--texto-3);
}

body.naga-conta .naga-pedido-valor {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	font-size: 15px;
	color: var(--texto);
	white-space: nowrap;
}

body.naga-conta .naga-pedido-acoes {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

body.naga-conta .naga-pedido .naga-btn {
	padding: 9px 16px;
	font-size: 13px;
}

body.naga-conta .naga-selo {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--linha-2);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	color: var(--texto-2);
	background: var(--preto-3);
}

body.naga-conta .naga-selo-completed {
	color: #8fd4a8;
	border-color: rgba(74, 157, 106, .45);
	background: rgba(74, 157, 106, .12);
}

body.naga-conta .naga-selo-processing,
body.naga-conta .naga-selo-on-hold,
body.naga-conta .naga-selo-pending {
	color: var(--ouro-claro);
	border-color: rgba(201, 162, 39, .45);
	background: rgba(201, 162, 39, .12);
}

body.naga-conta .naga-selo-cancelled,
body.naga-conta .naga-selo-failed,
body.naga-conta .naga-selo-refunded {
	color: #e2938a;
	border-color: rgba(180, 84, 74, .45);
	background: rgba(180, 84, 74, .12);
}

body.naga-conta .naga-ver-todos {
	display: inline-block;
	margin-top: 14px;
	font-size: 13.5px;
	color: var(--texto-2);
	text-decoration: none;
	border-bottom: 1px solid var(--linha-2);
	padding-bottom: 2px;
}

body.naga-conta .naga-ver-todos:hover {
	color: var(--ouro-claro);
	border-color: var(--ouro);
}

body.naga-conta .naga-nada {
	background: var(--preto-2);
	border: 1px dashed var(--linha-2);
	border-radius: 14px;
	padding: 34px 22px;
	text-align: center;
}

body.naga-conta .naga-nada p {
	margin: 0 0 16px;
	color: var(--texto-2);
}

body.naga-conta .naga-paginas-pedidos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 18px;
}

body.naga-conta .naga-pagina-conta {
	font-size: 13px;
	color: var(--texto-3);
}

/* --------------------------------------------------------------------------
 * Entrada: login e cadastro
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-entrada {
	display: grid;
	gap: 18px;
	max-width: 460px;
	margin: 0 auto;
}

/* A caixa que o tema pendura em volta do login e uma grade, e ela
 * media o conteudo pelo tamanho que ele queria ter, nao pelo
 * tamanho da tela. Resultado: 618px de login dentro de um celular
 * de 390px, com metade do cadastro cortada pra fora. Voltando essa
 * caixa pra bloco, a largura passa a ser a da tela outra vez. */
body.naga-conta .woocommerce.ct-woo-unauthorized {
	display: block;
	min-width: 0;
	max-width: 100%;
}

body.naga-conta .naga-entrada-dupla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	max-width: 940px;
	margin-inline: auto;
}

body.naga-conta .naga-entrada-caixa {
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 16px;
	padding: 26px;
}

body.naga-conta .naga-entrada-caixa h2 {
	margin: 0 0 6px;
	font-size: 22px;
}

body.naga-conta .naga-entrada-linha {
	margin: 0 0 20px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--texto-2);
}

body.naga-conta .naga-entrada-nova {
	background: transparent;
	border-style: dashed;
	border-color: var(--linha-2);
}

body.naga-conta .naga-entrada-pe {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin: 6px 0 18px;
}

body.naga-conta .naga-lembrar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--texto-2);
	cursor: pointer;
	margin: 0;
}

body.naga-conta .naga-lembrar input {
	width: 16px;
	height: 16px;
	accent-color: var(--ouro);
}

body.naga-conta .naga-esqueci {
	font-size: 13px;
	color: var(--texto-2);
	text-decoration: none;
}

body.naga-conta .naga-esqueci:hover {
	color: var(--ouro-claro);
}

body.naga-conta .naga-entrada-aviso {
	font-size: 13px;
	color: var(--texto-3);
	margin: 0 0 16px;
}

/* --------------------------------------------------------------------------
 * Formularios em geral: entrada, dados da conta, endereco, senha
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-campo,
body.naga-conta .woocommerce-form-row,
body.naga-conta .form-row {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0 0 16px;
}

body.naga-conta label {
	font-size: 13px;
	font-weight: 600;
	color: var(--texto-2);
}

body.naga-conta .required {
	color: var(--ouro);
	text-decoration: none;
	border: 0;
}

body.naga-conta input[type="text"],
body.naga-conta input[type="email"],
body.naga-conta input[type="tel"],
body.naga-conta input[type="password"],
body.naga-conta input[type="number"],
body.naga-conta select,
body.naga-conta textarea {
	width: 100%;
	background: var(--preto-3);
	border: 1px solid var(--linha);
	border-radius: 10px;
	padding: 12px 14px;
	color: var(--texto);
	font-family: inherit;
	font-size: 15px;
	transition: border-color .2s, background .2s;
}

body.naga-conta input:focus,
body.naga-conta select:focus,
body.naga-conta textarea:focus {
	border-color: var(--ouro);
	background: var(--preto-2);
	outline: none;
}

body.naga-conta input::placeholder {
	color: var(--texto-3);
}

body.naga-conta fieldset {
	border: 1px solid var(--linha);
	border-radius: 14px;
	padding: 20px;
	margin: 24px 0;
}

body.naga-conta legend {
	padding: 0 8px;
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: 15px;
	color: var(--texto);
}

body.naga-conta .woocommerce-form__label-for-checkbox {
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

body.naga-conta em,
body.naga-conta .woocommerce-MyAccount-content > p {
	color: var(--texto-2);
	font-size: 14px;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
 * Avisos do WooCommerce
 * -------------------------------------------------------------------------- */

body.naga-conta .woocommerce-message,
body.naga-conta .woocommerce-error,
body.naga-conta .woocommerce-info,
body.naga-conta .woocommerce-notice {
	list-style: none;
	margin: 0 0 20px;
	padding: 14px 18px;
	border-radius: 12px;
	border: 1px solid var(--linha-2);
	background: var(--preto-2);
	color: var(--texto);
	font-size: 14px;
	line-height: 1.55;
}

body.naga-conta .woocommerce-message {
	border-color: rgba(74, 157, 106, .45);
	background: rgba(74, 157, 106, .1);
}

body.naga-conta .woocommerce-error {
	border-color: rgba(180, 84, 74, .5);
	background: rgba(180, 84, 74, .1);
}

body.naga-conta .woocommerce-error li,
body.naga-conta .woocommerce-message li {
	list-style: none;
	margin: 0;
}

body.naga-conta .woocommerce-message .button {
	margin-left: 12px;
}

/* --------------------------------------------------------------------------
 * Aviso de confirmar o e-mail
 *
 * O do WooCommerce vinha alinhado a esquerda com o botao dependurado no fim
 * da frase. Aqui ele vira uma caixinha centrada: titulo, explicacao e um
 * botao so, que e a unica coisa que o cliente precisa fazer.
 * -------------------------------------------------------------------------- */

body.naga-conta .naga-verifica {
	margin: 0 0 22px;
	padding: 22px 20px;
	border: 1px solid rgba(201, 162, 39, .35);
	border-radius: 14px;
	background: rgba(201, 162, 39, .07);
	text-align: center;
}

body.naga-conta .naga-verifica h3 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ouro);
}

body.naga-conta .naga-verifica p {
	margin: 0 auto;
	max-width: 52ch;
	color: var(--texto-2);
	font-size: 14px;
	line-height: 1.6;
}

body.naga-conta .naga-verifica p b {
	color: var(--texto);
	word-break: break-word;
}

body.naga-conta .naga-verifica .naga-verifica-obs {
	margin-top: 6px;
	color: var(--texto-3);
	font-size: 13px;
}

body.naga-conta .naga-verifica .naga-btn {
	margin-top: 16px;
}

/* --------------------------------------------------------------------------
 * Tabelas que sobraram do WooCommerce: detalhe do pedido, downloads
 * -------------------------------------------------------------------------- */

body.naga-conta table.shop_table,
body.naga-conta .woocommerce-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 14px;
	overflow: hidden;
	font-size: 14px;
}

body.naga-conta table.shop_table th,
body.naga-conta table.shop_table td {
	padding: 13px 16px;
	text-align: left;
	border-bottom: 1px solid var(--linha);
	color: var(--texto-2);
}

body.naga-conta table.shop_table th {
	color: var(--texto-3);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.naga-conta table.shop_table td a {
	color: var(--texto);
	text-decoration: none;
	border-bottom: 1px solid var(--linha-2);
}

body.naga-conta table.shop_table td a:hover {
	color: var(--ouro-claro);
}

body.naga-conta .woocommerce-customer-details address {
	font-style: normal;
	background: var(--preto-2);
	border: 1px solid var(--linha);
	border-radius: 14px;
	padding: 18px;
	color: var(--texto-2);
	line-height: 1.7;
	font-size: 14px;
}

/* --------------------------------------------------------------------------
 * Telas pequenas
 * -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	body.naga-conta .naga-interna-corpo > .woocommerce {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	/* No celular o menu virava uma fita que so andava pro lado, sem nada
	 * avisando disso, entao metade dos itens ficava escondida fora da tela.
	 * Agora ele quebra em linhas e aparece inteiro de uma vez. */
	body.naga-conta .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
		padding: 8px;
	}

	body.naga-conta .woocommerce-MyAccount-navigation li {
		flex: 0 1 auto;
	}

	/* Comprar pontos e o botao principal: fica sozinho na primeira linha */
	body.naga-conta .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--naga-comprar {
		flex: 1 0 100%;
	}

	body.naga-conta .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--naga-comprar a {
		justify-content: center;
	}

	body.naga-conta .woocommerce-MyAccount-navigation li a {
		white-space: nowrap;
		padding: 10px 14px;
	}

	body.naga-conta .naga-pedido {
		grid-template-columns: 1fr auto;
		gap: 10px 14px;
	}

	body.naga-conta .naga-pedido-quem {
		grid-column: 1 / -1;
	}

	body.naga-conta .naga-pedido-acoes {
		grid-column: 1 / -1;
	}

	body.naga-conta .naga-pedido .naga-btn {
		flex: 1 1 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.naga-conta .naga-btn,
	body.naga-conta .button {
		transition: none;
	}

	body.naga-conta .naga-btn:hover,
	body.naga-conta .button:hover {
		transform: none;
	}
}
