/*
 * Membership Framework (/membership-framework) — leitura longa.
 *
 * Carregado DEPOIS do member.css: o cabeçalho, o container e a tabela são os
 * mesmos da área do associado. Aqui só entra o que é próprio de um documento
 * normativo: sumário lateral fixo, medida de leitura confortável e tabelas
 * densas que precisam rolar sozinhas no celular sem empurrar a página.
 *
 * Tudo escopado em .brc-app (regra do Design System §0).
 */

/* ===== Cabeçalho do documento ===== */
.brc-app .brc-fw__main { max-width: 1180px; }

.brc-app .brc-fw__head {
	border-bottom: 1px solid var( --brc-line );
	padding-bottom: 28px;
	margin-bottom: 8px;
}
.brc-app .brc-fw__eyebrow {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --brc-blue );
}
.brc-app .brc-fw__title { margin-top: 6px; text-wrap: balance; }
.brc-app .brc-fw__lead {
	margin: 12px 0 0;
	max-width: 68ch;
	font-size: 18px;
	line-height: 28px;
	color: var( --brc-muted );
}

/* ===== Layout: sumário + documento ===== */
.brc-app .brc-fw__layout {
	display: grid;
	grid-template-columns: 260px minmax( 0, 1fr );
	gap: 48px;
	align-items: start;
	margin-top: 32px;
}

.brc-app .brc-fw__toc {
	position: sticky;
	top: 24px;
	max-height: calc( 100vh - 48px );
	overflow-y: auto;
	padding-right: 8px;
}
.brc-app .brc-fw__toctitle {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --brc-gray );
}
.brc-app .brc-fw__toclist {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var( --brc-line );
}
.brc-app .brc-fw__toclist a {
	display: flex;
	gap: 10px;
	padding: 8px 0 8px 14px;
	margin-left: -2px;
	border-left: 2px solid transparent;
	font-size: 14px;
	line-height: 20px;
	color: var( --brc-muted );
	text-decoration: none;
}
.brc-app .brc-fw__toclist a {
	transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.brc-app .brc-fw__toclist a:hover {
	color: var( --brc-navy );
	border-left-color: var( --brc-blue );
	background: rgba( 0, 174, 239, 0.06 );
}
/* Seção que o leitor está vendo (framework.js). O traço azul sobre a trilha
   cinza da lista é o que marca a posição; cor e peso confirmam. */
.brc-app .brc-fw__toclist a.is-current {
	color: var( --brc-navy );
	font-weight: 600;
	border-left-color: var( --brc-blue );
	background: rgba( 0, 174, 239, 0.08 );
}
.brc-app .brc-fw__toclist a.is-current .brc-fw__tocnum { color: var( --brc-blue ); }
.brc-app .brc-fw__tocnum {
	flex: none;
	min-width: 16px;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var( --brc-gray );
}

/* ===== Corpo do documento ===== */
.brc-app .brc-fw__doc { min-width: 0; }

.brc-app .brc-fw__section {
	/* Compensa o cabeçalho ao pular por âncora do sumário. */
	scroll-margin-top: 24px;
	padding-bottom: 8px;
}
.brc-app .brc-fw__section + .brc-fw__section {
	margin-top: 44px;
	padding-top: 44px;
	border-top: 1px solid var( --brc-line );
}

.brc-app .brc-fw__h2 {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 16px;
	font-family: var( --brc-font-title );
	font-size: 28px;
	font-weight: 600;
	line-height: 36px;
	color: var( --brc-navy );
	text-wrap: balance;
}
.brc-app .brc-fw__num {
	flex: none;
	font-family: var( --brc-font );
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: var( --brc-blue );
	font-variant-numeric: tabular-nums;
}
.brc-app .brc-fw__h3 {
	margin: 28px 0 8px;
	font-size: 17px;
	font-weight: 700;
	line-height: 26px;
	color: var( --brc-navy );
}
.brc-app .brc-fw__doc p {
	max-width: 74ch;
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 27px;
	color: var( --brc-ink );
}
.brc-app .brc-fw__doc ul {
	max-width: 74ch;
	margin: 0 0 14px;
	padding-left: 22px;
	color: var( --brc-ink );
}
.brc-app .brc-fw__doc li {
	margin-bottom: 8px;
	font-size: 16px;
	line-height: 27px;
}
.brc-app .brc-fw__doc strong { color: var( --brc-navy ); }

.brc-app .brc-fw__quote {
	border-left: 3px solid var( --brc-yellow );
	padding: 4px 0 4px 18px;
	font-style: italic;
	color: var( --brc-muted ) !important;
}

/* ===== Tabelas do documento ===== */
.brc-app .brc-fw__tablewrap {
	margin: 18px 0 22px;
	border: 1px solid var( --brc-line );
	border-radius: var( --brc-radius-sm, 10px );
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.brc-app .brc-fw__tablewrap .brc-table { min-width: 560px; }
.brc-app .brc-fw__tablewrap .brc-table th,
.brc-app .brc-fw__tablewrap .brc-table td { padding: 12px 16px; }
.brc-app .brc-fw__tablewrap .brc-table td {
	font-size: 14px;
	line-height: 21px;
	vertical-align: top;
}
.brc-app .brc-fw__tablewrap .brc-table tbody tr:nth-child( even ) { background: rgba( 244, 244, 244, 0.5 ); }
/* Nome oficial da categoria (sempre em inglês) ao lado do nome traduzido:
   é ele que aparece na tabela de valores, no cadastro e no diretório. */
.brc-app .brc-fw__en {
	display: block;
	font-weight: 400;
	color: var( --brc-gray );
}

/* ===== Fechamento ===== */
.brc-app .brc-fw__doclist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}
.brc-app .brc-fw__copy {
	margin-top: 44px;
	padding-top: 20px;
	border-top: 1px solid var( --brc-line );
	font-size: 13px !important;
	line-height: 20px !important;
	color: var( --brc-gray ) !important;
}
.brc-app .brc-fw__end {
	margin-top: 12px;
	padding: 24px 26px;
	border-radius: var( --brc-radius, 20px );
	background: var( --brc-navy );
}
.brc-app .brc-fw__endtitle {
	margin: 0 0 6px;
	font-family: var( --brc-font-title );
	font-size: 22px;
	font-weight: 600;
	line-height: 30px;
	color: #fff;
}
.brc-app .brc-fw__end p {
	max-width: 62ch;
	color: rgba( 255, 255, 255, 0.82 ) !important;
}
.brc-app .brc-fw__end .brc-btn { margin-top: 6px; }

/* ===== Chamada embutida no /join =====
   Sem caixa: o bloco já vive DENTRO do card do formulário, e o Design System
   proíbe aninhar cards. Aqui é só texto de apoio + a ação secundária. */
.brc-app .brc-fwcta {
	margin: 0 0 24px;
}
.brc-app .brc-fwcta__text {
	margin: 0 0 12px;
	max-width: 62ch;
	font-size: 14px;
	line-height: 21px;
	color: var( --brc-muted );
}
.brc-app .brc-fwcta__btn {
	gap: 10px;
	font-size: 15px;
	line-height: 22px;
	padding: 13px 22px;
}

/* ===== Responsivo ===== */
@media ( max-width: 1024px ) {
	.brc-app .brc-fw__layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.brc-app .brc-fw__toc {
		position: static;
		max-height: none;
		padding: 16px 18px;
		border: 1px solid var( --brc-line );
		border-radius: var( --brc-radius-sm, 10px );
		background: var( --brc-surface, #f4f4f4 );
	}
	.brc-app .brc-fw__toclist {
		columns: 2;
		column-gap: 24px;
		border-left: 0;
	}
	.brc-app .brc-fw__toclist a { border-left: 0; padding-left: 0; margin-left: 0; }
	.brc-app .brc-fw__toclist a:hover,
	.brc-app .brc-fw__toclist a.is-current { background: none; }
}

@media ( max-width: 640px ) {
	.brc-app .brc-fw__lead { font-size: 16px; line-height: 26px; }
	.brc-app .brc-fw__h2 { font-size: 24px; line-height: 32px; }
	.brc-app .brc-fw__toclist { columns: 1; }
	.brc-app .brc-fw__section + .brc-fw__section { margin-top: 32px; padding-top: 32px; }
	/* Rotulo de oito palavras numa coluna estreita: sem isto a pilula vira um bloco de quatro linhas. */
	.brc-app .brc-fwcta__btn { font-size: 14px; line-height: 20px; padding: 12px 18px; }
}
