/*
 * Estilos de IBP Recursos.
 * No se fijan colores ni tipografías propias: todo hereda del tema activo
 * (texto, enlaces y botones .elementor-button toman el estilo global de Elementor).
 */

.ibp-recursos-lista {
	display: flex;
	flex-direction: column;
	gap: 1.25em;
}

.ibp-recurso-item {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	padding: 1.25em;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1.25em;
}

.ibp-recurso-miniatura {
	flex: 0 0 180px;
	width: 180px;
}

.ibp-recurso-imagen {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}

.ibp-recurso-contenido {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	min-width: 0;
}

@media (max-width: 600px) {
	.ibp-recurso-item {
		flex-direction: column;
	}
	.ibp-recurso-miniatura {
		width: 100%;
		flex-basis: auto;
	}
}

.ibp-recurso-cabecera {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5em;
	font-size: 0.85em;
	opacity: 0.75;
}

.ibp-recurso-seccion {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ibp-recurso-titulo {
	margin: 0;
	line-height: 1.3;
}

.ibp-recurso-resumen {
	font-size: 0.95em;
	opacity: 0.85;
}

.ibp-recurso-acciones {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	padding-top: 0.5em;
}

.ibp-recurso-boton {
	display: inline-block;
	text-decoration: none;
}

.ibp-recursos-vacio {
	opacity: 0.7;
}

.ibp-recurso-actual {
	border-width: 2px;
	border-color: currentColor;
	box-shadow: 0 0 0 1px currentColor inset;
}

.ibp-recurso-badge-actual {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
