/*
 * Área do Sócio. Usa a paleta global do Kadence (--global-paletteN), com valores
 * de reserva iguais aos do tema filho.
 */

.abctp-socios {
	--abctp-verde: var(--global-palette1, #3a7a30);
	--abctp-verde-escuro: var(--global-palette2, #1f4d1c);
	--abctp-titulo: var(--global-palette3, #1a2b1a);
	--abctp-texto-suave: var(--global-palette6, #5f6b5f);
	--abctp-borda: var(--global-palette7, #dfeedd);
	--abctp-fundo: var(--global-palette8, #f3f8f1);
	--abctp-erro: #b82105;
	--abctp-raio: 8px;
}

/* Navegação (seletor reforçado: o tema recua listas dentro do conteúdo) */
.abctp-socios .abctp-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	margin: 0 0 2rem;
	padding: 0 0 0.75rem;
	list-style: none;
	border-bottom: 1px solid var(--abctp-borda);
}

.abctp-socios .abctp-nav li {
	margin: 0;
}
.abctp-nav a {
	text-decoration: none;
	font-weight: 600;
	color: var(--abctp-texto-suave);
}
.abctp-nav a:hover,
.abctp-nav a[aria-current="page"] {
	color: var(--abctp-verde);
}
.abctp-nav a[aria-current="page"] {
	text-decoration: underline;
	text-underline-offset: 0.4em;
	text-decoration-thickness: 2px;
}
.abctp-socios .abctp-nav .abctp-nav__sair {
	margin-left: auto;
}

/* Cartões */
.abctp-cartoes,
.abctp-login {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
/* Cartões: conteúdo empilhado com espaçamento uniforme; a ação (link/botão) fica no pé,
   alinhada entre cartões vizinhos. */
.abctp-cartao {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.25rem 1.5rem 1.5rem;
	border: 1px solid var(--abctp-borda);
	border-radius: var(--abctp-raio);
	background: #fff;
}
/* Seletor reforçado: o tema dá margem aos parágrafos do conteúdo. */
.abctp-socios .abctp-cartao > * {
	margin: 0;
}
.abctp-socios .abctp-cartao > .abctp-cartao__acao {
	margin-top: auto;
	padding-top: 0.5rem;
}
.abctp-cartao--destaque {
	background: var(--abctp-fundo);
}
.abctp-cartao h2,
.abctp-cartao h3 {
	margin: 0;
	font-size: 1.25rem;
}
.abctp-saudacao {
	margin-top: 0;
}

/* Formulários */
.abctp-grupo {
	margin: 0 0 1.5rem;
	padding: 1.25rem 1.5rem 0.5rem;
	border: 1px solid var(--abctp-borda);
	border-radius: var(--abctp-raio);
}
.abctp-grupo legend {
	padding: 0 0.5rem;
	font-weight: 700;
	color: var(--abctp-titulo);
}
.abctp-grade {
	display: grid;
	gap: 0 1rem;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.abctp-campo--largo {
	grid-column: span 2;
}
.abctp-campo--inteiro {
	grid-column: 1 / -1;
}
.abctp-campo {
	margin: 0 0 1rem;
}
.abctp-campo label,
.abctp-socios .login-username label,
.abctp-socios .login-password label {
	display: block;
	margin-bottom: 0.25rem;
	font-weight: 600;
}
.abctp-campo input,
.abctp-campo select,
.abctp-socios .login-username input,
.abctp-socios .login-password input {
	width: 100%;
}
.abctp-campo input[readonly] {
	background: var(--abctp-fundo);
	color: var(--abctp-texto-suave);
}
.abctp-campo--erro input,
.abctp-campo--erro select {
	border-color: var(--abctp-erro);
}
.abctp-erro,
.abctp-ajuda,
.abctp-detalhe {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.875em;
}
.abctp-erro {
	color: var(--abctp-erro);
	font-weight: 600;
}
.abctp-ajuda,
.abctp-detalhe {
	color: var(--abctp-texto-suave);
}
.abctp-acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}

/* Avisos */
.abctp-alerta,
.abctp-aviso {
	margin: 0 0 1.5rem;
	padding: 0.875rem 1.25rem;
	border-radius: var(--abctp-raio);
	border-left: 4px solid var(--abctp-verde);
	background: var(--abctp-fundo);
}
.abctp-alerta--erro {
	border-left-color: var(--abctp-erro);
	background: #fdf0ed;
}

/* Tabelas */
.abctp-tabela-rolagem {
	margin-bottom: 2rem;
	overflow-x: auto;
}
.abctp-tabela {
	width: 100%;
	border-collapse: collapse;
}
.abctp-tabela th,
.abctp-tabela td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--abctp-borda);
	text-align: left;
	vertical-align: top;
}
.abctp-tabela thead th {
	background: var(--abctp-fundo);
	font-size: 0.875em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.abctp-tabela .abctp-num {
	text-align: right;
	white-space: nowrap;
}

/* Selos de situação */
.abctp-selo {
	display: inline-block;
	padding: 0.125rem 0.625rem;
	border-radius: 999px;
	font-size: 0.875em;
	font-weight: 700;
	white-space: nowrap;
}
.abctp-selo--paga {
	background: #dcefd9;
	color: #1f4d1c;
}
.abctp-selo--pendente {
	background: #fdecc8;
	color: #6b4400;
}
.abctp-selo--aguardando {
	background: #dbe8f8;
	color: #0d4687;
}
.abctp-selo--cancelada {
	background: #ececec;
	color: #4a4a4a;
}

/* Celular: tabela vira lista de cartões */
@media (max-width: 640px) {
	.abctp-campo--largo {
		grid-column: 1 / -1;
	}
	.abctp-socios .abctp-nav .abctp-nav__sair {
		margin-left: 0;
	}
	.abctp-tabela thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
	.abctp-tabela tr {
		display: block;
		padding: 0.5rem 0;
		border-bottom: 1px solid var(--abctp-borda);
	}
	/* Rótulo à esquerda; valor (e detalhe, como a data) empilhados à direita. */
	.abctp-tabela td {
		display: grid;
		grid-template-columns: max-content 1fr;
		justify-items: end;
		align-items: center;
		column-gap: 1rem;
		padding: 0.25rem 0;
		border: 0;
		text-align: right;
	}
	.abctp-tabela td::before {
		content: attr(data-rotulo);
		grid-row: span 2;
		justify-self: start;
		font-weight: 600;
		text-align: left;
	}
	.abctp-tabela td > * {
		grid-column: 2;
	}
	.abctp-tabela td .abctp-detalhe {
		margin-top: 0.125rem;
	}
	.abctp-tabela td.abctp-acao:empty,
	.abctp-tabela td.abctp-acao:not(:has(*)) {
		display: none;
	}
	.abctp-tabela td.abctp-acao {
		display: block;
		padding-top: 0.5rem;
	}
	.abctp-tabela td.abctp-acao .abctp-botao {
		width: 100%;
	}
	.abctp-tabela .abctp-num {
		text-align: right;
	}
}
