/* Tabla índice — 3 o 4 columnas con número, título y descripción. Estilos propios: solo dependen del sistema de diseño base. */
.cca-v2 .cca-v2__index {
	--cca-v2-index-line: rgb(0 0 0 / 20%);
	scroll-margin-top: 100px;
	overflow-wrap: anywhere;
}
.cca-v2 .cca-v2__index--gray {
	--cca-v2-surface: var(--cca-v2-gray-200);
	--cca-v2-ink: #000;
	color: var(--cca-v2-ink);
	background: var(--cca-v2-surface);
}
.cca-v2 .cca-v2__index.cca-v2--dark {
	--cca-v2-index-line: rgb(255 255 255 / 30%);
}
.cca-v2 .cca-v2__index-items {
	display: grid;
	gap: 40px 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cca-v2 .cca-v2__index--cols-3 .cca-v2__index-items {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cca-v2 .cca-v2__index--cols-4 .cca-v2__index-items {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cca-v2 .cca-v2__index-item {
	min-width: 0;
	min-height: 177px;
	padding-top: 12px;
	padding-bottom: 20px;
	border-top: 1px solid var(--cca-v2-index-line);
}
.cca-v2 .cca-v2__index-item p {
	margin: 0;
}
.cca-v2 .cca-v2__index-number {
	font-family: var(--cca-v2-font-mono);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
}
.cca-v2 .cca-v2__index-item .cca-v2__index-title {
	margin-top: 20px;
	font-family: var(--cca-v2-font-headline);
	font-size: var(--cca-v2-type-subheadline);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.01em;
}
/* 3 columnas: el título pasa al tamaño de titular 3 (hasta 70px). */
.cca-v2 .cca-v2__index--cols-3 .cca-v2__index-item .cca-v2__index-title {
	font-size: var(--cca-v2-type-h3);
	line-height: 0.95;
}
.cca-v2 .cca-v2__index-item .cca-v2__index-description {
	margin-top: 20px;
	color: var(--cca-v2-gray-800);
	font-weight: var(--cca-v2-weight-light);
}
/* 4 columnas: sin padding debajo de la descripción (en móvil se mantiene el de abajo). */
@media (min-width: 768px) {
	.cca-v2 .cca-v2__index--cols-4 .cca-v2__index-item {
		padding-bottom: 0;
	}
}
@media (max-width: 1099px) {
	.cca-v2 .cca-v2__index--cols-4 .cca-v2__index-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
  .cca-v2 .cca-v2__index-item { min-height: 0; padding-bottom: 12px; }
  .cca-v2 .cca-v2__index-item :is(.cca-v2__index-title, .cca-v2__index-description) { margin-top: 12px; }
	.cca-v2
		:is(.cca-v2__index--cols-3, .cca-v2__index--cols-4)
		.cca-v2__index-items {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 12px;
	}
}
