/* KEBIKE — Layout das paginas legais (DESIGN-SPEC.md secao 12). Bloco V2,
   24/08/2026. So LAYOUT — nenhuma palavra do texto juridico e tocada; o
   indice lateral e gerado em tempo de renderizacao a partir dos H2 que ja
   existem no post_content (nunca escrito no post). */

.entry-content:has(.kb-legal){
	max-width:none !important;
}
.entry-content .kb-legal{
	max-width:none;
	width:100%;
}
.kb-legal{
	max-width:var(--container);
	width:100%;
	box-sizing:border-box;
	margin:56px auto;
	padding:0 24px;
	display:grid;
	grid-template-columns:270px minmax(0, 1fr);
	gap:56px;
	align-items:start;
}
.kb-legal__index{
	position:sticky;
	top:24px;
	background:var(--cinza-card);
	border-radius:var(--raio-card);
	padding:28px 24px;
}
.kb-legal__index-title{
	font-family:var(--fonte-base);
	font-size:13px;
	font-weight:700;
	letter-spacing:1.2px;
	text-transform:uppercase;
	color:var(--verde);
	margin:0 0 18px;
}
.kb-legal__index-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.kb-legal__index-list a{
	font-family:var(--fonte-base);
	font-size:14px;
	line-height:1.4;
	color:var(--cinza-texto);
	text-decoration:none;
}
.kb-legal__index-list a:hover{
	color:var(--verde);
	text-decoration:underline;
}
.kb-legal__body{
	font-family:var(--fonte-base);
	min-width:0;
}
.kb-legal__body h1{
	font-size:39px;
	font-weight:700;
	color:var(--preto);
	margin:0 0 12px;
}
.kb-legal__date{
	font-size:15px;
	color:#777 !important;
	margin:0 0 28px;
}
.kb-legal__highlight{
	background:var(--verde-claro-1);
	border-left:3px solid var(--verde);
	padding:20px 24px;
	margin:0 0 32px;
	border-radius:0 var(--raio-botao) var(--raio-botao) 0;
}
.kb-legal__body h2{
	font-size:22px;
	font-weight:700;
	color:var(--preto);
	margin:36px 0 16px;
	scroll-margin-top:24px;
}
/* G1-A1 (26/08/2026): header preso em 219px no desktop (F2) deixou os
   alvos das ancoras do indice lateral escondidos atras dele -- medido
   antes da correcao: h2 pousa em ~24px, sob o header. So se aplica a
   partir de 783px (mesmo breakpoint do header.css onde o header vira
   position:sticky); mobile nao tem header preso e fica intocado. */
@media (min-width: 783px){
	.kb-legal__body h2{ scroll-margin-top:243px; }
	.kb-legal__index{ top:243px; }
}
.kb-legal__body p{
	font-size:16.5px;
	line-height:1.78;
	color:var(--preto);
	max-width:74ch;
	margin:0 0 18px;
}
.kb-legal__body ul,
.kb-legal__body ol{
	max-width:74ch;
	font-size:16.5px;
	line-height:1.78;
	padding-left:1.4em;
	margin:0 0 18px;
}

@media (max-width: 900px){
	.kb-legal{
		grid-template-columns:minmax(0, 1fr);
	}
	.kb-legal__index{
		position:static;
	}
}

/* Tabelas do conteudo juridico (Bloco F1) podem ter linhas mais largas
   que 74ch — evita que estourem a coluna em vez de rolar internamente. */
.kb-legal__body .wp-block-table{
	max-width:100%;
	overflow-x:auto;
}
.kb-legal__body table{
	width:100%;
	border-collapse:collapse;
}
.kb-legal__body table th,
.kb-legal__body table td{
	padding:10px 14px;
	border:1px solid var(--cinza-borda, #e0e0e0);
	text-align:left;
	font-size:15px;
}
