/**
 * Niveles en tarjetas (3 columnas).
 *
 * Diseño de la captura de Revby. Colores: oscuro #183132, menta #E3FCEF,
 * verde #6EE7B1, etiqueta #33FAA1 (blanca en la tarjeta verde).
 */

.rvb-niv.rvb-niv {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(56px, 7vw, 100px) clamp(16px, 4vw, 40px);
	overflow: visible;
	background: var(--rvb-niv-bg, #fff);
	color: #282827;
	font-family: 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.rvb-niv .rvb-niv__wrap {
	max-width: 1180px;
	margin: 0 auto;
}

/* ---------- Encabezado ---------- */

.rvb-niv .rvb-niv__head {
	margin: 0 auto clamp(36px, 5vw, 64px);
	text-align: center;
}

.rvb-niv .rvb-niv__title {
	margin: 0;
	padding: 0;
	font-family: 'Raleway', 'Segoe UI', system-ui, sans-serif;
	font-size: clamp(2rem, 3.6vw, 3.1875rem);
	font-weight: 800;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: -0.005em;
	text-transform: none;
	color: #183132;
}

.rvb-niv .rvb-niv__intro {
	max-width: 52rem;
	margin: clamp(14px, 1.8vw, 20px) auto 0;
	padding: 0;
	font-size: clamp(0.9375rem, 1.2vw, 1rem);
	line-height: 1.6;
	color: #282827;
}

/* ---------- Tarjetas ---------- */

.rvb-niv .rvb-niv__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rvb-niv .rvb-niv__item {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rvb-niv .rvb-niv__card {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
	box-sizing: border-box;
	min-height: clamp(300px, 29vw, 380px);
	padding: clamp(24px, 3.2vw, 40px);
	border-radius: 10px;
	background: #e3fcef;
	color: #183132;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.rvb-niv .rvb-niv__card--oscuro {
	background: #183132;
	color: #fff;
}

.rvb-niv .rvb-niv__card--verde {
	background: #6ee7b1;
}

@media (hover: hover) {
	.rvb-niv .rvb-niv__card:hover {
		transform: translateY(-6px);
		box-shadow: 0 22px 44px -26px rgb(24 49 50 / 0.5);
	}

	.rvb-niv .rvb-niv__card:hover .rvb-niv__icono {
		transform: scale(1.08) rotate(-4deg);
	}
}

.rvb-niv .rvb-niv__icono {
	display: block;
	width: clamp(36px, 3.4vw, 44px);
	height: clamp(36px, 3.4vw, 44px);
	transform-origin: 30% 70%;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.rvb-niv .rvb-niv__icono svg {
	display: block;
	width: 100%;
	height: 100%;
}

.rvb-niv .rvb-niv__nombre {
	margin: 0 0 clamp(14px, 1.6vw, 18px);
	padding: 0;
	max-width: 14em;
	font-family: 'Raleway', 'Segoe UI', system-ui, sans-serif;
	font-size: clamp(1.25rem, 1.95vw, 1.5rem);
	font-weight: 600;
	font-style: normal;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
}

.rvb-niv .rvb-niv__badge {
	margin: 0 0 clamp(18px, 2.2vw, 26px);
	padding: 0;
	line-height: 1;
}

.rvb-niv .rvb-niv__badge-in {
	display: inline-block;
	padding: 8px 12px;
	background: #33faa1;
	font-family: 'Raleway', 'Segoe UI', system-ui, sans-serif;
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	font-weight: 700;
	line-height: 1.15;
	color: #183132;
}

.rvb-niv .rvb-niv__card--verde .rvb-niv__badge-in {
	background: #fff;
}

.rvb-niv .rvb-niv__num {
	font-variant-numeric: lining-nums tabular-nums;
}

.rvb-niv .rvb-niv__texto {
	margin: 0;
	padding: 0;
	font-size: clamp(0.875rem, 1.15vw, 1rem);
	line-height: 1.6;
	color: inherit;
}

@media (max-width: 860px) {
	.rvb-niv .rvb-niv__grid {
		grid-template-columns: 1fr;
	}

	.rvb-niv .rvb-niv__card {
		min-height: 0;
		gap: 36px;
	}

	.rvb-niv .rvb-niv__nombre {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rvb-niv .rvb-niv__card,
	.rvb-niv .rvb-niv__icono {
		transition: none;
	}
}
