/* RF Categorías Home — front */
.rf-cat-grid {
	--rf-azul: #1a96d4;
	--rf-azul-hover: #0f7cb3;
	--rf-borde: #d4ecf7;
	--rf-cols: 3;
	--rf-texto: #222;
	display: grid;
	grid-template-columns: repeat(var(--rf-cols), minmax(0, 1fr));
	gap: 40px 32px;
	width: 100%;
}
.rf-cat-item { display: flex; flex-direction: column; min-width: 0; }
.rf-cat-grid .rf-cat-titulo { margin: 0 0 14px; padding: 0; font-size: 22px; font-weight: 600; line-height: 1.25; }
.rf-cat-grid .rf-cat-titulo a { color: var(--rf-azul) !important; text-decoration: none !important; }
.rf-cat-grid .rf-cat-titulo a:hover { color: var(--rf-azul-hover) !important; }
.rf-cat-card {
	flex: 1; display: flex; align-items: center; gap: 20px;
	min-height: 185px; padding: 20px 18px; background: #fff;
	border: 4px solid var(--rf-borde); border-radius: 14px; box-sizing: border-box;
	transition: box-shadow .2s ease, transform .2s ease;
}
.rf-cat-card:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
.rf-cat-grid .rf-cat-img { flex: 0 0 30%; display: flex; align-items: center; justify-content: center; }
.rf-cat-grid .rf-cat-img img {
	display: block; width: 100%; height: auto; max-height: 140px;
	object-fit: contain; margin: 0; border-radius: 0; box-shadow: none;
	transition: transform .25s ease;
}
.rf-cat-card:hover .rf-cat-img img { transform: scale(1.04); }
.rf-cat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; height: 100%; }
.rf-cat-grid .rf-cat-texto { margin: 0; color: var(--rf-texto); font-size: 15px; line-height: 1.6; }
/* Botón blindado contra estilos globales de Elementor / tema */
.rf-cat-grid a.rf-cat-btn,
.rf-cat-grid a.rf-cat-btn:visited {
	align-self: flex-end; display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 20px; margin: 0;
	background: var(--rf-azul) !important; color: #fff !important;
	border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
	font-size: 15px; font-weight: 600; line-height: 1.2;
	text-decoration: none !important; text-transform: none !important; white-space: nowrap;
	transition: background-color .2s ease;
}
.rf-cat-grid a.rf-cat-btn:hover,
.rf-cat-grid a.rf-cat-btn:focus { background: var(--rf-azul-hover) !important; color: #fff !important; }
.rf-cat-grid a.rf-cat-btn svg { flex: 0 0 auto; transition: transform .2s ease; }
.rf-cat-grid a.rf-cat-btn:hover svg { transform: translateX(3px); }

@media (max-width: 1024px) {
	.rf-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
}
@media (max-width: 640px) {
	.rf-cat-grid { grid-template-columns: 1fr; gap: 28px; }
	.rf-cat-grid .rf-cat-titulo { font-size: 19px; }
	.rf-cat-card { min-height: 0; padding: 16px 14px; gap: 14px; }
	.rf-cat-grid .rf-cat-img { flex-basis: 28%; }
	.rf-cat-grid a.rf-cat-btn { padding: 9px 16px; font-size: 14px; }
}
